Разрабы
/

АКК

Мы логиним через
гитхаб

После логина появится возможность комментировать материалы. А дальше мы придумаем, какие возможности появятся у залогированного читателя

ИсторияКолонка НаташиМнения

Тяжелейший путь с нуля до джуна и мидла. Ультимативный гайд, советы и личный опыт Наташи Давыдовой

Тяжелейший путь с нуля до джуна и мидла. Ультимативный гайд, советы и личный опыт Наташи Давыдовой
Tinael92
SlashNK
Anishenko Alexander

Наталия Давыдова, frontend-разработчица в Точке, держу сообщество для junior-разработчиков, мама джунов в твиттере - @nat_davydova. Дважды выгорала и учусь с этим жить. Пытаюсь строить карьеру в условиях неопределенности.

О том, как попала в айти и как училась верстке

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

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

Верстать я училась по книгам, очень крутым и очень унылым: никакая бессонница с ними была не страшна. Книги - HTML & XHTML: The Definitive Guide by Chuck Musciano и CSS: The Definitive Guide by Eric Meyer. Это две гигантские талмудины, которые дали мне отличный фундамент для дальнейшей практики. По сей день не знаю ничего лучше них для тех, кто хочет реально хорошо верстать и понимать, что и зачем делает. Просто читать такие книги нет смысла: ничерта не запомнишь, тут очень важно грамотно работать с поступающей информацией. Так что без конспектов не обойтись.

Совет #1 - Ведите конспекты

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

Сама я не из тех ребят, кто быстро учится: я — та улитка, которая тихо ползет по склону Фудзи. Мне интересно учиться медленно, размеренно, никуда не бежать и брать себе достаточно пространства для экспериментов. Так и тут: я вдумчиво отконспектировала и отработала обе книги, взяв на это несколько месяцев, сверстала пару тестовых лэндингов и пошла покорять UpWork.

О работе на фрилансе

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

Совет #2

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

Учитесь ставить себе комфортные сроки и поначалу смело домножайте срок «мамой клянусь, успею» на два (а то и два с половиной).

А вот первый крупный заказ я получила любопытным образом, и этот случай лег в основу всего моего подхода к поиску работы. Описание было такое: владелец сервиса хостингов прогнал главную страницу своего сайта через w3c-валидатор (контроль качества верстки), обнаружил там порядка двух десятков ошибок и искал кого-то, что смог бы их починить. Из любопытства я пошла на его сайт и прогнала через валидатор внутренние странички, на которых обнаружилось… 400-600 ошибок на каждой.

В сопроводительном письме я указала, что есть такая бяка, приложила скрины и сказала, что готова пофиксить ему все баги верстки, какие вообще есть на его портале. Заказчик нанял со скоростью света на почасовую работу за гордые $7 в час до вычета комиссии сервиса. Верстальщики схватятся тут за сердце: все страницы были сверстаны на таблицах, и мне пришлось отрефакторить с попиксельным сохранением дизайна каждую страничку. Это было дикое легаси, грязнющее, кашеобразное, которое даже не сразу понимаешь, как разгрести-то вообще. С тех пор я честно говорю, что повидала некоторое дерьмо (не последнее в жизни, но одно из самых запоминающихся).

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

Совет #3

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

На низкие расценки клюют те, у кого ничего нет, чтобы привлечь хоть сколько-то славного работника: ни условий труда, ни адекватных задач, ни даже навыков коммуникации. Вам туда не надо, поверьте.

Самое сложное и самое интересное во фрилансе то, что ты общаешься с живыми владельцами бизнеса и учишься понимать запросы и боли продукта из первых рук. Тут быстро понимаешь, что обычный бизнес не хочет крутых наворотов, он хочет тихо-спокойно делать деньги и чтобы сервисы не отваливались. И либо ты учишься искать компромиссы между своими хотелками как разработчика и пожеланиями заказчика, либо очень быстро останешься без клиентов.

