Многие предсказывают смерть junior-разработчиков благодаря ИИ — ведь если ИИ сможет выполнять все простые задачи, нам больше не нужно будет нанимать людей, способных решать такие задачи. И действительно, недавно я была на ужине с руководителями разработки уровня «директор+», где многие из них говорили, что они переключили все свои усилия по найму сотрудников исключительно на senior-инженеров.
Любой, кто хоть на мгновение задумался об этом, видит очевидные проблемы. Как люди вообще становятся senior-инженерами, если они не начинают как junior?
Один из возможных ответов можно найти, наблюдая за недавним терминологическим сдвигом в том, как мы говорим об инженерах. За последние 5 лет я отказалась от разделения инженеров на «senior» и «junior» и стал называть последних «early career» (начинающими карьеру). Возможно, это излишняя заумность, но во время, когда люди переходят в технологии из других профессий, называть всех, кто только начинает работать в инженерии, «джуниорами» кажется неловким и неправильным. Поскольку каждый должен пройти через «начало карьеры» в какой-то момент, возможно, ответ не в том, что мы не нанимаем ранних карьеристов, а в том, что мы ожидаем, что эти люди будут более квалифицированными, взрослыми, независимыми с самого начала? Лучше займитесь побочными проектами и стажировками, студенты! Конечно, зачем нам вообще нанимать стажеров, если мы не нанимаем даже выпускников?
Но люди имеют в виду нечто большее, чем навыки, когда говорят о найме только senior-инженеров; часто они также хотят получить независимость в привычках работы, и суждения, которые приходят от опыта различных успехов и неудач. Это гораздо труднее ускорить. За свою карьеру я видела множество студентов колледжей, прошедших через мои команды, и даже те из них, кто имел очень сильные навыки программирования и хороший опыт работы, редко были способны раскрыть свой потенциал без наставничества и руководства. Обычно им не хватало способности надежно различать идеи, которые звучали хорошо, но не работали в контексте команды/компании/технологии, и идеи, которые хорошо подходили с учетом этих ограничений.
Мы могли бы оставить всю подготовку начинающих инженеров крупным компаниям. Возможно, они нанимают меньше начинающих инженеров, но они все равно их нанимают, а крупные компании всегда были хорошим местом для инженеров, чтобы отрастить свои зубы. Но здесь мы подходим к другой проблеме. Как сказала моя подруга Шанти в Твиттере:
Стаж — это не конкретное место, это просто ярлык, обозначающий то, что ценит конкретная организация. Многие Senior инженеры являются продуктами своих организаций, и частью этого, к сожалению, являются закостенелые Мнения.
Если вы оставляете подготовку инженеров на начальном этапе карьеры на откуп крупным компаниям, вы получите множество Мнений крупных компаний. Одна из приятных особенностей старших инженеров, прошедших обучение в небольших компаниях и стартапах, заключается в том, что им комфортно в условиях неоднозначности, им комфортно в условиях беспорядка, и они не обязательно принесут с собой правильные Мнения, поскольку в годы своего становления они сталкивались с более разнообразными технологиями. Я бы предположила, что большинству стартапов нужны старшие инженеры, которые не только технически грамотны и независимы, но и способны адаптироваться к окружающей среде, а лучшую подготовку для этого дают стартапы. Не обязательно работать в стартапах, чтобы иметь такую гибкость (в конце концов, я провела начало своей карьеры в финансах и сумела остаться достаточно гибкой), но это определенно помогает.
На данном этапе своей карьеры я признаю, что определяю понятие «senior» несколько строже, чем многие другие. Когда я говорю о найме старших разработчиков, я имею в виду не людей с опытом работы от 3 до 7 лет, которым можно доверить самостоятельное написание хорошего кода и ведение проектов. Я думаю о людях, которые могут выступать в роли технических лидеров для такой группы. И если вы надеетесь нанять именно таких людей, тех волшебных 10иксеров, которые действительно могут взять на себя неприятные проекты и распутать их для вас, у меня плохие новости. Полагаться на найм внешних старших сотрудников не стоит. Чем более высокопоставленных специалистов вы нанимаете, тем выше вероятность того, что они окажутся гениальными, но неспособными адаптироваться к культуре вашей компании и инженерной команды настолько, чтобы выполнять нетехническую работу, которая необходима для успеха проектов такого типа.
Однако если вы нанимаете сильных инженеров на ранних этапах карьеры, какой-то процент из них окажется способным стать теми самыми 10X. Если вы сможете удержать их со временем, они вырастут и станут руководить инициативами, меняющими жизнь вашей компании, будучи одновременно технически грамотными и полностью вписанными в культуру вашей компании. Эти годы, проведенные с вами, дают им внутреннюю сеть и высокий уровень доверия, что так важно для успеха, когда речь идет о крупных технологических проектах. Конечно, не все сотрудники, нанятые в начале карьеры, окажутся такими: многие уйдут в течение первых трех лет, некоторые так и не найдут себя, а другие будут отличными, но у них будет зуд попробовать что-то новое. Но я еще не встречала идеального короткого пути. Вы все равно будете нанимать не тех людей, независимо от того, нанимаете ли вы только junior или только senior сотрудников, и в любом случае вы неизбежно потеряете некоторых из подходящих по пути.
Если вы думаете о долгосрочной игре и надеетесь построить компанию, которая будет существовать долго, вам, вероятно, стоит инвестировать в найм сотрудников на ранних этапах карьеры в периоды роста. Правда в том, что мы стоим перед дилеммой заключенного: вы можете попытаться стать компанией, которая совершает ошибку и выигрывает от этого, но если слишком многие из нас совершат ошибки, мы все за это заплатим. Учитывая неопределенность того, что вы «выиграете», нанимая только senior сотрудников, я бы поставил под сомнение ценность этой ставки. Если вы работаете в нишевой области, в очень маленькой компании, которая, как вы ожидаете, так и останется маленькой, не сомневайтесь: нанимайте и увольняйте senior сотрудников, пока не добьетесь нужного сочетания. Но если у вас есть стремление не просто создать компанию, а вырасти до уровня, позволяющего влиять на отрасль, возможно, вам стоит пересмотреть свою ставку all-senior. Не стоит недооценивать ценность, которую могут привнести в команду начинающие инженеры. Если только мы не вымирающая профессия, их дальнейшее существование и успех — основа нашего будущего.
PS: Если вы надеетесь нанять только старших сотрудников, чтобы избежать необходимости управлять ими, вы заблуждаетесь. Наслаждайтесь своим карточным домиком и молитесь, чтобы в вашем будущем не было жестких ветров.