Подводные камни перехода к карьере инженера-программиста и как их избежать

С момента основания Launch School я разговаривал с сотнями (тысячами?) Людей, желающих перейти к карьере в области разработки программного обеспечения. Во время многих из этих разговоров я столкнулся с одним мифом; тот, который, кажется, довольно широко распространен.

Ошибка идеализированного путешествия

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

В контексте приведенного выше изображения люди считают, что переход от шага 1 к шагу 2 является сложной частью, а переход от Шаги 2 - 3 просто происходят естественным образом.

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

«Самое сложное - это не найти работу, это получить ПРАВИЛЬНУЮ работу».

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

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

На базовом уровне это кажется логичным. Почему бы так не работать? К сожалению, реальность намного сложнее, как я вскоре объясню.

Основная причина того, что этот миф продолжает распространяться, гораздо более гнусна. Многие игроки в секторе технического образования получают прямую выгоду от того, что люди верят в это. Некоторые учебные курсы по хищническому программированию учат вас ровно столько, , чтобы ориентироваться на эти низкокачественные рабочие места начального уровня, основываясь на убеждении, что затем вы сможете перейти оттуда к высококлассной работе. То, что они продают вам, - это мечта о высококлассной работе по цене, которая отражает это, но дает вам только доступ на низкокачественную работу. Для многих хищнических учебных заведений это недостаток.

Реальность карьерных траекторий в сфере технологий

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

Эта «линейная» траектория между навыками и заработной платой действительно существует, но только для определенных типов работы. Вот простой пример:

На приведенном выше рисунке карьерные траектории двух ролей начинаются одинаково, но затем одна из них выравнивается.

Черная линия представляет работу в инженерной компании и, в частности, роль в этой компании, которая находится в центре прибыли (а не в центре затрат). Другими словами, в этих ролях существует прямая зависимость между производимой вами работой и прибылью, которую получает компания. Это соотношение отражено в вашем пакете оплаты и вознаграждения.

Так что это за красная линия? Это может быть роль в компании, где основные навыки разработки программного обеспечения не связаны с оплатой через определенный момент. Ось X здесь - это строго навыки разработки программного обеспечения. Например, во многих консалтинговых компаниях клиентам выставляются счета за консультантов. Независимо от того, насколько вырастут ваши инженерные навыки, потолок вашей зарплаты будет чуть ниже того, что платит клиент (в противном случае консультант потеряет для вас деньги). Это не означает, что консалтинговые компании - плохая работа, это просто указывает на то, что консалтинговые компании устанавливают потолок заработной платы раньше, чем некоторые другие инженерные компании.

Итак, ответ - нацеливать рабочие места, которые следуют за этой черной линией, верно? Ну да, но, к сожалению, не все так просто. В разных компаниях есть много должностей. Есть еще одна важная вещь, которую следует учитывать. В зависимости от ваших навыков и уровня знаний некоторые из этих ролей (включая те, что указаны на черной линии) могут оказаться недоступными.

Заблуждение заключается в том, что у некоторых из «доступных» должностей может быть даже приемлемая начальная зарплата по сравнению со многими нетехническими работами, но при этом их карьерная траектория плоская или ограниченная. Может возникнуть соблазн выбрать одну из этих должностей с мыслью, что затем вы можете «перепрыгнуть» на одну из других траекторий. На самом деле сделать это крайне сложно. Это заблуждение идеализированного путешествия, о котором я говорил ранее.

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

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

Стремитесь выше, повышая уровень

Я бы посоветовал избегать этих вакансий начального уровня и вместо этого выбирать роли с хорошей карьерной траекторией. Но как это сделать, если эти роли изначально недоступны?

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

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

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

Launch School делает акцент на повышении уровня, поэтому мы описываем нашу программу как Медленный путь для прилежных учащихся к карьере в разработке программного обеспечения . Поначалу наш подход может быть не самым быстрым, но в долгосрочной перспективе это наиболее эффективный способ выбраться из наиболее успешных карьерных траекторий.

* Особая благодарность Карис Тобиас за рисунки.