Заказчики, в основном, ничерта не понимают в этих ваших технологиях и не должны. Им надо сайт, а не вникать, какой плагин слайдера ты подключаешь. Так что фриланс учит еще и подбирать реализацию под конкретные нужды конкретных продуктов и объяснять простыми словами, что и зачем ты делаешь, чтобы человек не в теме мог держать руку на пульсе.

Заказчики часто — сложные люди. И либо тебя уволят к черту, либо ты отрастишь себе софт-скиллы. Общение с тревожным заказчиком — одно, с равнодушным и пропадающим — другое, с резким — третье, с мягкими и растерянными — четвертое. На фрилансе не заработать, если ты бука и хочешь просто кодить в углу.

Однажды у меня был очень нервный и очень тревожный заказчик, который постоянно набегал с правками, очень боялся, что я что-то забуду, дергал меня вопросами и напоминал о своих пожеланиях каждые пять минут, буквально не давая сосредоточиться. Простые увещевания, мол, у нас же переписка, ничего не потеряется, не волнуйся так — не работали, контакт не выстраивался. Человек от нервов и стресса становился агрессивным.

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

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

Мне смертельно надоело только верстать и хотелось чего-то более объемного, но выйти за пределы своего стека на бирже практически невозможно: в админке контракта у заказчика система скидывала в самый низ списка тех разрабов, у которых нет в портфолио контрактов по стеку вакансии. А кто в здравом уме будет докручивать вниз списка из нескольких десятков кандидатов, если есть первая пятерка, еще и ярко подсвеченная системой контрастным цветом?

Меня утомили эмоциональные «заплатят-не-заплатят» качели: невозможность планировать нормально бюджет — та еще нервотрепка.

У меня не было возможности усложнить даже текущий стек: концепт сборщиков верстки клиентам объяснить было решительно невозможно, и они «ведь ну так же дешевле» храбро вносили правки сами в минифицированные артефакты, чем доводили меня до инфаркта всей Наташи.

Поэтому в один прекрасный день я составила план дообучения на junior frontend разработчика, договорилась с мужем на конкретные сроки окончания обучения и выхода на работу и бросила фриланс к чертовой матери. Ни о чем не жалею.

Об учебе

За фриланс-карьеру я ни написала ни одной осмысленной строчки на JavaScript. Моим максимумом было подключить плагин на jQuery, так что программировать пришлось учиться с нуля. Чтобы получить работу Frontend Junior я должна была крепко знать базу JS и один из большой тройки фреймворков: выбрала React, как и почти все джуны, потому что популярный.

Для учебы взяла два курса с Udemy: The Complete JavaScript Course 2022: From Zero to Expert! by Jonas Schmedtmann и React — The Complete Guide (incl Hooks, React Router, Redux) by Maximilian Schwarzmüller.

Про Шварцмюллера к тому моменту я уже слышала много хорошего, а вот на Шмедтманна набрела совершенно случайно, и это просто лучший курс по JS, какой я только видела. Курсы обещали и теоретические знания, и практические проекты, и вышли мне по $10 каждый на распродаже.

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

Совет #4

Если вам не нравится обучающий материал — меняйте. Выкиньте из окна идею, что «критично доводить начатое до конца». Ничто эффективнее не отбивает мотивацию учиться, чем необходимость продираться через неприятный стиль, несимпатичную манеру общения у лектора или неподходящую подачу.

Книг и курсов на любой вкус — громадье. Не нравится один, понравится другой. Лучше потратьте силы на учебу, а не на преодоление ненужного дискомфорта.

Просто слушать курсы мало. Судорожному проглатыванию информации с низким КПД я противопоставляю вдумчивый подход, призванный систематизировать знания, укладывать и усваивать надолго. Исходить советую из того, что на один час теории, в среднем, уходит полтора-два часа конспектирования, осмысления и экспериментов.

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

Вот только и просто хорошей последовательной учебы мало, чтобы выдержать конкуренцию на рынке. Самое слабое место у джунов сейчас — портфолио. Выпускники курсов показывают одни и те же проекты, и, если мы говорим про фронт, всем нанимающим в зубах навязли однотипные «Седоны» и «Кексобукинги». Выигрышная стратегия — индивидуальность: делать то, что не делают другие. Но сказать легче, чем сделать, ясное дело.

