Что должен знать каждый программист / Skillbox Media
#подборки
- 16
Чтобы писать логичный и полезный код, нужно не только быть хорошим программистом, но и разбираться во многих других вещах.
Vkontakte Twitter Telegram Скопировать ссылкуЕвгений Кучерявый
Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Изучить популярный язык или даже несколько недостаточно, чтобы стать программистом. Чтобы создавать сайты, приложения, ПО, игры, да и вообще хоть
что-то, необходимо разбираться в науках и языках. Их не так уж и много, но погружение занимает даже больше времени, чем изучение какого-нибудь PHP или еще чего-то попроще.
Если вы пишете на 1С, сразу переходите к следующему пункту. Ну а всем остальным знание английского языка пригодится, чтобы:
- лучше понимать код;
- читать мануалы;
- взаимодействовать с иностранными заказчиками.
Кроме того, английский язык позволит задавать вопросы на зарубежных форумах и stackoverflow — это иногда единственный способ получить помощь, потому что на англоязычных ресурсах люди стараются помочь, в то время как на отечественных прежде всего поднимут на смех, спросят, зачем вам это нужно и для чего вообще вы пришли в программирование, и только потом, может быть, помогут.
Так что английский для IT-специалистов — мастхэв, иф ю вонт ту би э вери гуд программер. Но если вы не дружите с языками, не беда — знания терминов будет достаточно, чтобы нормально работать.
Полезная литература:
- English for Information Technology.
- Career path Software Engineering.
- Oxford English for Information Technology.
- Professional English in Use ICT.
- Check Your English Vocabulary for Computers and IT.
Нужно: всем.
Большинству программистов хватит умения выполнять простые операции и знания нескольких формул. Например, полезно разбираться в процентах — с их помощью можно создавать адаптивные интерфейсы, работать со звуком и прозрачностью. Вот образец того, как разработчик компьютерных игр может использовать математику:
<?
$hp = 500; //Оставшиеся очки здоровья
$hpMax = 1730; //Полное здоровье персонажа
$currHp = ($hp / $hpMax) * 100; //Сколько процентов осталось
echo "Здоровье: ".
$hp." / ".$hpMax." (".$currHp." %)"; //Вывод оставшегося здоровья
?>
Продвинутый уровень математики позволяет программисту писать сложные алгоритмы, которые применяются в графике, аналитике, сортировке, построении маршрутов и машинном обучении.
Полезная литература:
- Томас Кормен. «Алгоритмы: построение и анализ».
- Дональд Кнут. «Искусство программирования».
Нужно: всем.
Все программы построены на логике. Они получают какие-то данные, проводят вычисления и, в зависимости от результата, делают что-то еще. Например, вот пример кода акции в интернет-магазине:
$cost = $position['cost'];
$costMessage = "Цена: ".$cost;
if($position['type'] == $sale['type']) { //Проверяем, участвует ли этот тип товаров в акции
if($date <= $sale['last_date']) { //Проверяем, не прошел ли срок акции
$cost *= 0.
7; //Снижаем цену на 30%
$costMessage = "Старая цена: ".$position['cost']." | Новая цена: ".$cost." (Выгода 30%)";
}
}
echo $costMessage;
В коде две логических операции: первая проверяет, распространяется ли акция на товар, а вторая — не прошел ли срок ее действия. В зависимости от результата меняется цена и выводимое сообщение. Это банальный пример; в реальных программах логики очень много, поэтому в ней нужно разбираться хотя бы на базовом уровне.
Полезная литература:
- Непейвода Н.Н. «Прикладная логика».
- Владимиров Д. А. «Булевы алгебры».
Нужно: всем.
Если вы собираетесь заниматься аналитикой, то без статистики никуда. С ее помощью выявляются закономерности, которые помогают в исследованиях. Например, можно написать программу, которая определяет, какие статьи принесли больше всего трафика и почему. Для этого находятся все похожие случаи и сравниваются их показатели:
- день недели и время публикации;
- формат статьи;
- объем;
- затраты на рекламу;
- тема;
- автор;
язык;- количество ключей.
Также с помощью статистики и алгоритмов можно создать искусственный интеллект с машинным обучением — тогда программисту останется лишь подождать, когда ИИ сам найдет закономерности.
Полезная литература:
- Чарльз Уилан. «Голая статистика».
- Савельев В. «Статистика и котики».
Нужно: аналитикам, ученым, разработчикам ИИ.
В школах курс информатики состоит из примерно таких уроков:
- как включить компьютер;
- как выключить компьютер;
- как открыть/создать/удалить папку;
- как работать в MS Word;
- как писать программы на Pascal и HTML в тетради.
Программист, конечно, должен уметь все это, но информатика — это не только компьютерная грамотность: это наука об информации, ее сборе, хранении, передаче, обработке, шифровании и других операциях с данными. Знание может помочь как в написании кода, так и в его оптимизации. Поэтому в информатику нужно хотя бы немного погрузиться, а углубляться — только по желанию.
Полезная литература:
- Иванов Б.Н. «Дискретная математика. Алгоритмы и программы. Расширенный курс».
- Есипов А. «Информация и информационные технологии».
Нужно: желающим.
Так уж сложилось, что программы в основном пишутся, чтобы решать практические задачи обычных людей:
- найти ближайший магазин;
- решить домашку по математике;
- рассчитать стоимость строительства;
- отредактировать фотографию;
- создать 3D-модель;
- сохранить запись в базе данных;
- проанализировать статистику;
- перевести текст.
Чтобы успешно разрабатывать приложения для решения этих задач, нужно уметь справляться с ними самостоятельно. То есть если приложение предназначено для того, чтобы рисовать графики, то разработчик должен знать, как и зачем люди это делают, чтобы программа соответствовала требованиям пользователей. Иначе он не сможет создать ничего полезного.
Нужно: всем.
Последнее, но не по значению, — программирование. Тут не важен какой-то конкретный язык — важен сам подход. Необходимо понимать, как составляются приложения, для чего они нужны, как лучше решить ту или иную задачу и многое другое.
Поэтому перед тем, как углубляться в какой-то язык, нужно обучиться основам программирования. Это поможет по-новому взглянуть на разработку и научиться работать более осознанно и, следовательно, эффективно.
Читайте также:
Vkontakte Twitter Telegram Скопировать ссылку Курс для тех, кто мечтает о работе в IT, но не знает, с чего начать, или переживает, что ничего не получится. Мы поможем вам преодолеть все страхи и пройти весь путь к новой профессии: от выбора IT-направления до трудоустройства.
Узнать про курс
Научитесь: Профессия Разработчик Узнать большеMicrosoft сделала бесплатным сервис Loop — это аналог Notion c фишками на основе ИИ 24 мар 2023
Новая библиотека от NVIDIA ускоряет литографию процессоров в 40 раз 22 мар 2023
Выпустили нейросеть, которая генерирует видео по текстовому запросу 21 мар 2023
Понравилась статья?
Да
Программирование с нуля и основы программирования: как стать программистом
Константин Ботнарь Senior Research Scientist в Industrial Metagenomics,
Преподаватель Компьютерной школы Hillel.
Статьи Front-end IT сфера
Привет всем! Меня зовут Константин Ботнарь. Уже почти 8 лет преподаю программирование. А началось все, когда я был аспирантом и читал лекции своим ровесникам в одном из одесских вузов. Теперь преподаю в Компьютерной школе Hillel курсы программирования, веду курс о том, как стать айтишником с нуля.
Хочу немного развеять мифы вокруг самой востребованной профессии 21 века и рассказать, кто такие программисты и чем они занимаются.
Выпускники выходят в свободное плавание
Тыжпрограммист, или Что такое особый склад ума
Пожалуй, это самый распространённый миф. Говорят разное: что у программистов как-то по-другому устроен мозг, что они – отчуждённые и замкнутые. И без этого успешным профессионалом не стать.
Правда ли это? Отчасти. Но успешный программист не всегда обязан быть снобом. Что важно и нужно знать, чтобы выучиться на программиста:
- Уметь работать в команде.
Независимо от того, с чего начинать: веб-программирование, создание мобильных приложений, верстка и многие другое – это командная работа. Поэтому без этого – никуда.
- Понимать, что такое приоритет и как правильно его расставлять. Даже в самой престижной компании программистам часто падают задачи в стиле «Сделай сейчас, а это еще вчера нужно было, а вот здесь – быстро и только подправить». Структурирование задач – один из важнейших навыков крутого проггера.
- Обладать феноменальной усидчивостью. Нет, в офисе от звонка и до звонка сидеть не придётся, а вот проводить много времени за ноутбуком или компьютером – точно. Именно поэтому айтишников и считают нелюдимыми: просто пока все отдыхают, большинство из них предпочитает поработать.
- Не бояться совершенствоваться и учиться новому. Языки программирования устаревают, нужно учить новые, мобильные приложения создаются на новых платформах, каждый день появляются десятки сервисов. Если хочется стать хорошим программистом – нужно быть гибким и готовым прокачивать свои навыки.
- Любить свой компьютер. Здесь и добавить больше нечего. Ваша машина – это основной рабочий инструмент.
Уже эти навыки могут принести стабильный и неплохой доход. А что если добавить сюда еще профессиональные навыки и образование?
Что нужно знать программисту
Удивительно, но роль математики в жизни проггера сильно переоценена. Да, эта наука – базовая, и знание вышмата может стать хорошим фундаментом для построения успешной карьеры. Но это далеко не главное, с чего нужно начать изучение программирования и выбрать обучение java. Даже без математических знаний и технической базы можно построить карьеру крутого программиста. В процессе обучения в компьютерной школе можно получить абсолютно все знания, реально необходимые хорошему специалисту, чтобы войти в IT c нуля.
Рекомендуем курс по теме
- Java Basic basic
Будущие программисты
В деталях – истина
Карьера в IT – это большой труд, с которым можно справиться только обладая высокой внимательностью. Есть множество сфер, где усидчивость также важна – это хирургия, ювелирное дело, различные измерения. Но в программировании этот навык практически базовый.
Самодисциплина, внимательность и трудолюбие – вот три кита, на которых стоит карьера успешного программиста во всемирно известной компании. Просто так сидеть за ноутбуком не получится, как и скролить ленту в социальных сетях, ставить лайки и смотреть видео.
К чему нужно быть готовым, начиная работать программистом:
- Даже простые задачи иногда требуют огромного количества времени. Конечно, потом их можно будет решать гораздо быстрее, но поначалу придётся очень напрягаться для поиска решения проблемы.
- Как программировать – важно не не упасть, а суметь подняться. Любая неудача на пути, слетевший код, пропуск переменной – это просто ступенька к успешному будущему. И даже если сайт лёг, то нельзя его бросить и просто уйти. Нужно поднять свой багаж знаний и опыта и найти ту самую переменную.
- С чего начать программирование: помнить, что с первого раза вряд ли получится.
Ни хороший сайт, ни удобное мобильное приложение, ни даже чат-бот. Ошибки в программировании – это абсолютно нормально, и я бы даже сказал, что полезно. Мои лучшие выпускники тратили на поиски решения и реализацию своих проектов по несколько сотен часов. И писали правильный код. Зато потом для них эта задача была чем-то сравнимым с ребусом в детских книгах.
Алгоритмы – это важно
Всё в программировании основывается на алгоритмах. Если в целом, то есть понятие декомпозиции. Это разбивка больших и сложных целей на маленькие подцели. Или максимальное упрощение поставленной задачи. В результате дробления проблема уже не кажется такой сложной, а её решение как будто лежит на поверхности.
Вот такое отношение к вещам называется алгоритмическим мышлением. Узнали себя? Поздравляем! Тогда путь программиста с нуля – как раз для вас! Осталось только добавить необходимых знаний и опыта.
Но часто значение алгоритмов и умение их правильно составить просто недооценивают. Как пример, попробуйте составить алгоритм для уборки в квартире или приготовления кофе. А теперь представьте, что в программировании абсолютно для любой задачи потребуется готовить десятки команд и условий, иначе они просто не будут выполняться.
Далеко не все мыслят вот такими алгоритмами. Кто-то визуализирует образы, другие представляют абстрактные модели. Они, конечно, могут составить алгоритм, но это будет плодом долгой и упорной работы, но никак не таланта и естественной природы их мозга. В таком случае, может, есть смысл найти себя в профессии, связанной с творчеством или коммуникациями?
Программист: ожидание и реальность
Как стать программистом – это стать командным игроком. Часто айтишнику нужны помощники, единомышленники, поддержка. В рабочей среде он постоянно находится в контакте с заказчиком, готовит тестовые задания, утверждает их.
В сфере IT одиночке выжить не так-то просто. Помните, чем раньше сможете выйти из своей комнаты и продать свой проект, тем быстрее поднимитесь по карьерной лестнице.
В программировании самое сложное – начать, поэтому хочу будущим web-программистам дать простой, но очень значимый и важный совет: не бойтесь новых начинаний.
- Никто не встал и не написал сайт за один день.
- Нет тех, кто сейчас зарабатывает миллионы, используя старые знания.
- Для самосовершенствования нужно немного: быть собой и совершенствоваться.
Каждый проект – новая среда, неизученные задачи, обновлённая команда. Можно, конечно, отступить. Но тогда нельзя стать IT-гуру. Окунитесь в этот опыт, почерпните из него что-то новое для себя, наберитесь опыта и знаний.
В программировании не выйдет выезжать на знаниях, полученных 10 лет назад. Слишком подвижная среда. И слишком большой спрос на динамичных и гибких профессионалов. Поэтому желаю всегда держать руку на пульсе и соответствовать времени, в котором хотите работать.
Занимайтесь любимым делом
Банально, но без этого никак. Программирование – это то, что должно вызывать у вас дрожь в коленках и желание закончить выходные и приступить к работе. Ведь если вы не будете восхищаться своим трудом, то как тогда создадите шедевр? Хороший программист оставляет в проекте частичку себя. Не только время или знания, но и немного любви к общему делу.
Поэтому если для вас программирование – это просто хорошая работа с отличной перспективой, лучше не тратьте своё время, силы и деньги впустую. Подыщите что-то другое – дело, которое сумеет стать важной частью вашей жизни. Неотъемлемой частью.
Примечание: а если ваш ребенок интересуется программированием, курс Python для школьников будет полезен!
13 навыков, которыми должен обладать каждый ИТ-специалист
Независимо от того, в какой области ИТ вы работаете, есть несколько навыков, которые полезно знать каждому ИТ-специалисту. Здесь семь опытных ИТ-специалистов, работающих в области сетей, программирования, управления проектами и безопасности, делятся тем, что, по их мнению, является наиболее важными навыками, которыми должен обладать каждый ИТ-специалист.
1. Программирование
Даже если ваша работа не требует разработки программного обеспечения, полезно понимать, как создаются приложения, потому что все, что мы делаем — от отслеживания каналов Twitter до заполнения форм расходов — обеспечивается программным обеспечением. ИТ-специалисты с академическим образованием в области компьютерных наук, скорее всего, занимались программированием в рамках своего образования. Для других существует множество способов изучения программирования.
Мартин Харви, PMP, управляющий консультант Coroware, говорит: «Я бы порекомендовал изучить любой язык на основе C. Это довольно распространенный язык, который можно найти в платформах Microsoft и Java, но он не тривиален. На другом конце спектра есть более интерпретирующие языки, такие как Visual Basic и Python. С макросами Visual Basic и Excel на вашем ПК легко возиться. Вы узнаете об основах программирования и логике того, как данные хранится».
2. Уроки из книги «Мифический человеко-месяц»
Издатель Addison-Wesley Professional описывает книгу «Мифический человеко-месяц» как «влиятельную и вневременную». Первоначально опубликованная в 1975 году, автор Фред Брукс делится своим опытом работы в качестве руководителя проекта для семейства компьютеров IBM System/360, а затем для OS/360, своей массивной программной системы. Брукс допустил несколько ошибок, в том числе добавил больше рабочих к проекту, отстающему от графика, и недооценил время, необходимое для завершения проекта. Книга была переиздана в 1995 с новыми мыслями и советами от Брукса. Харви говорит: «Это похоже на 100 вещей, которые ваша мать рассказала вам. Я все еще делал некоторые ошибки после ее прочтения. Но если вы прочитаете книгу, возможно, вы не будете делать ошибок или поймете, что делаете их, и узнаете когда нырнуть».
3. Понимание основ работы в сети
«Сеть — это то, как все соединяется, и каждый ИТ-специалист должен знать, как это происходит», — говорит Джордж Мортон, обладатель двух сертификатов CCIE (сертифицированный эксперт Cisco по межсетевым сетям). Мортон говорит, что ИТ-специалисты должны изучить и понять следующее:
- Кто такие Cisco, Juniper и т.
д. и что они предлагают. «Знание о том, что Dell производит коммутаторы, не поможет вам добиться успеха», — говорит Мортон.
- TCP/IP и IP-адресация
- Преобразование сетевых адресов и преобразование адресов портов
- IPv6. «Это грядет, и чем раньше вы окажетесь на борту, тем лучше для вашей карьеры», — говорит Мортон.
- IP-телефония: пакетная и коммутируемая
- Что такое маршрутизаторы, коммутаторы и брандмауэры?
- Конфигурация базового списка доступа для Cisco
- Для чтения текущей конфигурации Cisco IOS; не так, чтобы вы администрировали маршрутизатор, а просто понимали, что он делает или не делает для вас.
- Ознакомьтесь с рекомендациями Агентства национальной безопасности по обеспечению безопасности вашей сети.
Мортон рекомендует несколько книг:
- Cisco Networking Simplified — первоклассное введение в работу с сетями
- Поваренная книга Cisco IOS, второе издание.
Эта книга должна быть на столе каждого ИТ-менеджера. Я использую его для создания некоторых из самых сложных сетей в мире. Почему? Он легко читается, создает стандарты для клиента и охватывает почти все, что мне нужно.
- JUNOS Cookbook и ScreenOS Cookbook
4. Ознакомьтесь с передовыми методами обеспечения безопасности в рамках вашей ИТ-дисциплины очень важно, чтобы эти ресурсы оставались высокодоступными и безопасными. Джейми Хири, CCIE, инженер-консультант по системам безопасности в Cisco, объясняет: «Выбранная вами ИТ-дисциплина без исключения будет сопряжена с рисками безопасности. лучшие практики заключаются в снижении этих рисков.Вы также должны понимать компромисс между риском и выгодой, чтобы принимать правильные бизнес-решения и применять надлежащее количество мер безопасности.Слишком много безопасности так же плохо, как и слишком мало. Высокий уровень безопасности может привести к тому, что пользователи сочтут ваши ИТ-услуги непригодными для использования.

