Найти в Дзене

Первые дни Junior-разработчика

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

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

Оригинальный комикс тут http://www.commitstrip.com/en/2018/04/24/thats-our-job/
Оригинальный комикс тут http://www.commitstrip.com/en/2018/04/24/thats-our-job/

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

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

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

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

В процессе настройки и ознакомления или после ты получишь свою первую задачу. Не старайся выполнить ее как можно быстрее, если тебе не сказали этого прямо. Делай все как можно более вдумчиво и аккуратно, записывай все вопросы и непонятки, которые придут к тебе в процессе. Позже задашь их руководителю. Я очень рекомендую сразу спросить у него, в каком формате ему удобно отвечать на вопросы. Также обговорите частоту и приоритеты этих обращений. К примеру, он может попросить собирать несрочные вопросы в течение дня, а затем скидывать их вечером в мессенджере. Помимо этого у тебя будут вопросы средней срочности: когда ты в чем-то конкретно застрял, и тебе не помогла ни документация, ни гугл. Совсем срочных вопросов у тебя, по идее, быть не должно, так как доступов, достаточных для того, чтобы сломать что-то серьезное, тебе давать еще не должны. Но если у тебя получилось, то поспеши обрадовать руководителя - это его косяк. Даже если ты пройдешься тайфуном и сломаешь на своем пути все, что только можно - это не плохо. Просто, возможно, у тебя есть таланты тестировщика ;)

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

Небольшой список вещей, в которых тебе не помешает разбираться на базовом уровне:
- инфраструктура твоего языка программирования, основные источники информации о нем
- git
- принципы валидации входных данных
- написание unit-тестов
- docker
- ssh, базовые команды Linux