ru:https://highload.today/blogs/chto-by-ya-skazal-sebe-v-nachale-karery-tri-glavnyh-soveta-ot-razrabotchika-s-14-letnim-stazhem/ ua:https://highload.today/uk/blogs/shho-b-ya-skazav-sobi-na-pochatku-kar-yeri-tri-golovni-poradi-vid-rozrobnika-z-14-richnim-stazhem/
logo
Карьера      17/10/2022

Что бы я сказал себе в начале карьеры: три главных совета от разработчика с 14-летним стажем

Олександр Панченко BLOG

Tech Lead, Software engineer at SPD-Ukraine

Как начать карьеру в IT, если со всего перечня необходимого у вас только желание, Google и приблизительное понимание будущей специальности из того пятиминутного видео на YouTube?  

Старт карьеры в IT — нелегкий путь. И даже если все можно погуглить и набросать для себя ориентировочный план действий, все равно это не заменит опытного знакомого (ментора), который за кофе поделится картой точного расположения «граблей» и лазейками, чтобы эта дорожка кое-где, но была менее тернистой. 

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

Let’s go!

1 Закладывай железобетонный фундамент с самого начала! Фокусируйся на самом важном!

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

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

Поэтому у меня есть такое правило: «Максимально фокусируйся на двух-трех вещах одновременно, и не больше» .

Хочу остановиться на некоторых важных пунктах:

Хороший уровень владения одним языком программирования

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

Но это только один из вариантов — возможно, кому-то лучше подойдет:

Курс-професія "Junior Data Analyst" від robot_dreams.
Комплексний курc для всіх, хто хоче опанувати нову професію з нуля.На прикладі реальних датасетів ви розберете кожен етап аналізу даних.
Програма курсу і реєстрація

Здесь уже дело вкуса 🙂

Знакомство и работа с фреймворками

Важно знать основы фреймворков, которые используются на текущем проекте, чаще всего это Spring и Hibernate. Без этого трудно будет выполнять поставленные задачи (а иногда и совсем невозможно).

Основательное знание структур данных и алгоритмов

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

Здесь важно сразу пробовать применять полученные знания на практике (на текущем проекте или потренироваться на собственном pet-проекте).

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

Развивайте свои коммуникативные навыки

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

Онлайн-курс "Проджект-менеджер в ІТ" від Laba.
Навчіться запускати, контролювати й успішно реалізовувати ІТ-проєкти. Пройти весь шлях проєктного управління на реальному кейсі вам допоможе PMD із 19-річним досвідом в ІТ.
Детальніше про курс

Уверенное владение английским языком 

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

2 Копай вглубь!

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

Минимум изучайте глубже:

  • язык программирования;
  • структуры данных;
  • алгоритмы;
  • фреймворки;
  • модульные и интеграционные тесты. 

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

Курс-професія "Motion Designer" від Skvot.
Навчіться створювати 2D- та 3D-анімації у софтах After Effects, Cinema 4D та Octane Render. Протягом курсу ви створите 14 моушн-роликів, 2 з яких — для реального клієнта.
Детальніше про курс

3 Смотри шире — обогащай собственную экспертизу

Невозможно стать настоящим Software Developer, занимаясь только кодингом таски, которую вам дает тимлид, а до этого архитектор или техлид расписывает спецификацию.

В 2022 году полноценный Software Developer — это специалист, участвующий в дизайне, программировании, сборке, деплое и поддержке software, над которым он (или команда) работает.

А для этого нужно иметь широкий спектр скиллов. 

Приведу несколько примеров: 

  • Soft skills — коммуникация внутри команды и с клиентом критически важна, нужно ее постоянно развивать.
  • Архитектура и system design — это мастхев, здесь нужно знать хотя бы основы архитектуры и ее распространенные типы, их плюсы и минусы, где могут быть подводные камни, которые есть best practices.
  • Аналитическое мышление — способность проанализировать задачу, оценить ее, понимать tradeoffs, pitfalls и как твоя логика будет скейлиться.
  • Если позволяет проект и время, то изучайте хотя бы на базовом уровне один-два дополнительных языка программирования. Например, если сейчас пишете на Java, я бы еще взглянул в сторону Kotlin и Python (Python будет полезен для написания скриптов).
  • DevOps я думаю, что Software Developer должен четко и ясно понимать, как написанный им сервис доставляется на тестовые энвайрменты или продакшен, какие проблемы возникают с его сервисом и как они решаются. Во многих командах, особенно маленьких — выделенного DevOps нет, и все чаще клиенты ожидают, что Software Developer знает, как доставить проделанную работу на продакшен и поддерживать ее в стабильно рабочем состоянии в течение длительного времени. В последнее время популярно введение культуры DevOps в маленьких, средних и даже больших командах, поэтому эти знания не будут лишними.
  • Онлайн курс UI/UX Design Pro від Ithillel.
    Навчіться проєктувати інтерфейси з урахуванням поведінки користувачів, розв'язувати їх проблеми через Customer Journey Mapping, створювати дизайн-системи і проводити дослідження юзабіліті, включаючи проєктування мобільних додатків для Android та iOS і розробку UX/UI на основі даних!
    Дізнатися більше

Last but not least

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

Keep going!

If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.

Онлайн-курс "Бренд-менеджмент" від Laba.
Розберіться в комплексному управлінні брендом: від його структури до комунікації з аудиторією.Дізнайтесь принципи побудови бренд-стратегії, проведення досліджень і пошуку свого споживача.
Детальніше про курс

Этот материал – не редакционный, это – личное мнение его автора. Редакция может не разделять это мнение.

Топ-5 самых популярных блогеров марта

PHP Developer в ScrumLaunch
Всего просмотровВсего просмотров
2434
#1
Всего просмотровВсего просмотров
2434
Founder at Shallwe, Python Software Engineer (Django/React)
Всего просмотровВсего просмотров
113
#2
Всего просмотровВсего просмотров
113
Career Consultant в GoIT
Всего просмотровВсего просмотров
95
#3
Всего просмотровВсего просмотров
95
CEO & Founder в Trustee
Всего просмотровВсего просмотров
94
#4
Всего просмотровВсего просмотров
94
Рейтинг блогеров

Ваша жалоба отправлена модератору

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: