UA RU
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), а именно подготовка к ней помогает изучить или вспомнить основные базовые темы по технологии, закрыть пробелы по смежным темам, которые не изучал до этого.

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

Онлайн-курс "Ціноутворення для виробників та ритейлу" від Laba.
Масштабуйте бізнес, незалежно від конкурентів, завдяки оптимізації стратегії ціноутворення.Досвід та фідбек від Senior Product Manager Pricing Platform у Zalando.
Детальніше про курс

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

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

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

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

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

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

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

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

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

Онлайн-курс Pyton від Powercode academy.
Опануйте PYTHON з нуля та майте проект у своєму портфоліо вже через 4 місяця.
Приєднатися

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

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

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

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

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

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

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

Онлайн-курс "SMM-спеціаліст" від Laba.
Від аналізу аудиторії та створення живого контенту — до побудови комʼюніті навколо бренду в соцмережах.Під менторством Senior SMM Specialist в Uklon.
Дізнатись більше

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 в маленьких, средних и даже больших командах, поэтому эти знания не будут лишними.
  • Психологічний профорієнтаційний тест для IT-фахівців від Hillel IT School.
    Пройдіть психологічний профорієнтаційний тест для IT-фахівців щоб дізнатися ваші сильні сторони, вподобання і інтереси і з'ясувати, яка IT-спеціальність вам підходить.
    Пройти тест

Last but not least

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

Keep going!

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

Онлайн-курс Frontend-разробник від Powercode academy.
Курс на якому ти напишеш свій чистий код на JavaScript, попрацюєш із різними видами верстки, а також адаптаціями проектів під будь-які екрани. .
Зарееструватися

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

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

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

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