Блог

Путь джедая, или Как Junior-разработчику стать генералом

В ИТ-сфере есть различные уровни специалистов: junior, middle, senior, Lead, Head, CTO, CEO. Конечно, не каждый Java Junior, начиная свою карьеру в IT, планирует стать техническим директором крупной компании, но большинство руководителей когда-то тоже были джуниорами. Поэтому, даже если вы пока в самом начале карьерного пути, есть над чем задуматься.

Как начинающим разработчикам стать успешными в профессии, мы узнали у Алексея Канашевича, Senior Technical Lead компании ID Finance и ментора Laboratory 2.0 для Java-джуниоров.

Алексей Канашевич, Senior Technical Lead компании ID Finance, ментор Laboratory 2.0

## Side-project для души

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

Отсюда плюсы:

— внутренняя мотивация,

— практическое применение знаний,

— увеличение кругозора,

— отношение к работе/самодисциплина.

## Один инструмент за раз

У начинающего разработчика есть соблазн взять модный язык, свеженький фреймворк, собрать это сборщиком, который не трогал, но давно хотел. И для того, чтобы все быстрее заработало, добавить реактивности и какую-нибудь суперэффективную базу данных nosql со своим собственным языком запросов. А дальше протестировать это с помощью методологии BDD и запустить уж точно под Kubernetes. Ведь сколько всего нового, интересного и неизведанного!

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

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


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


## Маленькие шаги

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

## Общение — бесценно

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

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


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


## А как это работает внутри?

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

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

## Свой подход к освоению нового

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

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

## От неинтересной задачи до интересной — один шаг

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

К примеру, если перед тобой однотипная работа, где нужно вставить 1000 записей в таблицу, можно просто копировать и вставлять. А можно написать скрипт, который возьмет данные из Ехсel-таблицы и вставит их в базу.


«В первом случае ты замучился, потратил кучу времени, расстроился и ничему не научился. Во втором варианте — освоил скрипт, сделал быстрее, стал умнее, да еще и удовольствие получил».


## Как это делают другие

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

Поэтому:

— изучайте Pull Request — изменения других разработчиков,

— слушайте на встречах, как обсуждаются проблемы и подходы решения,

— перенимайте опыт «лида» и изучайте его подходы к решению проблем.

## Если учиться, то у лучших

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

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


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


## Что делать, если у меня проблема?

Если начал работу, доводи ее до конца. Наполовину сделанная работа — это несделанная работа. Если что-то не получилось, нельзя останавливаться, и говорить: «У меня не получилось». Потому что тебя обязательно спросят: «А что ты сделал, чтобы получилось?»

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

## Зона влияния

У каждого человека есть базовые потребности, среди которых наряду с безопасностью и голодом идет уважение. Так вот, любой человек хочет, чтобы его уважали. А когда его уважают? Когда он много делает, ответственен за что-то и имеет определенную зону влияния.

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


«У каждого специалиста, в том числе джуниора, задача — стать полезным в команде».


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

Ответственность и влияние являются почти синонимами. Если ты ответственен за что-то, ты на это влияешь, ты ценен. И это прямой мостик к следующей ступени в карьере. Но не все сразу…

## Идите работать

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

Мы в ID Finance предоставляем отличную возможность для начинающих специалистов, предлагая им не стажировку, а работу и обучение в проекте Laboratory 2.0. При этом мы сразу оформляем ребят в штат и даем им честную зарплату. Мечта начинающего специалиста! А дальше уже все зависит от него — как проявит себя во время испытательного срока, чтобы уже дальше присоединиться к реальным финтех-проектам компании.

Сейчас у нас идет активный набор в новый поток Laboratory 2.0, куда мы до 1 марта ищем сразу 20 талантливых Java-джуниоров. Наши требования — это хорошие курсы или небольшой опыт разработки, а также отлично выполненное тестовое задание. Резюме заинтересованных ребят мы ждем на почту нашего HR-а [email protected] с темой письма «Java Junior».

А от себя желаю всем удачи и успешного пути!

Обсуждение
Этот материал нельзя комментировать.