Artyom_Harris
New member
Два года назад я сидел на первом своём стендапе, боялся открыть рот и думал, что все вокруг понимают что-то, чего не понимаю я. Сегодня я веду крупный сервис, ревьюю код других и собеседую людей на позиции, на которые когда-то сам боялся откликаться. Пишу это не чтобы похвастаться, а чтобы честно разобрать, что именно ускорило этот путь. Спойлер: это были не курсы и не двадцать часов учёбы после работы, как мне обещали в интернете.
Самое сильное влияние на мой рост оказал не я, а окружение. Первый год я попал в команду, где ревью было нормой, а не формальностью, где тимлид на мои вопросы отвечал встречным вопросом, а не готовым решением. Если бы я в тот период сидел один на легаси-проекте с задачами в стиле поправь кнопку, никакие мои усилия не дали бы такого эффекта. Поэтому первый практический совет: при выборе работы смотрите не на зарплату в вакансии, а на то, кто будет вас ревьюить. Это вложения в ваши следующие три года.
Второе, что работало безотказно, это короткая петля обратной связи. Я завёл привычку после каждой значимой задачи задавать один вопрос: что в моём решении было слабым местом и как бы это сделал ты? Сначала было больно слушать, потом стало нормой. Я начал читать чужие пул-реквесты просто так, не потому что просили, а чтобы понять ход мысли сильных коллег. Через полгода такой практики я поймал момент, когда впервые поймал себя на мысли, что вижу проблему до того, как мне о ней сказали. Именно так и растёт техническая интуиция.
Третье, что отделяет джуна от мидла и мидла от сеньора, это не количество фреймворков, а глубина в основах. Я потратил месяца три на базы данных, сети и работу операционной системы, и это дало больше, чем все выученные библиотеки вместе. Когда ты понимаешь, почему запрос тормозит, откуда берутся блокировки и что реально происходит с соединением, ты перестаёшь гадать и начинаешь рассуждать. Фреймворки меняются каждые пару лет, а эти знания остаются с вами.
Четвёртый фактор, который недооценивают почти все джуны, это коммуникация. Сеньор — это не только человек, который пишет сложный код, но и тот, кто умеет объяснить задачу, оценить сроки, признать ошибку и договориться со смежниками. Я специально учился писать понятные описания задач, задавать уточняющие вопросы до начала работы и говорить нет, когда объём явно не влезает в срок. Это выглядит мягко и не про код, но именно на этом чаще всего ломается карьера технически сильного человека.
А теперь про то, что не сработало. Заучивание алгоритмов ради алгоритмов, коллекционирование сертификатов, попытки выучить пятый язык программирования за месяц, марафоны по десять часов после работы — всё это дало почти ноль. Я выгорел, потерял интерес и три месяца смотрел в стену. Учёба работает только тогда, когда она привязана к реальной задаче на реальном проекте. Учиться в вакууме можно бесконечно, и это самый комфортный способ имитировать рост.
Если собрать мой опыт в короткие рекомендации, получится так. Идите туда, где вас будут ревьюить и где не стыдно задавать вопросы. Заведите привычку регулярно просить обратную связь и не спорить с ней, а думать. Вложите время в базы данных, сети и базовую архитектуру, а не в очередной модный инструмент. Берите задачи чуть выше своего уровня и доводите их до конца, даже если страшно. Учитесь говорить и писать, потому что ваша техническая сила бесполезна, если её не понимают коллеги. И обязательно отдыхайте, потому что два года без сна превратятся в два года без памяти.
И напоследок вопрос к вам, форумчане. Расскажите, что именно помогло вам сделать скачок в уровне: сильный ментор, сложный проект в одиночку, собственный пет-проект или, может быть, ошибка, которая обошлась дорого и потому запомнилась навсегда? Читаю такие истории всегда с удовольствием, так что делитесь своим опытом в комментариях!
Самое сильное влияние на мой рост оказал не я, а окружение. Первый год я попал в команду, где ревью было нормой, а не формальностью, где тимлид на мои вопросы отвечал встречным вопросом, а не готовым решением. Если бы я в тот период сидел один на легаси-проекте с задачами в стиле поправь кнопку, никакие мои усилия не дали бы такого эффекта. Поэтому первый практический совет: при выборе работы смотрите не на зарплату в вакансии, а на то, кто будет вас ревьюить. Это вложения в ваши следующие три года.
Второе, что работало безотказно, это короткая петля обратной связи. Я завёл привычку после каждой значимой задачи задавать один вопрос: что в моём решении было слабым местом и как бы это сделал ты? Сначала было больно слушать, потом стало нормой. Я начал читать чужие пул-реквесты просто так, не потому что просили, а чтобы понять ход мысли сильных коллег. Через полгода такой практики я поймал момент, когда впервые поймал себя на мысли, что вижу проблему до того, как мне о ней сказали. Именно так и растёт техническая интуиция.
Третье, что отделяет джуна от мидла и мидла от сеньора, это не количество фреймворков, а глубина в основах. Я потратил месяца три на базы данных, сети и работу операционной системы, и это дало больше, чем все выученные библиотеки вместе. Когда ты понимаешь, почему запрос тормозит, откуда берутся блокировки и что реально происходит с соединением, ты перестаёшь гадать и начинаешь рассуждать. Фреймворки меняются каждые пару лет, а эти знания остаются с вами.
Четвёртый фактор, который недооценивают почти все джуны, это коммуникация. Сеньор — это не только человек, который пишет сложный код, но и тот, кто умеет объяснить задачу, оценить сроки, признать ошибку и договориться со смежниками. Я специально учился писать понятные описания задач, задавать уточняющие вопросы до начала работы и говорить нет, когда объём явно не влезает в срок. Это выглядит мягко и не про код, но именно на этом чаще всего ломается карьера технически сильного человека.
А теперь про то, что не сработало. Заучивание алгоритмов ради алгоритмов, коллекционирование сертификатов, попытки выучить пятый язык программирования за месяц, марафоны по десять часов после работы — всё это дало почти ноль. Я выгорел, потерял интерес и три месяца смотрел в стену. Учёба работает только тогда, когда она привязана к реальной задаче на реальном проекте. Учиться в вакууме можно бесконечно, и это самый комфортный способ имитировать рост.
Если собрать мой опыт в короткие рекомендации, получится так. Идите туда, где вас будут ревьюить и где не стыдно задавать вопросы. Заведите привычку регулярно просить обратную связь и не спорить с ней, а думать. Вложите время в базы данных, сети и базовую архитектуру, а не в очередной модный инструмент. Берите задачи чуть выше своего уровня и доводите их до конца, даже если страшно. Учитесь говорить и писать, потому что ваша техническая сила бесполезна, если её не понимают коллеги. И обязательно отдыхайте, потому что два года без сна превратятся в два года без памяти.
И напоследок вопрос к вам, форумчане. Расскажите, что именно помогло вам сделать скачок в уровне: сильный ментор, сложный проект в одиночку, собственный пет-проект или, может быть, ошибка, которая обошлась дорого и потому запомнилась навсегда? Читаю такие истории всегда с удовольствием, так что делитесь своим опытом в комментариях!