Совет #5

Собирайте оригинальное портфолио. Все смеются над тудушками, мол, у каждого второго есть такая, но за время консультирования я не видела ни в одном портфолио todo-проектов. Сделайте свою тудушку/приложение для трекинга воды/трекер привычек, возьмите любую бесплатную апишку и сделайте с ней что-то несложное, но ваше личное, да хоть даже приложение, показывающее погоду. За идеями дизайна идите на Behance и Dribbble.

Знаете, какой самый страшный враг любого начинающего разработчика? Не лень и не разгильдяйство. Самый страшный враг — это синдром самозванца. Он заставляет ненавидеть результаты своей работы и корчиться от стыда, когда видишь омерзительно неидеальный собственный код месячной давности.

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

Совет #6

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

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

Я считаю, такие сессии куда ценнее, чем менторы на курсах. Здесь ты полтора-два часа проводишь с компетентным человеком, выдающим максимально концентрированный персональный фидбек. Это недешево, но такие сессии и нужны точечно, очень редко, когда накоплен объем опыта, требующий валидации.

О поиске работы

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

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

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

Совет #7

Когда устраиваетесь на работу, всегда держите в голове, кто ваша целевая аудитория. Вы делаете резюме и пишете сопроводительное не для себя, а для тех, кто будет от имени бизнеса обрабатывать ваш отклик — для рекрутера и нанимающего технического специалиста. Они — ваш конечный потребитель, им должно быть удобно, они должны сразу увидеть всю необходимую информацию.

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

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

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

Совет #8

Не пишите в резюме фриланс в качестве опыта работы. Несколько лет назад ушлые курсы стали советовать «дописать годик опыта на фрилансе», и досоветовались до того, что никто в этот фриланс больше не верит. На него аллергия, и крепко повышается шанс отказа. Если у вас реально есть фриланс-опыт, лучше рассказать о нем на собеседовании, где он реально может стать плюсом и показателем того, что вы умеете закрывать потребности бизнеса.

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

О тестовых и собеседованиях

На два своих первых тестовых я взяла по неделе. Торопиться — вообще не моя история. Если у меня чересчур сжатые сроки, я начинаю тупить, паниковать и дергаться, поэтому взяла времени с таким запасом, чтоб хватило на все возможные затупки, какие только можно предусмотреть.

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

Совет #9

Если видите тестовое откровенно коммерческого вида, например, сверстать целый лэндинг, или сделать страницу интернет-магазина с кучей специфических, явно не тренировочных, фильтров — бросьте бяку и уходите. Аналогично — с тестовыми неадекватных размеров и дурными сроками, типа «сделайте нам за 3 часа полностью работающее приложение, чтоб переливалось, звенело, радовало десятком функций и тяжелой анимацией в 3D».

Сделать для себя такой же или аналогичный пет-проект — почему нет, если вам понравилась идея, но с таких вакансий стоит уйти обязательно. Вы представляете, какие там будут противные собесы? Вот лучше и не представляйте. Тестовое задание на этапе найма — лицо компании, а зачем вам компания с противным и неряшливым лицом?

Над своими тестовыми я просидела даже больше, чем обычно предполагается тестовым такого размера. Решила выделиться и сделать немного больше, чем меня попросили. В компанию, где ценился не только фреймворк, а еще и нативный JS, я сделала две версии — и ванильную, и на React, а в компанию, которая предложила добавить функций на мой вкус, подготовила несколько небольших фич, о которых в задании ничего не было сказано.

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

Совет #10

Проверяйте ваши тестовые на «мышах», это отлично помогает вскрывать самые внезапные баги. Берете товарища и просите покликать, оценить юзер-флоу, развернуть проект локально и так далее. И пусть сделает прям при вас, в режиме реального времени. Там, где у товарища делается сложное и недоумевающее лицо или где он роняет ваше приложение к чертовой матери, там, стало быть, надо срочно улучшать.

