Когда первый раз приходишь работать в компанию, которая продаёт своих разработчиков - очень быстро понимаешь, насколько тут всё по другому.
Я проработал последние четыре года в аутстаффах, и сейчас не готов работать где-то ещё. Отличия от продуктовых фирм проявляются сразу. Здесь другие собесы, другие разработчики, другие офисы. Сама суть работы, твои обязанности, процесс - всё не так, как у продуктовиков.
На собесе тебе не рассказывают про священную миссию, не расхваливают свои продукты - тебе предлагают процесс. Во время собеса они не пытаются понять, насколько ты хорош, они пытаются понять, насколько хорошо ты проходишь собесы. После собеседования тебе выбирают продукт и это очень странная история. Ты как бы ищешь работу на работе. Когда ты уже работаешь в составе какой-то команды, ты чувствуешь себя так, как будто у тебя на самом деле две работы. Вот у меня были две работы одновременно, и для меня эти ощущения были одинаковыми.
Я бы сказал, что каждый разработчик должен для себя выбрать, аутстаффный он человек, или продуктовый. Если твой характер требует от тебя творить проект, год за годом улучшать его, шлифовать все его самые пыльные углы, тебе не следует идти в аутстафф. Беда всех разработчиков в том, что они живут своей работой. Мой опыт говорит, что жить работой, которая тебе не подходит - очень плохая идея.
Я - разработчик, которому комфортно в аутстаффах. Здесь я легко могу поменять проект, и чем шире мой стек, тем больше мне тут рады. За три года работы сможешь заполнить резюме проектами под завязку. Само отношение к тебе, как к профессионалу - лучше. Суть в том, что там где продуктовикам нужны люди-функции, идеальные делатели одного продукта с его узким стеком, здесь нужны люди, которые умеют всё. Пусть и по чуть-чуть, но твоя готовность сегодня писать на дотнете, завтра на джаве, а послезавтра на го будет принята максимально доброжелательно. В соседних командах всегда найдутся эксперты в любой области, так твои походы в курилку или на кухню превращаются в митапы, где ты узнаешь много нового. Вообще, это ключевое преимущество - тут ты постоянно качаешься, причём в огромном количестве сфер. Учишь языки программирования, лингвистические языки, процессы разработки. Есть шанс посмотреть, как всё устроено в гигантских проектах лидеров индустрий, и как оно работает в небольших стартапах. В таких компаниях никто и никогда не будет думать, а не слишком ли ты дорого стоишь - они всегда получают за тебя больше. Ты не чувствуешь себя человеком, который невыгоден. Это очень важный момент, в индустрии гигантские зарплаты, в продуктовых фирмах мне было не комфортно, если я чувствовал, что моя зп для них - тяжелое бремя. Там, где продают своих разработчиков всяким шмайкрософтам, ни у кого нет вопросов, откуда берутся все эти деньги.
Но за эти фичи приходится платить. Ты получаешь два начальства. Есть менеджеры и лиды заказчика, есть менеджеры и лиды твоего работодателя, и, конечно же, смысл их жизни - портить жизнь тебе. Простая формула, чем больше менеджеров, тем сильнее они испортят тебе жизнь. В общем случае, это не то место, где легко согласовать отгул или больничный, получить хороший бюджет на рефакторинг, вдумчиво подобрать команду. Пропустить дейлик будет очень плохой идеей, десять менеджеров займутся тобой сразу же, как это случится. У тебя две системы отчётности, восемь мессенджеров, разница во времени... Такая проблема, кстати, возникает потому? что в таком бизнесе все проекты и все заказчики - слишком уж временные. Никто не будет тратить год на то, чтро бы отладить процесс, который сам по себе проживет тот же год. Эта временность в аутстаффах проявляется во всем. Проекты, технологии, команды, процесс и методология разработки - все временное. И всегда разное. Не получится выучить какую-то узкую область и отсидеться несколько лет, ничего не изучая. Нет, любой разработчик рад изучать новое, но тут тебя никто и не спрашивает, хочешь или не хочешь, учишься постоянно. Твоя ценность как сотрудника часто зависит от выгодности проекта, на который ты попал, и ты на это повлиять не можешь.
Есть сложный момент с уровнем разработчиков. Чем круче разраб, тем больше денег, поэтому не удивляйтесь, если в вашей синьорской команде, решающей синьорские проблемы, будут сидеть два джуниора. И заказчик об этом не знает. Это очень круто для джуниоров, они будут развиваться семимильными шагами, но совсем не круто для остальных - придётся учить их, и делать за них работу. Если вы когда-нибудь делали код-ревью человеку, который не умеет программировать - вы поймете, о чём я говорю. Хуже того, эти ребята ведь учавствуют во всех процессах, например они вместе с вами проводят планнинг-покеры, принимая решение, сколько будет делаться задача наравне с людьми, которые действительно понимают, что и как надо делать. Сам внутрикомандный менеджмент обычно сломан, ты работаешь в режиме: "вру заказчикам, говорю правду коллегам". Не могу себе представить такого поведения в продуктовой фирме, где все радеют за то, что делают. Топ менеджеры в аутстаффах знают о своих разрабах две вещи: насколько его легко продать, и жалуются ли на него заказчики. Если тут всё в порядке, у тебя хороший шанс быть джуниором, который получает как техлид.
Эти проблемы проявляются не всегда и не везде, в целом у нас точно есть тенденция на их улучшение. Для меня они приемлемы, потому что больше всего я хочу стать разработчиком, который может работать в любых условиях и на любом стеке с хорошей производительностью и качеством. В продуктовую фирму стоит идти, если ты уже достаточно хорош и немного устал от постоянного обучения. Потому что учится там ты будешь только специфичным вещам, в то время как качество твоего кода для них критично. У хорошей продуктовой компании нет супер развития твоего скилла, они предлагают другое - возможность закрыть ключевую позицию, взять на себя ответственность и использовать весь свой опыт.
Я работаю старшим разработчиком, но я ещё не готов сказать, что мой кругозор в программировании достаточен. Пока у меня есть силы учиться каждый день, работать с принципиально новыми стеками каждые пол года, я буду выбирать компании, которые продают разработчиков.
Для молодого человека в индустрии, как мне кажется, аутстафф - самый верный путь. Набраться опыта, получить широкое представление об индустрии, и где-нибудь к тридцатнику осесть работать над продуктом, который тебе подошёл. Ведь ты уже действительно хорошо сможешь его выбрать, и главное - делать.
Смотрите мой подкаст