JavaRush /Java блог /Random /Жизнь после первого оффера. Что нужно учить начинающему J...
Константин
36 уровень

Жизнь после первого оффера. Что нужно учить начинающему Java-разработчику?

Статья из группы Random
Привет! Здесь мы много говорим о том, как получить первую работу, что нужно для этого изучить и как себя правильно вести. Это все хорошо, но что делать после того, как вы получили первую работу? Можно расслабиться и плыть по течению? Как бы не так. Жизнь после первого оффера. Что нужно учить начинающему Java-разработчику? - 1Профессия программиста подразумевает, что вы будете учиться дальше. Много учиться. Очень много учиться. Поэтому сегодня мне бы хотелось немного порассуждать о дальнейших направлениях развития после заветного первого оффера. Поехали.

1. Углубление знаний в базовых темах

Чтобы получить первую работу, вы наверняка изучили базовые темы для Java-разработчика. Думаете, этого будет достаточно? Нет, нет и еще раз нет. Опытных разработчиков от зеленых новичков отличает глубина знаний. И получается так, что вроде области знаний все те же, но синьор-разработчик сможет такие нюансы о них рассказать, о которых вы даже и не догадывались. С одной стороны вы можете сказать, что тут все упирается в опыт. Мол, опытный разработчик потому и опытный, так как все это уже многократно “потрогал”, поэтому все так подробно знает. Это правда. Но лишь отчасти. Помимо получения постоянного опыта в разработке, разработчики дополнительно изучают теорию: по статьям, книгам, видео. Например, для развития Java-разработчика, который имеет дело со Spring, различные видео Евгения Борисова обязательны к просмотру. По ссылке видео, в котором он строит аналог Spring-контейнера: после него я действительно начал понимать, что такое Spring и как он работает. Отмечу, что теорию нужно подбирать такую, после изучения которой действительно расширяется кругозор в данной теме. Если вы возьметесь сразу за непомерно глубокое копание в теме, которую вы знаете очень и очень поверхностно, то что у вас в итоге останется в голове? НИ-ЧЕ-ГО. Это будешь лишь пустая трата времени, поэтому подбирайте теорию с умом.Жизнь после первого оффера. Что нужно учить начинающему Java-разработчику? - 2

2. Улучшение (или изучение) английского

Не менее важным для развития разработчика будет английский.На хороших проектах знание английского даже не обсуждается. Он подразумевается по умолчанию. Возможно, вам удалось найти первую работу, имея низкий уровень английского языка или вовсе не зная его. Это круто и вам очень повезло, но это никак не отменяет тот факт, что вам нужно срочно заняться его улучшением (или изучением). Можно работать девелопером с низким уровней английского, но это означает, что вам достанутся только те проекты, которые базируются в странах СНГ. Самые крупные, интересные и денежные проекты — англоязычные. Чтобы перейти в “высшую лигу”, надо знать язык от уровня B1 и выше. Разработчикам не нужно знать язык на уровне таких специалистов, как например, проектный менеджер или бизнес-аналитик, у которых работа построена на общении. Но желательно дотянуть язык до уровня B2. Этого уровня вам хватит с головой. А теперь для ребят, которые уже знают язык: не расслабляйтесь. Язык имеет свойство понемногу забываться, если его не использовать. Не дайте ему заржаветь и поддерживайте его англоязычными фильмами, сериалами, книгами, статьями. Даже работая на англоязычных заказчиков, практики, как правило, будет недостаточно, и уровень языка понемногу падает. Держите его в тонусе.Жизнь после первого оффера. Что нужно учить начинающему Java-разработчику? - 3

3. Получение сертификатов (Java, AWS)

Сейчас многие курсы выдают сертификаты об окончании. Но давайте будем честны. Они никому не нужны, и в них никто не смотрит. Как, впрочем, и в дипломы. Тем не менее, существуют сертификаты, которые важны и могут вас выделить среди остальных. Я говорю о сертификации Java от Oracle и AWS (облачные сервисы). Например, сертификация по Java проводится компаниями, у которых есть разрешение от Oracle, и они создают условия для тестирования навыка, удовлетворяющие требованиям Oracle. Собственно, поэтому эти сертификаты и считаются международными. Подробнее о сертификате Java от Oracle можно почитать на JavaRush: про виды сертификаций, подготовку к сертификации, лучшие книги для подготовки к сертификации. Сертификация AWS имеет тот же принцип, но направлена на изучение AWS технологий. Конечно, тут важна не только сама корочка, но и уровень знаний, который вы приобрете при подготовке к тесту. Если у вас есть сертификат, вряд ли смогут вас загонят в угол вопросами по данной технологии.Жизнь после первого оффера. Что нужно учить начинающему Java-разработчику? - 4

4. Изучение востребованных технологий

Информационные технологии беспрерывно двигаются вперед, и с этим ничего не поделаешь. Если вы уже пришли в IT, нужно приспосабливаться. То, что вы учили год тому назад, может завтра стать неактуальным. Это вполне нормально. Основной навык разработчика — это умение быстро поглощать и усваивать новый материал и забывать ненужное. Поэтому если вы хотите оставаться в “теме”, нужно постоянно мониторить ситуацию на рынке. Например, сейчас востребованы такие технологии, как Kubernetes и Docker. Подробнее о разнице между ними можно почитать в этой статье. Также сейчас очень популярны технологии AWS и быстро нарастает использование языка Kotlin (начинает понемногу отвоевывать место на рынке у Java). Подробнее о трендах 2021 года можно почитать в этой статье.