«Для сетевой безопасности вы можете реализовать элементы управления безопасностью, такие как брандмауэры, виртуальные частные сети (VPN), системы обнаружения/предотвращения вторжений (IDS/IPS) и т. д. Для безопасности Windows Server вы можете реализовать такие элементы управления, как надежные пароли, пароли с истекающим сроком действия, шифрование диска, антивирус и т. д. Для обеспечения безопасности электронной почты вы можете внедрить механизмы защиты от спама, вирусов и вредоносных программ, которые очищают почту перед доставкой. Каждая ИТ-дисциплина будет иметь свой собственный набор передовых методов обеспечения безопасности, которые следует принять, чтобы снизить риск скомпрометирован хакером».
5. Преимущества и предостережения от капиталовложений
ИТ — это капиталоемкий бизнес, и все ИТ-специалисты должны понимать процесс капиталовложений, — говорит Майкл Моррис, CCIE, CCDE (сертифицированный эксперт по дизайну Cisco), менеджер по коммуникациям в высокотехнологичной компании стоимостью 3 миллиарда долларов.
Он говорит: «ИТ делают огромные капитальные вложения. Капитальные вложения — это покупки (серверы, сетевое оборудование, программные приложения), которые покупаются за наличные, но классифицируются как активы. Фактическая «стоимость» этих покупок не возникает немедленно. Вместо этого эти затраты относятся на расходы в виде амортизации, как правило, в течение трех лет. Это дает ИТ-организации возможность покупать оборудование сейчас, но не оказывает существенного влияния на итоговую прибыль компании. Это хорошо, потому что компании могут получить то, что им нужно немедленно.
“Проблема в том, что эти расходы (амортизация) теперь являются “постоянными затратами”, и их нельзя избежать. Каждый квартал часть стоимости нового сервера, который вы купили год назад, будет учитываться в бухгалтерских книгах (как в ИТ-бюджете, так и в расходы компании). Если экономическая ситуация ухудшается (звучит знакомо?), этих затрат нельзя избежать, поэтому компании должны найти другие затраты, чтобы сократить их.
“Капитальные расходы – это уравновешивание. Это необходимо и обеспечивает отличный способ распределения затрат, но может привести к трудным ситуациям, когда необходимо сделать трудный выбор» 9.0003
6. IP-адресация
В основе почти всех онлайн-коммуникаций сегодня лежит Интернет-протокол (IP). В основе IP-коммуникаций лежит IP-адресация. Джейми Хири объясняет: «Знание того, как работает IP-адресация, является важным знанием для любого ИТ-специалиста. Каждому хосту, серверу, маршрутизатору, брандмауэру и сетевому устройству должен быть назначен хотя бы один IP-адрес, чтобы он мог взаимодействовать с другими сетевыми хостами/устройствами. , Если вы неправильно назначите IP-адреса, устройство не только не сможет «разговаривать» в сети, но вы также можете нанести вред существующим сетевым устройствам.
“IP-адрес — это числовая 32-битная схема нумерации, используемая протоколом IP для определения того, где что-то находится. Во многих отношениях IP-адрес аналогичен вашему домашнему адресу. Например, чтобы отправить письмо кому-то, я сначала Поместите свой обратный адрес в конверт, а затем я поместил их домашний адрес в конверт. Поле исходного IP-адреса в IP-пакете точно такое же, как и обратный адрес в конверте. Оно определяет, кто отправил или отправляет пакет данных. Пункт назначения Поле IP-адреса в IP-пакете подобно домашнему адресу на конверте: оно определяет, кому я хочу отправить пакет данных.0003
“IP-адрес представлен в десятичной записи с точками: четыре числа от 0 до 255, разделенные десятичной точкой (172.16.1.200). Сам IP-адрес разбит на две части: сетевой адрес и адрес хоста. . Сетевой адрес очень похож на почтовый индекс на конверте, он определяет общую область для доставки сообщения. Часть адреса хоста в IP-адресе очень похожа на номер дома и адрес на конверте, в какое именно место доставить сообщение.
Почтовое отделение быстро сортирует почту по почтовому индексу и отправляет ее в местное почтовое отделение с почтовым индексом, где номер дома и т. д. затем анализируется и передается нужному почтальону для доставки в нужный дом. В IP работа почтового отделения выполняется посредством IP-маршрутизации. Он просматривает сетевую часть (также называемую подсетью) IP-адреса и доставляет пакет данных в основное местоположение или подсеть.
Оказавшись в подсети, коммутатор берет на себя управление (действуя как почтальон) и доставляет пакет данных на хост, используя хостовую часть IP-адреса. IP-адреса узлов должны быть уникальными для каждого устройства в данной подсети. По тем же причинам у вас не может быть двух адресов «12 East Lane Rd, Tinytown, NY 22121», у вас также не может быть дублирующихся IP-адресов. Если бы вы это сделали, не было бы способа однозначно определить, кому доставить сообщение.
Примечание: Существует вещь, называемая трансляцией сетевых адресов в IP, которая помогает решить эту проблему, но это тема для другого обсуждения.
7. Perl и Tcl
Джимми Рэй Персер, сетевой инженер Cisco и технический соведущий Cisco TechWise и BizWise TV, считает, что все ИТ-специалисты должны понимать и уметь писать простые сценарии Perl или Tcl. «Весь мир сетей открывается ИТ-специалисту, который может написать даже самый простой сценарий». Этому легче научиться, чем IP-подсети, и в Интернете есть много отличных бесплатных ресурсов для изучения», — говорит он. Он указывает на два полезных ресурса: Perl-скрипты 101 и Tcl-скрипты 1019.0003
8. Использование модели OSI для устранения неполадок в сети
Сети построены на эталонной модели OSI (Взаимодействие открытых систем) — семиуровневом стеке, в котором управление передается от одного уровня к другому. Понимание этой модели позволит вам лучше устранять проблемы с сетью, как объясняет Майкл Паттерсон, соучредитель компании по мониторингу сети Plixer International. Ниже Паттерсон сопоставляет семь уровней с соответствующими вопросами по устранению неполадок.
- Физический уровень: Вы понимаете топологию? Подключен ли пользователь к сети?
- Канальный уровень: Может ли технический специалист использовать анализатор пакетов, такой как Wireshark?
- Сетевой уровень: Понимает ли технический специалист логику IP и маски подсети? Как пакет маршрутизируется в корпоративной сети?
- Транспортный уровень: Как работает TCP (протокол управления передачей) по сравнению с.
UDP (протокол пользовательских дейтаграмм)? Это пакет ARP (протокол разрешения адресов) или IP-кадр?
- Сеансовый уровень: Может ли пользователь подключиться к серверу или пропинговать его? Каково время бездействующих подключений?
- Уровень представления: Понимает ли технический специалист базовый код HTML, SNMP и ASN.1?
- Прикладной уровень: Технический специалист может не разбираться в приложении, но он должен понимать, как приложения могут влиять на сеть.
Технический специалист также должен уметь настраивать NetFlow на оборудовании Cisco или стандартный отраслевой протокол sFlow для сбора данных о трафике в аналитических целях.
9. Анализ пакетов
Прежде чем использовать анализатор пакетов — инструмент сетевого мониторинга для устранения сетевых неполадок — узнайте, как его настроить. «Это означает понимание влияния NIC (контроллера сетевого интерфейса) на точность и производительность; когда использовать порт SPAN (анализатор коммутируемых портов) через TAP (тестовую точку доступа) и наоборот; и когда TCPDump/Tetheral через Wireshark», — говорит Джимми Рэй Персер. Вам нужно будет разобраться в различных параметрах запуска и в том, как настроить Berkeley Packet Filters для очистки потока пакетов, добавляет он.
10. Google — ваш друг
Эксперт по ИТ-инфраструктуре Рокко (он не хотел раскрывать свое полное имя) говорит: «Не бойтесь просить о помощи». Часто Google — ваш лучший друг. Рокко говорит: «Мне очень трудно запоминать аббревиатуры. Быстрая ссылка на текущий список всегда полезна (погуглите!). Например, я давно работаю над веб-инфраструктурой и знаю все компоненты. Парень по развитию бизнеса попросил меня настроить сервер LAMP для тестирования. Вот как я помню определение LAMP:
“L – Linux. Я больше не настраиваю Windows-серверы, поэтому, конечно, это будет Linux
A- Apache. Давай-ка, представь себе. Есть ли действительно альтернатива Apache?
M – MySQL. Ну да! Я не плачу за Oracle, если мне это действительно не нужно.
P – PHP. Прошло очень много времени с тех пор, как я устанавливал Apache без PHP».
Рокко добавляет: «Он мог бы попросить меня настроить веб-сервер и базу данных и получить мгновенный ответ, но вместо этого он выбрасывал аббревиатуры, которые, вероятно, не понимал».
11. Создайте хорошую презентацию PowerPoint
Все ИТ-специалисты — от вице-президентов до отдельных инженеров — должны уметь создавать логичные и визуально привлекательные презентации PowerPoint для общения с другими людьми, считает Майкл Моррис. И не думайте, что вам сойдут с рук черно-белые PPT со страницей за страницей маркеров. «Использование шаблона слайда вместе с правильными логотипами и цветами — это минимум», — говорит Моррис. «Правильное использование диаграмм, моделей и диаграмм также улучшит ваше сообщение и привлечет аудиторию». И помните, когда вы делаете презентацию кому-то, кто выше вас более чем на две позиции (например, ИТ-директору), вам нужно сократить презентацию до трех слайдов. «Если вы не можете уместить ее в три слайда, это слишком запутанно и слишком сложно для руководителя. Считайте себя экспертом в области PPT, если вы можете создать визуально привлекательную презентацию с правильными корпоративными логотипами и цветами, используя различные таблицы, диаграммы и модели всего в трех слайдах».
12. Держите свою электронную почту под контролем
Легко быть перегруженным почтовым ящиком, но отставание на 2000 писем в наши дни просто неприемлемо, говорит Майкл Моррис. «Для большинства компаний электронная почта является основным средством связи между людьми и особенно группами. Отставание на 2000 электронных писем и жалобы на то, что вы не можете наверстать упущенное, — плохое оправдание. Сегодня существуют фильтры, органайзеры, оповещения, веб-почта и эта новая штука называется BlackBerry. Следите за своей электронной почтой. Никаких оправданий».
13. Знайте, почему сетевые задержки плохи
Почти весь трафик, проходящий сегодня по сетям, включая Интернет, использует протокол управления передачей (TCP). TCP время от времени требует подтверждения (ACK) во время сеанса передачи данных. Когда TCP достигает точки, в которой он определяет, что необходим ACK, он прекращает отправку трафика и ожидает ACK от другого конца сеанса TCP. Только после получения ACK передача данных начинается снова.
Майкл Моррис объясняет: «В этой конфигурации, когда пользователь и сервер находятся рядом друг с другом (скажем, в одном здании), ACK приходит за очень короткое время (менее 1 мс). Это создает очень короткая пауза в сеансе передачи данных.Алгоритм TCP может увеличить скорость передачи данных почти до 1 Гбит/с.
“Однако, когда расстояние между пользователем и сервером велико, может потребоваться некоторое время, чтобы ACK достиг сервера. Для перехода из США в Индию по глобальной сети может потребоваться 300 мс (в 300 раз дольше, чем когда пользователь и сервер находятся в одном здании). Таким образом, пауза при передаче данных намного дольше. Алгоритмы TCP могут отправлять трафик только с гораздо меньшей скоростью, что влияет на производительность пользователя.
“Все ИТ-специалисты должны понимать эту простую парадигму. По мере увеличения задержки в сети скорость передачи данных резко падает. Помните об этом, когда ваши пользователи в Германии говорят, что сервер в Калифорнии по утрам работает медленно». 0003
Это ни в коем случае не исчерпывающий список всех навыков, которыми должны обладать ИТ-специалисты. Нам бы хотелось, чтобы вы подумали о том, какие еще навыки, по вашему мнению, необходимы сегодня.
Другие ресурсы:
- Лучшие практики операционной системы
- Книга: маршрутизация TCP/IP Том II
Гостевой автор: Линда Леунг
5. профессионал должен иметь Верх страницы
Сейчас хорошее время для технологий. Прогнозируется, что количество рабочих мест в сфере ИТ в Соединенных Штатах увеличится в течение следующих десяти лет, что откроет множество возможностей для квалифицированных специалистов. По данным Бюро статистики труда, к 2026 году количество должностей в сфере компьютерных и информационных технологий вырастет на 13 процентов.
Но на какие именно ИТ-навыки компании делают ставку в настоящее время и будут ли они такими же в будущем? По мере того, как технологии развиваются и все больше компаний переходят на цифровую трансформацию, какие основные навыки и знания необходимы ИТ-специалисту, чтобы оказывать влияние сейчас?
- Понимание безопасности
Кибербезопасность сегодня стала главным приоритетом в бизнесе.
Специалисты по безопасности пользуются спросом, и из-за значительного дефицита навыков найти помощь, необходимую для снижения рисков, сложно.
Согласно последнему исследованию рабочей силы в области кибербезопасности (ISC)², в Северной Америке, Латинской Америке, Азиатско-Тихоокеанском регионе (APAC), Европе, Ближнем Востоке и Африке (EMEA) не хватает почти 3 миллионов специалистов по кибербезопасности. .
При отсутствии специального отдела безопасности члены ИТ-команды могут оказывать влияние, имея представление об определенных навыках и областях кибербезопасности, включая анализ безопасности, управление идентификацией и доступом, сетевую безопасность, тестирование на проникновение и реагирование на инциденты. Получите больше информации о том, как добавить безопасности к вашему набору навыков в этой электронной книге.
- Знание новых технологий
Новые технологии изменят способы выполнения работы, а также создадут новые роли в будущем.
Интернет вещей, искусственный интеллект, машинное обучение и автоматизация — все это рассматривается как важные инвестиции для многих предприятий, поскольку они берут на себя инициативы по цифровой трансформации. Новые должности в сфере ИТ потребуют профессионалов, которые разбираются в IoT, машинном обучении и искусственном интеллекте.
Сообразительные ИТ-специалисты захотят обратить на это внимание уже сейчас, поскольку многие из этих новых технологий приведут к изменениям на рабочем месте. Без понимания того, как эта технология влияет на ИТ-инфраструктуру, некоторые могут обнаружить, что они остались позади, поскольку роли эволюционируют, включая навыки, связанные с новыми технологиями.
- Вера в важность развития
Навыки разработки — одни из самых востребованных в ИТ. Но хотя разработчики, как правило, выбирают свой собственный карьерный путь, любому специалисту в области ИТ важно понимать жизненный цикл разработки программного обеспечения и его влияние на ИТ-операции.
Также актуально появление DevSecOps в ИТ. Обеспечение безопасности с самого начала и на протяжении всего процесса разработки программного обеспечения приводит к более безопасному продукту, без необходимости добавлять ее в последнюю очередь после завершения разработки. Но для этого также требуется, чтобы большее количество членов ИТ-команды обладало некоторыми знаниями в области безопасности, разработки и эксплуатации.
- Знание ценности гибкости
Предприятия ценят ИТ-специалистов, которые могут быть гибкими и готовы взять на себя гибридные роли, требующие сочетания навыков. Стремясь быть более компактными и гибкими, организации ожидают, что ИТ-специалисты смогут использовать технические инструменты, анализировать данные, сотрудничать между командами и управлять проектами от начала до конца.
Согласно анализу Burning Glass Technologies, гибридные должности оплачиваются на 20-40% больше и составляют около 12% всех вакансий сегодня.