Мой первый год в роли разработчика: чему я научилась

0
1043
views

Перевод статьи «What I’ve Learned in My First Year as a Software Engineer».

Первый год в качестве разработчика

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

Наставничество

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

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

  • Какие есть хорошие ресурсы для изучения Х?
  • На что вы обращаете внимание, делая ревью кода?
  • Относительно каких вещей вы жалеете, что не знали о них в начале своей карьеры?
  • Какой была ваша зарплата при Х годах опыта?

Будьте сами себе адвокатом

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

И это меня очень огорчало, потому что чувствовала, что начинаю скучать на своей первой работе, поскольку она недостаточно сложна. И я сама виновата, что позволила этой ситуации тянуться слишком долго (2-2,5 месяца).

Я долго «обсуждала» эту тему сама с собой, пока наконец не решилась поднять вопрос на митинге по планированию спринта.

Собственно, я ничего такого не сказала — просто сообщила, что хотела бы заниматься более сложными вещами. А затем активно старалась браться на задачи, которые считала более подходящими, вместо того чтобы слепо доверять выбор коллегам.

Нужно защищать свои интересы

Научитесь просить о помощи

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

Преодолеть эти чувства, как и синдром самозванца вообще, довольно сложно. Не могу сказать, что мне это вполне удалось, но я предприняла кое-какие шаги для этого:

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

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

Вам и правда не нужно быть экспертом

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

Но однажды мне по работе пришлось погрузиться в одну очень специфическую проблему: мы апгрейдили react-router с 3 до 4 версии. Для этого апгрейда требовалось провести много изысканий, поскольку некоторые ключевые библиотеки устарели и произошло много важных перемен.

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

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

Не нужно быть экспертом

Затем я подумала, сколько статей «введение в Х» я прочла, приступая к изучению нового языка или фреймворка. Это были довольно элементарные статьи, требующие лишь небольшого количества знаний, ничего слишком глубокого.

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

Используйте ваши личные встречи с менеджером

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

В частности, я задаю такие вопросы:

  • Как работает эта часть продукта?
  • Замечаете ли вы какие-то повторяющиеся шаблоны в моих пул-реквестах, что-то, что можно было бы улучшить?
  • Мне нравится работать с Х, но я хотела бы продолжить изучать и другие вещи, так что нельзя ли мне начать брать задачи, связанные с Y?

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

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

Документируйте

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

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

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

Ведение записей в мой первый год

Участие в жизни сообщества разработчиков

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

Найдите себе хобби, не связанное с программированием

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

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

В общем, за свой первый год я научилась многому, и надеюсь, что вам мой опыт тоже пригодится. С нетерпением жду, что мне принесет мой следующий год!