5. Углубленное изучение специфической технологии

Некоторые опытные специалисты становятся профессионалами в одной технологии. Сейчас очень много информации, даже в направлении Java-разработки, поэтому невозможно быть гуру во всем. Почему бы и вам не выбрать одно востребованное направление (технологию, фреймворк), в которой вы станете мастером, знающим все тёмные закоулки? В таком случае вы можете стать очень ценным специалистом для вашей фирмы, к вам будут водить людей для проверки их уровня в данной технологии (собеседования). Также вас попросят проводить ревью проектов, на которых используется “ваша” технология и давать советы (комментарии) по более эффективному и правильному использованию технологии. Как правило компании сами заинтересованы в наличии таких “спецов”. Если вы расскажете руководству о желании погрузиться в какую-либо технологию, вам наверняка помогут выбрать нужную (обычно — ту, которая сейчас востребована в компании), и найдут ментора в компании.Жизнь после первого оффера. Что нужно учить начинающему Java-разработчику? - 5Например, мне предлагали взяться за глубокое изучение технологии Camel, так как было несколько заказчиков, Java-разработчиков именно с этим навыком. Да, технология не совсем новая, но она весьма востребована, и будучи сильным спецом в ней на рынке не пропадёшь: оторвут с руками и ногами. К сожалению, я тогда был занят прокачкой английского и адаптацией к новому проекту, поэтому отказался. Технология для “глубоководного” изучения может быть разной: от Spring в целом до его конкретного фреймворка (Spring Security, Spring Cloud…..), или опять же, AWS технологии, и т.д.

6. Изучение нового языка программирования

Один из вариантов дальнейшего развития — изучение второго языка программирования. Тут я вижу три варианта:
  1. Вспомогательный язык, который часто встречается в Java-проектах. Например, Groovy, на котором пишутся различные вспомогательные скрипты, или Python, который часто идет в комбинации с Java (по крайней мере, я с ним часто сталкиваюсь).
  2. Javascript и какой-нибудь его фреймворк, например, Angular или React. Зная это, можно стать полноценным Fullstack-разработчиком. Такие специалисты довольно редки и востребованы, соответственно, и зарплаты могут себе попросить немалые (на порядок выше, чем обычные Java-разработчики).
  3. Изучить язык, который вырос из Java. Например, Skala, Kotlin. Эти ЯП сейчас набирают огромную популярность и даже немного начинают вытеснять из рынка саму Java. Может, заскочить в их лодку? Многие принципы растут из нашей любимой Java, но при этом присутствует много новшеств и исправлений недостатков Java.
Жизнь после первого оффера. Что нужно учить начинающему Java-разработчику? - 6

7. Прокачка soft-скилов

Под soft-скилами, как правило, подразумевают навыки общения. То есть то, как вы умеете коммуницировать с остальными людьми, доносить и продвигать свои идеи. Если вы хотите расти в управленческом направлении — например, хотите стать тимлидом команды, архитектором, — нужно прокачивать навыки взаимодействия с другими людьми. В этом поможет литература. Для начала порекомендую книгу “Deadline. Роман об управлении проектами” Тома Демарко. Также будут полезны видео на ютубе, чтение статей, различные курсы/тренинги. Но как по мне, самое главное, что нужно делать — стараться больше общаться с разными людьми, и чем больше, тем лучше. Так вы перестанете бояться контактов с малознакомыми людьми, начнете сами находить общие темы и избегать неловких пауз. Ну а если вы от природы интроверт и общение с людьми вас существенно напрягает, то стоит задуматься: а нужно ли вам это? Возможно, лучше потратить это время на становление мастером в какой-либо технологии?Жизнь после первого оффера. Что нужно учить начинающему Java-разработчику? - 7То, что вы получили первую работу, — это не финальное достижение, а только начало пути. И сейчас именно тот момент, когда пул ваших знаний должен расти, как грибы после дождя. Поэтому очень важно определить для себя приоритетные направления и цели. Ведь даже самое быстроходное судно, с самым опытным капитаном будет просто дрейфовать по волнам без цели путешествия. Соответственно, выбирайте направление, ставьте в нем конкретную цель и сроки и начинайте движение. Возможно, небольшими, но стабильными шажками. Надеюсь на то, что сегодня я кого-нибудь натолкнул на размышления) Ну а у меня на этом всё, ставим лайки и учим Java ^^
Комментарии (5)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Леонид Уровень 7
11 февраля 2021
Спасибо! Мотаем на ус и работаем)
Vano540 Уровень 24
10 февраля 2021
спасибо, хорошая статья, много полезной инфы)✌🏼
Андрей Осипов Уровень 18
10 февраля 2021
Я вообще уже больше 5 лет работаю мануальным тестировщиком и для себя уже освоил полностью верстку и начинал JS, потом перебросился на Java и автоматизацию, плюс периодические подходы к английскому. В душе я не программист, но понимаю, что всегда нужно что-то новое для своего развития изучать.
Олег Уровень 16
10 февраля 2021
За статью +, а кто то есть в сообществе кто думает иначе?