Чтобы войти в мир 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-специалист, обладающий вышеперечисленными навыками, сможет рассчитывать на высокий уровень оплаты труда и всегда найдет достойное применение в профессии.
Читайте также:
Разве фундаментальные знания - это навык?
Почему это не входит в SoftSkil?
Статья с этого начинается, а автор - преподаватель. Смело!
Как и другой загадочный навык, которым статья заканчивается - навык работать хорошо.
Если читать медленно и внимательно, возникают и другие вопросы. IT - не только программирование.
Список Soft Skills для инженеров может быть любой длины. Но вряд ли имеет смысл предлагать какой-то один вариант как рекомендации для всех отраслей, возрастов и задач.
Умение учить (!) других, в свою очередь, подразумевает и другие требования.
Потому что из этого 4-го навыка, следует 10-й - навык работать хорошо (а они, по методике авторов hardskills & softskills из американской армии, относятся к жестким навыкам наставника и ученика). Они явно читали стихи Владимира Маяковского о навыках отца:
Помни
это
каждый сын.
Знай
любой ребенок:
вырастет
из сына
cвин,
если сын —
свиненок,
Мальчик
радостный пошел,
и решила кроха:
«Буду
делать хорошо,
и не буду —
плохо».
Действительно, для начала, в тексте надо было отделить "мух от котлет" - тогда список для ИТ приобрел бы совсем иной вид (а мы бы с Евгением вернулись к теме "Кто может учить менеджменту":)))
Если именно так (а не наоборот) и решила кроха - отлично. Я бы только эти способности и развивал.
Не знаю, насколько глубоко в американской (и не только) армии изучают нашу классику.
Умный любит учиться,
А дурак - учить.
А можно ли вообще дать доходчивое объяснение того, что сегодня понимается и обсуждается под термином ИТ?
Видимо, все, где есть:
1. микросхема
2. кусок программного кода
3. управление перечисленным в п. 1 и п.2
так скорректировала редакция. В оригинале было: Чтобы войти в мир IT-технологий, нужно обладать фундаментальными знаниями, владеть конкретной технологией, по которой планируете работать, а также уметь применять на практике вспомогательные технологии. Это базовые вещи.
не заметил сразу, сейчас попрошу вернуть, как было у меня. Благодарю за внимательность!