Каждое тестовое привело меня, в итоге, к приглашению на техническое собеседование, но сходила я только на одно.

Есть проблема. Прохождение собеседований — это отдельный навык, никак не связанный с тем, насколько вы хороши на самом деле, ровно так же, как подготовка к ЕГЭ имеет мало общего с внятным осмыслением программы по предмету. Собеседоваться надо уметь, это целое отдельное искусство: в стрессовых условиях красиво и ровно излагать свои мысли, отвечать достаточно развернуто, но не уныло, достаточно кратко, но чтоб показать глубину знаний, не охреневать от вопросов, в которых вы поняли только предлоги и союзы, не падать духом, если отвечаешь неверно.

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

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

Подготовка к собеседованию схожа с подготовкой к экзамену. Тут мало просто прочитать и запомнить, тут надо ориентироваться на проверяющего. Я брала списки типа «100 вопросов для собеседований по фронтенду» и проходилась по каждому. Не так что «о, это я знаю, двигаемся дальше», а полностью развивала мысль от и до. Это не процесс зазубривания, это тренировка навыка формулировать техническую идею емко и доступно. Когда репетируешь такой ответ, сразу видишь, где не можешь нормально объяснить, где срезаешь углы, где вообще все забыл, а где уже пять минут трындишь, и даже еще вступление не закончил.

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

Совет #11

Попробуйте записать ваши ответы на видео и посмотрите, что идет не так. Даже одного раза хватит, чтобы отловить критичные моменты. Например, люди от волнения и неуверенности в себе часто сутулятся, стараются занять как можно меньше места и не смотрят на собеседника. Такому съеженному бедолаге хочется дать плед и печеньку, а не высокую зарплату.

Возможно, мой подход избыточен. Но он мне помог взять оффер с первого же собеседования, да и в дальнейшем помогал собирать очень достойные предложения.

О первой работе

Когда я пришла на первую работу, казалось, что за малейшую провинность уволят на месте. Проект не запустился локально, потому что конфиг для мака, а только у меня винда? Вот сразу и уволят. Что-то недопоняла по задаче? Ну теперь точно уволят. Не разобралась с дженериками в TypeScript и от ужаса подставила костылищи? Все, дорогая, собирай барахло, и вали. Этот страх порождался из-за непонимания, с какой скоростью должен учиться джун, что от джуна в среднем ожидают, и за что, на самом деле, увольняют.

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

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

Помню и другое. Через две недели после выхода на работу я свалилась с ковидом. Температура была высоченная, кашель, как на рудниках. Я буквально была не в состоянии шевелиться, но больничный не взяла — уволят же, обязательно уволят! И работала с вот такими дивными симптомами. Никогда так не делайте, не будьте мной, берите нормально больничный и восстанавливайтесь.

Совет #12

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

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

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

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

Не успела я оглянуться, а уже начала все бойчее общаться с командой, вникать в то, кто и что делает, какие перед кем задачи и в совокупности получала всё более объемную картинку и того, что происходит на проекте, и предметной области.

Совет #13

Когда устроитесь в команде, не стесняйтесь задавать не только технические, но и продуктовые вопросы, вникать во всё, что видите, не ограничиваясь только своей сферой. Будьте по-щенячьи любопытны, как бы страшно ни было поначалу. Раздают новые фичи — спросите, где про них почитать бизнес-доку, спросите, как эти фичи будут встроены в текущую систему, зачем их делаем с продуктовой точки зрения. Дают задачку — спросите контекст. Загляните в дизайн. Да, даже если вы бэк, не грех заглянуть в дизайн фичи, с которой будете работать. Аналогично, если вы новенький дизайнер, попроситесь к разработчику, который будет делать ваш фрейм, чтобы он рассказал свои впечатления и что-то про имплементацию.

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

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

Именно тогда я поняла, что очень люблю рефакторить, что мне есть, о чем поговорить с сеньор-дизайнером, и что такое настоящая, сыгранная команда.

