Чтобы войти в мир IT-технологий, нужно обладать фундаментальными знаниями, владеть конкретной технологией, по которой планируете работать, а также уметь применять на практике вспомогательные технологии. Это базовые вещи. Но есть и другие, без которых добиться успеха в IT-профессии будет сложно. Чтобы ими овладеть, вузовского образования недостаточно. IT-специалисту многое предстоит изучить самостоятельно, а также познать в процессе работы. Но обо всем по порядку.
1. Знание и умение работать по какой-то конкретной технологии
Если не умеете программировать и применять какую-то технологию, путь в разработку вам закрыт. Это спрашивают на собеседованиях в первую очередь. Независимо от сферы, в которой работаете (frontend, backend, etc), hard skills в конкретной технологии необходимы и неоспоримы.
Где получить и как развить?
В вузах, кружках, на курсах, в процессе работы или самостоятельного изучения, желательно по первоисточникам.
Университет дает фундаментальные знания (линейная алгебра, булева алгебра, динамическое программирование, дискретная математика и другие), которые, безусловно, нужны в профессии. Знание конкретной технологии, основ языка и прочее, они также могут дать. Но для работы в компании их необходимо актуализировать: самостоятельно, на специализированных курсах, кружках, open-source проектах и непосредственно на практике при разработке IT-решений.
2. Умение непрерывно учиться
Этот навык востребован в любой сфере, IT – не исключение. Если раньше выходил какой-то стандарт языка, он мог существовать 10-15 лет. Обрастал технологиями, библиотеками, но сам не менялся.
Сейчас в мире бэкенда по прошествии одного-двух лет (во фронтенде и вовсе через полгода) код, который считался каноничным, к таковым уже не относится. Его приходится изучать заново, анализировать и переписывать, даже если разработчик выбрал язык C++, который, казалось бы, не так быстро развивается. Сегодня и в этой технологии скорость изменений увеличилась и сравнялась с JavaScript-фреймворком.
Если вовремя не следить за обновлениями и, тем более, оперативно не внедрять их в работу, это в результате может сказаться на качестве программного решения и перспективе дальнейшего роста, как бы не печально это ни было
Где получить и как развить?
Здесь можно говорить не только про самостоятельное изучение. В IT-сфере не стоит пренебрегать и курсами. Существуют технологии, в которых очень высокий порог входа. Самостоятельно изучить, понять все фишки не получится, просто потому что о них нигде не написано. Рассказать об этих ключевых особенностях может только сторонний человек, ментор, преподаватель, который знает о технологии в теории, и использует ее на практике.
3. Soft skills для успешной работы в команде проекта
В начале новичку кажется, что от него требуется только решить задачу. Потом, что сделать это нужно правильно. Но позже оказывается, что в программировании важны еще и soft skills, особенно умение коммуницировать и взаимодействовать с коллегами, а также планирование, тайм-менеджмент и другие навыки для слаженной работы в команде. Это помогает достигать результатов по проекту и расти в IT-сфере.
Программирование сегодня – это, по сути, работа с бизнес-процессами заказчика, а решение задачи – написание хорошего кода и прочее – идет уже на следующих этапах. Для отладки процессов иногда бывает достаточно административных методов.
Где получить и как развить?
Самостоятельно и на курсах – все очень индивидуально, каждый выбирает свое.
4. Умение обмениваться опытом и учить других
Чтобы стать настоящим ниндзя в какой-либо технологии, важно научиться обмениваться опытом, передавать кому-то свои знания. Можно даже просто рассказывать собеседнику о том, что вы делаете. Это дает не только определенный смысл вашим действиям, но и развитие.
Более того, такой навык – важная часть работы. Есть даже антипаттерн «незаменимый сотрудник». Такой специалист рискует застрять в конкретном проекте до тех пор, пока он актуален, с крайне малой возможностью даже немного передохнуть. Если человек уходит в отпуск или из проекта, работа не должна останавливаться. В его отсутствие все продолжает функционировать, как часы, и все знают, как выполнять задачи.
Умение передавать опыт – очень важный навык, который однозначно поможет специалисту вырасти.
Где получить и как развить?
В процессе практической и преподавательской деятельности.
5. Владение английским языком
Не всем IT-специалистам нужно владеть разговорным английским, но для разработчика уровень свободного чтения и написания, знание грамматики языка и прочих моментов – must have.
Чтобы быть в курсе последних новинок, нужно читать в первоисточниках, в блогах, на форумах, в новостях, и все это, безусловно, будет на английском. Поэтому с определенного этапа и должности в IT-проектах, в международных однозначно, владение языком становится очень важным.
В IT-среде есть даже такая шутка: «Если в программировании вышла какая-то книга, это означает, что технология устарела. А если она вышла на русском – технология очень давно устарела».
Где получить и как развить?
Только на курсах и в процессе общения с носителями языка.
6. Умение находить и понимать основной принцип конкретной технологии
Отсутствие этой способности особенно заметно у новичков, которые нашли какой-то код, решающий поставленную задачу, но не осознали его сути.
Чтобы познакомиться с новой технологией и понять, как она работает, нужно выявить ее основной принцип, понять, чем руководствовались создатели. Важно смотреть на технологию и видеть задачи, вокруг которых она построена. Сейчас это особенно актуально. Технологий очень много, и применяются они иногда совсем не к месту.
Где получить и как развить?
В общении с членами профессионального сообщества, на конференциях и митапах, а также на специализированных курсах.
7. Практика чтения чужого кода
Это утомительная, но очень необходимая практика. Читать чужой код нужно много. Это помогает разобраться в стилях и потом работать в больших проектах.
Где получить и как развить?
Брать его можно или в рабочих проектах, или в open-source, или в преподавательской деятельности, проверяя задания студентов. У старших разработчиков обычно с этим проблем не возникает. Получить такую практику они могут в процессе code review, относясь к нему как к коду, у которого можно поучиться, а не просто вычитать и исправить.
8. Внутренняя готовность принять новое, и внедрить его в работу
Программирование – очень быстро развивающийся мир, особенно в области фронтенда. Если боитесь нового, рискуете остаться за бортом.
Иногда наступает такой момент, когда вроде бы применяете новые технологии, но внутренне не принимаете их: они для вас кажутся чужеродными, хипстерскими и не подходящими. Но пройдет время, и они станут зрелыми. А если вы их отвергали до этого момента, считайте и не программировали на них.
Необязательно cразу писать на них. Можно посмотреть, изучить основные принципы, преимущества и недостатки, а уже потом пробовать «подружиться» с этими новыми технологиями.
Где получить и как развить?
Экспериментировать в обычной жизни, чтобы убрать страх и неприятие, постепенно переводя эту практику и на работу.
9. Владение вспомогательными технологиями
Речь обо всем, что не касается языка программирования напрямую: средства командной работы (таск-трекеры и т. д.), системы контроля версий (Git и т. п.), базы знаний (confluence и пр.), знание горячих клавиш (хоткеев) вашей среды разработки, слепая печать на клавиатуре и многое другое. Все эти вспомогательные технологии просто необходимы.
Где получить и как развить?
Протестировать вспомогательные технологии можно самостоятельно и на курсах, но по-настоящему освоить получится только в рамках проектной работы. А вот знание хоткеев и навык слепого метода печати зависит от вас.
10. Навык работать хорошо
Если поставлена какая-то задача, ее нужно сделать хорошо и в срок. При этом еще и получать простое удовольствие от правильно выполненной задачи. Тогда и работа будет складываться.
Где получить и как развить?
Этот навык отрабатывается самостоятельно, в повседневной жизни и в практической деятельности.
Сегодня IT-компаниям приходится конкурировать за кадры не только между собой, но и с целым рядом отраслей, где бизнес активно комплектует команды разработчиков. Поэтому я уверен, что хороший IT-специалист, обладающий вышеперечисленными навыками, сможет рассчитывать на высокий уровень оплаты труда и всегда найдет достойное применение в профессии.
Читайте также:
Просто я настолько часто встречаюсь с мнением, что для перехода на новый уровень достаточно просто набирать релевантный опыт на текущем. Сегодня адаптировал менюшки по требованию заказчика, завтра определяешь требования к ядру ос.
Или что достаточно дать денег и любых специалистов можно найти и пригласить. Типа " щаз за 300 000р мы найдем специалиста который нам это сделает".
Нашел в интернете как мыслит программист-разработчик.
Он что-то проясняет?
Такого сорта определений бесконечное количество, но они заведомо слишком широкие и туманные для практического использования, особенно - в вольном переводе или официальных документах. Как там только не называют, к примеру, Интернет.
Евгений, спасибо, очень толковая статья, даже удивительно, что написана она в 1958 году! Кому-то "тогда" казалось очевидным, что возросшие возможности для быстрых вычислений и моделирования быстро перейдут на управленческий уровень, и что информационные технологии окажут огромное влияние на менеджмент среднего и высшего звена...
Ну, вот тут я хотел бы помечтать, чтобы как в материалах упомянутой выше статьи - ИТ не только и не столько передавал или манипулировал данными, а ещё и "приучал" бы руководителей использовать возможности моделирования для прогнозирования достижимости результатов и как следствие - принятия не импульсивных, а подкреплённых расчётами и воплощением в практической деятельности принятых решений... Пока что из российской практики вспоминается только "планшет Миллера" по цене космического корабля Илона Маска, и "глубоко обоснованный " проект "Северный поток-2"....
То есть я - за превращение ИТ из "умного калькулятора" в бизнес- навигатора, желательно (для нас) - в обозримой перспективе... А пока что можно отвесить низкий поклон IT за то, что в 2020 году уже был внедрён электронный документооборот, цепочки исполнения бизнес -процессов и возможность дистанционной работы со всеми корпоративными ресурсами, это позволило без проблем перейти к удалённой, дистанционной и прочим "распределённым" методам работы не пятнадцати процентам сотрудников, как было в доковидную эпоху, а почти шестидесяти процентам - кроме тех, кому нужно крутить конкретные винты и гайки, охнанять ценности и так далее...
А я пессимист - я не верю в успешное движение вверх по лестнице, где вместо очередной ступеньки зияет провал... Квантовые технологии подразумевают прецизионное оборудование, а кто же нам его даст? Сегодня и завтра - просто НИКТО...
такого рода теории, модели, методы, аппарат и все остальное разрабатываются и улучшаются десятилетиями, и мы ими ежедневно пользуемся - так или иначе.
Но IT не может заодно и выполнить эти решения, даже если (!) они были лучшими из возможных, когда их принимали. А уж перепроверить неправильные данные, полученные из одного источника - тут извините. Руководители тоже должны работать, хоть их и не втыкают в розетку.
По сути, подобные по сложности задачи решались десятки лет назад, хотя связь тогда была аналоговой. Это пока не революция, скорее, накопление изменений.
Пример подтверждает трюизм: "Кто хочет - ищет ресурсы, кто не хочет - причины". Вывод - программисты - бездельники. А в условии пропущено ключевое слово "их" (пп. 1-2). П.3 - да, 8 букв, но тогда Буратино трансверстит. П.4 - лучше ответит Любовь Гвоздилина, хотя и ежу понятно, что такое "отдача" - это взаимоотношение. П.5 - "Все, что осталось, - все мое. И, наконец, П.6 - трактовка "состояние" - Буратино - культура, яблоки - природа.
А вот как мыслит креативщик? По памяти, из "Швейка": "Что будет, если восьмерку разделить на две части? - Если вдоль - две тройки, если впоперек - два ноля" (диагноз идиот)
А куда нам деться от ООН с ее декларациями о толерантности и ИКТ? Я уже не говорю о ДЭФ - а его идеи о компетенциях легли в основу реформ образования - умным людям повеситься или "делай как должно быть, и пусть будет, что будет"?
Одно другому не мешает.
В медицине 100%-я толерантность у трупа.