Самонедообразование: как оптимизировать карьеру разработчика

16.01.2020
Самонедообразование: как оптимизировать карьеру разработчика

Про возможности самообразования в современной ИТ-отрасли слагают легенды. Истории успеха «был курьером, окончил курсы, стал успешным программистом» можно издавать многотомными тиражами. Но является ли самообразование и курсы гарантией качественной карьеры в ИТ? Рассказывает директор по технологическому развитию компании «АйДи – Технологии управления» Дмитрий Рогов.  

Иллюзия ИТ-карьеры

Скажу сразу и разрушу тем самым множество иллюзий: никакие курсы по обучению программированию, включая известные онлайн-платформы (GeekBrains, SkillFactory, Udemy и т.д.) неспособны подготовить по-настоящему качественного ИТ-специалиста, готового к реальной проектной деятельности. Сегодня очень горячий рынок разработчиков: специалисты нужны всем, спрос высокий – предложений от курсов в духе «стань крутым разработчиком с высокой зарплатой» хватает.

По опыту могу сказать, что в 100% случаев любой такой «курсист» требует долгого и тщательного доучивания с учетом специфики компании-работодателя и поставленных ею задач. Даже в случае самых одаренных людей на выходе с курсов получается максимум неплохой junior-разработчик, об обладании передовыми компетенциями говорить не приходится.

Причина – программы курсов нацелены в основном на практику и на быстрый результат. Слушатель выходит оттуда без фундаментального понимания принципов работы языка, работе с которым его обучали.

Self1.jpg

Магическое мышление

Почему так происходит? Качественное академическое образование в области computer science дают в вузах, а не на курсах. 

Его роли в становлении ИТ-профессионала никто не отменял. Возможно, 90% из этих знаний напрямую использовать в своей деятельности специалист не будет. Но! Он будет четко понимать, как устроены ИТ и как они работают в комплексе. 

Это существенно облегчит понимание того, откуда у возникающих по ходу работы проблем «растут ноги» и как их правильно решать. Человек, который лишь прошел курс по Java – это программист с «магическим мышлением». Ему показали: делай так – получишь определенный результат. И всё. Шаг влево, шаг вправо – и он уже потерялся, он не понимает, к чему такие движения могут привести, и самое главное, почему получается тот или иной результат.

В условиях, когда вузы не могут динамично и гибко менять свою программу под реалии рынка, существование различных курсов – это, скорее, благо. Они обеспечивают массовость процесса ИТ-образования на начальном уровне однако  носят, при этом, лишь вспомогательную роль. 

Заменить полноценное образование, а самое главное – этап накопления полноценного профессионального опыта – они не могут.

Self2.jpg

Кровавый enterprise vs уютный стартап

Где его можно сегодня получить? Разработчику сегодня в качестве карьерных сценариев имеет смысл рассматривать работу в серьезных отраслевых компаниях, искать себя в многочисленных стартапах или работать в крупных ИТ-компаниях типа Яндекс, Mail.ru и т.д. Свои особенности, плюсы и минусы есть у каждого из этих вариантов. 

Что касается отраслевого сценария, то в среде разработчиков не зря существует расхожее выражение «кровавый enterprise». Оно довольно точно характеризует крайне высокий уровень стрессогенности в этой сфере, обусловленной проектным подходом к разработке.

Проект – это всегда работа с заказчиком, который склонен менять свои требования прямо по ходу реализации. Заказчики не смотрят на задачу формализованно, как ИТ-профессионалы, они просто хотят закрыть некую потребность, и у них может быть своеобразное понимание конечного результата работы.

Self3.jpg

Стартапы и профильные ИТ-компании реализуют не проекты, а работают над продуктами. Навязанных извне сроков в такой работе у программиста нет. Если, допустим, тот же Microsoft делает себе Microsoft Office, то он потратит на него столько времени, сколько позволят внутренние ресурсы - хоть 10 лет.

Конечно, в такой работе тоже есть контроль, сроки, ответственность – но если внутренний заказчик понимает, что разработчики действительно делают какую-то классную новаторскую штуку, то для них будут созданы максимально комфортные условия труда, чтобы на выходе получить хорошо продаваемый продукт.

В стартапах можно до определенной степени игнорировать требования пользователей продукта касательно его свойств и качеств, развивая свой собственный взгляд на то, что и как должно работать в итоге. Программисты при таком подходе находятся в тепличных условиях и могут в комфорте «играться» с различными технологиями и инструментами до тех пор, пока из этой игрушки не получится что-то очень интересное, с wow-эффектом и бизнес-ценностью.

Также, в стартапах и продуктовых ИТ-компаниях гораздо больше свободы творчества. Да, иногда приходится работать за идею, а не за деньги, но это будет ваша идея. 

В enterprise придется развивать исключительно чужие идеи. С другой стороны, работа в enterprise хороша тем, что позволяет в сжатые сроки пройти своего рода экстремальное обучение, стресс-тест. Если удается выжить в этой среде, то работа во всех остальных типах компаний будет восприниматься как максимально комфортная и спокойная.

Командный подход

Единственное необходимое условие для того, чтобы реализоваться, разработчик с любым образовательным бэкграундом обязательно должен на начальном этапе поработать в команде. Самообразование, если заниматься им годами без практического командного опыта, приводит к очень сильной фрагментации знаний.

Самоучки вместо применения типовых решений, сокращающих время на решение задачи, склонны изобретать собственный «костыль» в коде, с которым далее мучаются пользователи или коллеги.

Самостоятельно подобные лакуны знаний на 100% заполнить крайне сложно и маловероятно.

Self5.jpg

Если разработчик долго варился (или продолжает вариться) «в собственном соку», он не сможет увидеть структурные пробелы в своей логике и в подходах к написанию кода. Просто потому, что тяготеет к тем привычным и комфортным решениям, а не к тем, которые являются оптимальными в ИТ сегодня.

В команде же – пусть и неявно – все друг друга дополняют и обучают, формируя целостное видение, основанное на опыте и наборе актуальных практических навыков.

Подробнее: https://vc.ru/hr/101350-samonedoobrazovanie-kak-optimizirovat-kareru-razrabotchika