А потом команду развалили и разломали, и меня перевели на время на небольшой проект. Сказать, что это был траур — ничего не сказать, но хотя бы на этом новом проекте я была с несколькими знакомыми ребятами. Вот тогда-то я впервые и выгорела.

Когда я еще работала на фрилансе, у меня был проект — сроки сжатые до невозможности, заказчик говорил, что весь умрёт и разорится, если не получит свой сайт в понедельник. Пришлось сидеть около 16 часов за компом без передыху, к концу отекли руки, болели суставы, восстанавливаться пришлось дня три-четыре, но в сроки уместилась, сайт сдала… и в понедельник никто его не посмотрел, и во вторник, и чуть ли не всю следующую неделю. Очень показательная история о том, что если бизнесу надо «очень срочно! уже вчера! полундра! пожар! гроб кладбище смерть!», на самом деле, это или большая манипуляция (не считая упавшего прода), или огромный процессуальный бардак, за который нести ответственность не в вашей компетенции. Тогда я зареклась вестись на всю эту дико-срочно-ерунду во фрилансе, но кто бы мог подумать, что вляпаюсь именно в нее на этом сезонном проекте в «джунячьем» возрасте.

Суть была та же — умрите, но закончите проект до такого-то дня, нам без разницы, как именно, но сделайте. Ну я и умерла, раз так велено. Перенапряг был жесткий, неоплачиваемые кранчи, все были зелёные от усталости, и вот на финальной планерке за день до даты Х нам говорят что-то типа: «да этим еще дней 10 пользоваться не будут, а там уж проверят». Помню, после этого отложила мышку, закрыла ноут и ушла лежать лицом в стену. Вставать и как-то функционировать в обозримом будущем не хотелось.

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

О миддл-пути

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

Я никогда не чувствовала себя такой самозванкой в профессии, как получив один год опыта. Когда ты джун, твой путь прямой и понятный — вот тебе курсы такие, курсы сякие, для тебя снята куча видео и гайдов, как зайти в айти, и, в принципе, тебе ясно, куда ты движешься. А вот гайдов о том, как жить, когда в айти уже зашел, что-то нет.

Чем больше я учила и узнавала, тем больше передо мной открывалось вариантов дальнейшего движения и тем больше я осознавала скупость и узость моих знаний. За что хвататься? Глубже учить фреймворк? Погрузиться в фундаментальные концепты основного языка программирования? Взять другой фреймворк для кругозора? Учить ООП (окей, я знаю, что полноценного ООП в JavaScript нет, но то, которое есть, неплохо бы освоить), а оттуда в паттерны разработки? Потыкать бэк? Потыкать новые фишечки CSS? Алгосы уже освоить, а то чо как не программистка? Чем дальше в лес, тем больше дров. Тянешь за одну ниточку знаний — получаешь огромный спутанный ком из статей/курсов/гайдов/тулзов, которые надо срочно посмотреть.

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

Желательно, конечно, не только теоретизировать, а еще и что-то практическое делать. Какой же ты айтишник, если не делаешь пет-проекты после основной айтишной работы? Гнать тебя в шею с волчьим билетом из профессии!

Пока твой синдром самозванца орёт дурниной на каждую новую непрочитанную статью, а кукуха пытается понять, как не откинуться от жизни такой, встает еще один насущный миддловый вопрос, с которым всё еще сложнее.

Куда идти работать? Что делать с карьерой дальше? Нет ни одного, блин, гайда «как выбрать свою вторую-третью работу и не обосраться».

Вот у новоиспеченного «миддла» с одним годом опыта на руках несколько офферов: в большую, но проблемную компанию (например, в аутсорс, где проект на проект не приходится) на Х денег; в какую-то небольшую компанию, но в команде ты будешь единственным разрабом или будешь сидеть на легаси, на 1.3X денег; в стартап с сомнительными перспективами и репутацией (условный гэмблинг, который даже не вышел в MVP) на 2Х денег; или в достаточно симпатичное место с неплохими, на вид, возможностями роста на 0.8Х денег.

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

