7 ошибок джуниоров и как их избежать

0
4798
views

Перевод статьи «How to avoid these 7 mistakes I made as a Junior Developer».

Ошибки джуниоров и как их избежать

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

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

Соглашаться на первую подвернувшуюся работу

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

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

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

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

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

Большая ошибка.

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

Поэтому, прежде чем принять любое предложение работы:

Поищите информацию о компании

Ищите ее в Glassdoor, в интернете, на сайте самой компании, в отзывах людей, работавших там. Это даст вам хорошее преставление о том, подходит ли эта компания для ваших целей и нужд.

Поспрашивайте у знакомых

Если кто-то из вашей сети знакомых работал там или знает кого-то, кто работал, – поговорите с ними. Узнайте, что им нравилось, что не нравилось и каким был их опыт работы там в целом.

Не задавать правильные вопросы на собеседовании

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

  • Спросите о процессе разработки (Какие методологии они используют? Делают ли ревью кода? Каковы у них стратегии ветвления?)
  • Спросите о тестировании (Какие виды тестирования у них приняты? Есть ли отдельные инженеры – специалисты по тестированию?
  • Какая у них культура? (Спокойное ли это место работы? Какую поддержку они оказывают разработчикам-джуниорам?)

Не выбрать себе сферу деятельности

Ошибки начинающих разработчиков

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

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

Если бы я сразу выбрал себе путь и соответствующий набор технологий для изучения, я достиг бы куда лучших результатов и продвигался бы по карьерной лестнице значительно быстрее. Например, если вы хотите стать фронтенд-разработчиком, изучайте JavaScript, осваивайте CSS/HTML, выберите себе какой-то фреймворк. А если вы фокусируетесь на бэкенде, – опять же, выберите один язык и хорошенько им овладейте. Вам не нужно знать одновременно Python, Java и C#!

Поэтому вам стоит сузить круг своих интересов, выбрать определенный путь и набросать себе план того, как вы собираетесь стать профессионалом в этой области.

Быть слишком «изобретательным» при написании кода

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

Неверно.

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

Лучший подход к написанию кода это принцип K.I.S.S («keep it simple, stupid» – придерживайся простоты). Придерживаясь этого принципа, вы получите читаемый, поддерживаемый код (разработчик, который придет вам на смену, будет благодарен за это!).

Забывать, что кроме работы и кода в жизни есть и другие вещи

В жизни должно быть что-то кроме работы

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

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

Конечно, если вам просто нравится сидеть за кодом до рассвета, вы вполне можете это делать. Но когда это перестает приносить удовольствие, стоит остановиться и заняться чем-то еще.

Завтра непременно наступит!

Недостаточно часто говорить «я не знаю»

При работе над какой-то задачей очень легко застрять. Это случается часто, даже с самыми опытными разработчиками. Будучи джуниором, я недостаточно часто говоря «я не знаю», и совершенно зря. Когда менеджмент задавал мне вопрос, относительно которого я не был уверен, я притворялся, что знаю ответ, вместо того чтобы честно признаться в своем неведении.

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

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

Попытки слишком быстро достичь прогресса

Спешка

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

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

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

Отсутствие участия в жизни сообщества и нежелание заниматься созданием сети знакомств

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

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

Найдите интересные вам сообщества (например, freeCodeCamp, CodeNewbies, 100DaysOfCode) и присоединитесь к ним! Можно также посещать митапы, проходящие в вашем городе.

Помимо всего прочего, это также поможет вам в создании вашей сети знакомств (нетворкинге). «Сеть» – это, собственно, те люди из вашей индустрии, с которыми вы знакомы. Почему эта сеть имеет значение? Скажем, вы решили поискать другую работу. Если вы обратитесь к своей сети, кто-нибудь из знакомых может посоветовать вам какую-нибудь должность или даже представить вас своей компании. Это дает солидное преимущество в плане попадания на собеседования: поскольку у вас будет кто-то, кто выскажется в вашу пользу, вы больше не будете еще одним «именем в пачке резюме».

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here