Руководитель группы разработки образовательного сервиса Яндекс.Практикум Александр Трегер начинал, как и многие айтишники, со школьного хобби и первых фриланс-проектов для знакомых. Трегер рассказал «Цеху», какие ошибки совершал на карьерном пути, и как их сегодня могут избежать начинающие программисты.
1. Тщательнее выбирай место для стажировки
На последнем курсе универа я по знакомству устроился на фуллтайм делать сайты в компанию, которая занималась илососной техникой и продажей металлопроката. Не знаю, чем я думал, хотелось уже поработать, как взрослый человек: ходить в офис, получать зарплату, общаться с коллегами и вот это всё. В итоге я добился немногого: заработал некоторое количество денег и массу проблем в универе, так как учился на дневном. Никакого нового опыта я оттуда не вынес, потому что был там единственным программистом, поучиться и набраться опыта было не у кого. Вывод — не надо так делать. Сейчас можно устроиться на стажировку в крупную компанию с очень гибким графиком. Например, в Яндекс мы постоянно набираем стажеров и договариваемся о графике, чтобы им было комфортно работать. Сюда, конечно, берут далеко не всех, но найти хорошее место под нужный график, где ты сможешь вырасти, совсем не сложно, если захотеть.
2. Лучше работай за опыт, чем за деньги
Если ты перестал получать опыт на текущем месте работы, но при этом твоя зарплата уверенно растет, считай, что ты «подсел на иглу». Очень легко поддаться соблазну и сидеть на стабильной высокой зарплате, заниматься знакомыми задачами и работать исключительно в привычном стеке технологий. Чем дольше ты остаешься в этой зоне комфорта, тем стремительнее падает твоя конкурентоспособность на рынке. Если спустя 3-4 года такой работы ты вдруг решишь, что пора что-то поменять, сделать это может быть непросто. Конечно, обладая базовыми знаниями, можно быстро освоить новые технологии, но важно помнить, что если ты отстал, то какое-то время придется побыть в числе догоняющих, а не на передовой. Может сложиться очень неприятная ситуация, когда на топовые позиции тебя не берут, а стажером ты идти не готов, поэтому лучше не допускать такого развития событий.
3. Иди туда, где изобретают минимум «велосипедов»
При выборе места работы, старайся избегать тех, где используют «наколеночные» решения. Лучше, если твои коллеги будут использовать популярные инструменты, фреймворки, архитектуры — так ты сможешь получить больше опыта и расширить кругозор. Часто бывало так, что мы создавали якобы свое решение и называли его одним образом, а потом оказывалось, что весь мир давно уже придумал для него другое название. Случалось, что я общался с кем-нибудь об этом на конференции и чувствовал себя так, как будто приехал из глухой деревни. Кстати, посещение конференций, митапов и просто регулярное чтение тематических ресурсов — очень важно, это поможет тебе всегда оставаться в теме.
4. Критикуешь — предлагай
Никогда, ни при каких обстоятельствах не стоит воспринимать в штыки предложения коллег, особенно руководства! Если ты с чем-то не согласен, лучше аккуратно расспросить у коллеги, какую пользу он от этого видит, почему именно это решение кажется ему наилучшим, какие шаги стоит предпринять для внедрения. Важно всегда стараться понять точку зрения человека, с которым работаешь, не рубить с плеча и находить компромиссы. Разногласия в команде не приведут ни к чему хорошему. Важно помнить, что то или иное решение может быть все равно внедрено, даже если ты с ним категорически не согласен, но ты рискуешь остаться не у дел. Особенно серьезно это может касаться кадровых перестановок и перспектив твоего роста.
5. Качай софт-скиллы
У многих айтишников всё круто с логикой, а вот в сфере софт-скиллов — зияющий провал. Для карьерного роста это часто становится ключевым моментом. Когда работаешь над сложным проектом, умение договариваться, справляться с провалами или видеть неочевидные выходы из ситуации может быть гораздо важнее, чем знание языков программирования. Я бы посоветовал читать больше книг по областям, где софт-скиллы — передовой навык: продажи, переговоры, эмоциональный интеллект, психология, НЛП и так далее.
6. Не бойся спрашивать
Придя в новый проект, ты сможешь свежим взглядом увидеть то, что явно требует улучшения. Старайся это подмечать: ставь тикеты, предлагай, спрашивай, почему что и как работает. Например, «какую пользу нам принес переход на микросервисы?» или «зачем нам куча датацентров, когда тут и один бы справился?» Не бойся оказаться неправым, смело «набрасывай». Умение критически мыслить может сослужить очень хорошую службу.
7. Не пиши код ради кода
Не старайся писать идеальный код или искать причины не пользоваться чужими разработками — такие попытки приводят к «изобретению велосипеда». Я много раз что-то писал с нуля, считая, что мое видение лучше, чем у других разработчиков. Но сейчас я бы сделал быстрее и проще: собрал бы многое на готовых компонентах. Это потребовало бы меньше времени, а задачи бы решало примерно с той же эффективностью. Всегда стоит помнить о том, что ты решаешь какую-то бизнес-задачу, а не пишешь код ради кода, хотя, справедливости ради стоит отметить, что элегантный красивый код — сродни настоящему искусству.