А чтобы вообще получить эти пять офферов, надо некисло так погулять по собеседованиям, не все из которых приятные. Если пожелания к самым начинающим на собесах относительно стандартизированы (хотя тоже, бывает, такое спросят, что охреневаешь), то после одного года начинается сплошная вкусовщина. Попадешь в чувство прекрасного данных конкретных собеседующих — молодец. Не попадешь — с изрядными шансами, тебе прям на собесе активно скроят козью морду и выразят «фе», потом самооценку будешь от пола вечность отскребать.

Вот ты отказываешь всем и выбираешь одну компанию, а она отзывает оффер, упс, или ты выбираешь другую компанию, приходишь уже на подписание документов и выясняешь, что из «белого» оклада в договоре прописано 30 тысяч, а остальное «честно заплатим, мамой клянемся». То есть, даже принятый оффер — не гарантия спокойной жизни.

Но вот ты трепетно выбрал свою вторую компанию, звезды на небе встали в нужную позу, и все сложилось. И с командой, на вид, повезло. И заходишь ты в репозиторий, весь такой уверенный, что уже не какой-то там новичок и всем покажешь! Заглядываешь в код… … а там нихрена не понятно. Фить-ха!

Вообще непривычная архитектура, всё не так, как на предыдущем проекте, откуда какие данные тянутся — фиг разберешься, документации нет, вперед, дружище, отрабатывай свои много денег (или мало денег, как уж договорились) и закрывай задачки.

У меня на второй работе вытекали мозги через уши, я была как живая иллюстрация мема «а как какать?». Я-то думала, что уже прожженная девчонка, а тут абсолютно другая система, сложная предметная область, да еще и перенос дикого легаси на новый стек.

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

И вот, в одной руке у миддла новая работа, на которой максимально непривычные процессы, а в другой руке — суровая необходимость самообучаться, чтоб оставаться конкурентным и как-то расти. Как не сгореть к чертовой матери в этой нелегкой ситуации? Никак. Скорее всего, вы сгорите, и это будет больно.

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

Если горят сроки, ситуация будет усугубляться с космической скоростью. Однажды вы поймете, что то, что раньше радовало в работе — раздражает. Уберите ваши сраные задачи. И коллег вот этих подальше. Учиться надо, но не прёт, баги бесят, фичи не вдохновляют, да и сам пет-проект какой-то кривой-косой, ничего тут не спасти, жги, господь.

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

И вот наступает момент, когда сил настолько нет, что можно только лежать бревном и смотреть в стену. Поздравляю, вы выгорели по полной. Прописываю вам книгу Нагоски, вебинары Дорофеева и трехнедельный отпуск, чтоб хоть немного прийти в себя. Лечиться будете еще долго. Добро пожаловать в мидловую жизнь.

Про сейчас

Сейчас я работаю в «Точке». Самым важным «до-точковским» опытом считаю не опыт закрытия тасок или дотаскивания фич до прода. Самый мой важный опыт — менторинг. Мне выпала возможность поднять с нуля и довести до уровня нескольких стажеров и джунов. И до этого, и после я занималась и бесплатным менторингом, и коммерческим, но этот конкретный кейс выращивания джунов на живом рабочем проекте — лучшее, что я делала в моей карьере. Мне доверили «малышей», дали срок в три месяца, чтобы или я их научила всему, что нужно, чтобы приносить бизнесу пользу, или они не пройдут испытательный срок. Прошли. Горжусь до сих пор невероятно, что у меня были такие прекрасные ученицы.

Совет #14

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

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

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

А что дальше? А дальше я постараюсь так балансировать между работой, учебой, сообществом и отдыхом так, чтобы не перегорать. Разберусь с тем, как жить с большой аудиторией, чтобы делиться важным, не скатываться в унылый догматизм и не потерять ту искренность, задор и смыслы, ради которых я и пишу каждый день. Продолжу расти скиллами и верю, что однажды смогу проснуться утром и понять: кажется, я больше не самозванка в моей профессии.

Как меня найти: в моем чате для джунов, в твиттере и на ютубе.

А вот еще

Если смысл ни в чем, то в чем?

Комменты: ...