Что нужно знать джуну java

от admin

Как стать junior-разработчиком (Часть 4) | Изучение языка и Pet Project на примере Java

Язык java в данный момент является одним из самых популярных на российском рынке. Имеется большое количество вакансий и зарплаты по ним, как правило, превышают зарплаты по Python, PHP и JS. Его сложно назвать простым для изучения. Требования к стажеру по Java могут быть значительно более высокими, чем к джуну, по выше перечисленным языкам. Отчасти это связано с необходимостью понимать большое количество применяемых концепций.

Данная статья четвертая в цикле про то, как стать junior-разработчиком.

1 Установка среды разработки

Для того, чтобы приступить к изучению языка и его инфраструктуры, необходимо установить среду разработки. На 2021 год наибольшей популярностью пользуется Intellij Idea от JetBrains. Возможно поставить бесплатную версию Community Edition. Для студентов и преподавателей JetBrains предоставляет лицензию, по которой можно получить их продукты бесплатно.

2 Установка JDK и PostrgeSQL

Код в Java выполняется компилятором — JDK. В него также входят стандартные библиотеки классов Java, документация и различные утилиты.
Проще всего установить JDK при помощи Intellij Idea.
В меню нужно перейти по пути File | Project Structure | Platform Settings | SDKs. И выбрать Download JDK. Установится самая свежая версия — 15. Java имеет обратную совместимость и между версиями java нет разницы в синтаксисе и код написанный на java 6 будет запускаться на java 15. С каждой новой версией добавляются различные инструменты, упрощающие жизнь.

Ситуация с версиями мне видится следующим образом. Java 6 достаточно старая, уже мало где используется, в java 8 добавлено множество полезных инструментов, в ней есть почти все необходимое для работы без подключения сторонних библиотек. Многие компании до сих пор остаются на ней и находятся в процессе перехода на java 11 или уже перешли на нее. Java 13 и 15 встречается редко.

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

После установки Java необходимо установить базу данных. Чаще всего в крупных компаниях применяется PostgreSQL и Oracle. Установка Oracle представляется собой значительное более сложный процесс, поэтому для обучения удобнее поставить PostgreSQL. Процесс установки по шагам хорошо описан тут.

3 Изучение синтаксиса языка

Синтаксис языка проще начинать изучать с видеоуроков, из них же будет понятно, как запускать код. Мне в 2016 году подошли видеоуроки от Гоши Дударя, у него на канале есть плейлист из 20 уроков и одного видео на час, с выжимкой из 20 отдельных уроков. Если уже есть опыт программирования, то достаточно будет просмотра одного видео. Со времени когда я обучался было выпущено большое количество новых уроков и, возможно, есть уроки значительно лучше.

Из книг для начинающих по Java мне понравилась Head First Java. Она слега устарела и не все примеры собираются, но подача материала очень легкая. У меня на нее ушло около недели.

Все непонятные моменты при изучении лучше сразу гуглить и сразу с ними разбираться. Много полезной информации есть на сайте Java Rush. После того, как будет понятен основной синтаксис языка, можно приступать к изучению фреймворка и написанию своего проекта.

4 Изучение фреймворка и написание Pet Project

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

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

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

На канале letsCode есть хорошие видеоуроки для начинающих по написанию приложений с использование Spring:
1) Плейлист один
2) Плейлист два
Можно просто повторять действия из видео, опять же, поначалу будет ничего непонятно. После просмотра второго плейлиста, скорее всего, примерно вырисуется картина происходящего.
После этого стоит еще раз перечитать статьи, указанные выше, многие вещи станут понятны.

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

Мануал для джуна. Как стать хорошим Java-разработчиком с нуля: максимально подробная инструкция для начинающих

Александр Решетник отвечает за направление Java в компании EPAM в Виннице. Уже 7 лет он помогает начинающим стать разработчиками.

«Знаю, это не просто и не быстро, ситуация в ИТ постоянно меняется. Следуйте следующим советам о том, как начать свой путь в разработке программного обеспечения на языке Java и как двигаться по выбранному пути. Одно время такие советы мне очень помогли», — говорит Александр.

Вот инструкция о том, как стать классным джавистом для читателей dev.ua.

Александр Решетник отвечает за направление Java в компании EPAM в Виннице. Уже 7 лет он помогает начинающим стать разработчиками.

«Знаю, это не просто и не быстро, ситуация в ИТ постоянно меняется. Следуйте следующим советам о том, как начать свой путь в разработке программного обеспечения на языке Java и как двигаться по выбранному пути. Одно время такие советы мне очень помогли», — говорит Александр.

Вот инструкция о том, как стать классным джавистом для читателей dev.ua.

Содержание

Дорожная карта

Современная индустрия программного обеспечения очень велика и разнообразна. Трудно понять все актуальные направления, инструменты и библиотеки даже в рамках одного языка программирования. Посмотрите, например, различные полезные библиотеки для Java разработчиков. Есть около 1000 позиций, и это еще далеко не все. Java занимает стабильную нишу в современной разработке и не собирается уступать позиции. Более того, есть интересные прогнозы относительно ее будущего. Рекомендую статью Mike Melason «Не нужно скачать ей как back: Что Java is still champ».

Что касается начала изучения Java, могу свести ответ к трем рекомендациям:

  1. Найдите актуальную дорожную карту для изучения Java и двигайтесь по ней.
  2. Начните с изучения фундаментальных вещей с помощью проверенных книг.
  3. Уделяйте большое внимание практическим навыкам и получению реального опыта.

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

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

Об ожиданиях работодателей

Сегодня работодатели ожидают многое от тех, кто подается на позицию Junior Developer:

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

Последнее, кстати, можно отнести к категории «самого главного».

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

К счастью для современных начинающих, существует отличная дорожная карта (и не одна), которая показывает, как пройти от базового до уровня профессионального разработчика. Для еще большего счастья уже создано огромное количество учебных ресурсов, которые помогают овладеть любой технологией. Учеба стала существенным бизнесом с жесткой конкуренцией, поэтому есть из чего выбирать и среди платных ресурсов, и среди бесплатных. Учеба требует много времени и концентрации. Чтобы делать это эффективнее, советую книгу Барбары Окли «Научиться учиться. Как запустить свой мозг по полной».

С чего начать

Рассмотрим карту приведенную выше и определим, с чего начать. Она не полна. Пожалуй, составить полную универсальную карту невозможно. В будущем ваше личное развитие и характер проектов, на которых вы будете работать, будет ее дополнять. Путь на карте начинается с базовых навыков: Java, Maven/Gradle, SQL и общих навыков, необходимых каждому (Git, HTTP, Data structures и др.). Далее он ведет нас к базам данных, фреймворкам и ORM. Еще дальше на пути — тестирование, разнообразные библиотеки, микросервисы и многое другое.

Позже, когда будут освоены базовые навыки в Java, можно параллельно заниматься SQL и разобраться с основами Maven или Gradle. Для тех, кому нужно начинать совсем с нуля, я бы посоветовал Kathy Sierra, Bert Bates Head First. Java».

Впоследствии можно перейти к более серьезной литературе — Herbert Schildt «Java: A Beginner’s Guide» или «Java: The Complete Reference» или Cay S. Horstmann «Core Java». Кстати, у обоих авторов есть другие книги по Java (и не только), на которые стоит обратить внимание. А когда уже почувствуете себя совершенно уверенно, беритесь за более сложные книги Bruce Eckel Thinking in Java и Joshua Bloch Effective Java. Я специально уделяю максимум внимания книгам в самом начале, потому что это хороший фундамент ваших знаний и собственно, это тот же ключ к успеху Java-разработчика.

Основные навыки

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

Можно начать с быстрого курса, такой можно найти, например, на Udemy — Maven Quick Start: A Fast Introduction to Maven by Example.

Но впоследствии стоит прочесть нечто более основательное, например, Tim O’Brien «Maven: The Complete Reference».

По Gradle можно начать с курса на Linkedin — Learning Gradle, а затем углубиться в официальную документацию — Gradle Guides gradle.org/guides.

Третьим компонентом фундамента для Backend-разработчика является, конечно, работа с базами данных. И здесь не обойдешься без знания SQL. Для начала могу посоветовать книгу Thomas Nield «Getting Started with SQL»

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

  • Книги могут создать хорошую основу для знания по определенной технологии или теме. Однако следует помнить, что книги выходят с некоторым опозданием. Впрочем, всегда есть книги обязательные для чтения в любом стеке технологий. Начинайте с какой-нибудь книги для начинающих, и уже позже, с определенным опытом, переходите в литературу для профессионалов.
  • Начальные курсы на Coursera, LinkedIn, Udemy и других подобных платформах тоже могут быть хорошим источником информации, особенно если у курса хорошие отзывы, практические задания и хороший темп.
  • Официальная документация, вероятно, единственный источник, который может предоставить исчерпывающую информацию о возможности технологии или инструмента (кроме исходного кода, конечно).
  • Разнообразные блоги, туториалы, статьи, Stackoverflow могут помочь решить какую-либо конкретную проблему или вопросы.

Дополнительные навыки

  1. Навыки нужны каждому разработчику. Сюда можно включить системы контроля версий (Git, SVN), HTTPS, REST, web (basic, OAuth, SSO, JWT), Scrum, Kanban, структуры данных, алгоритмы и многое другое.
  2. Знакомство со смежными специальностями, чтобы знать сущность работы своих коллег. Мой список рекомендуемой летературы для этого таков:
    — The Phoenix Project by Gene Kim, Kevin Behr, and George Spafford
    — Beautiful Testing: Leading Professionals Reveal How They Improve Software по Tim Riley, Adam Goucher
    — Business Analysis For Dummies by Kate McGoey, Kupe Kupersmith
    — 100 Things Every Designer Должны знать People by Susan Weinschenk
    — Making Things Happen: Mastering Project Management by Scott Berkun.
  3. Умение решать задачи с помощью программирования и писать хороший код. Здесь пригодится определенная комбинация практики и теории.

Теория:

  • SOLID, DRY, YAGNI;
  • Clean Code: A Handbook of Agile Software Craftsmanship 1st Edition by Robert C. Martin;
  • Code Craft: The Practice of Writing Excellent Code 1st Edition by Pete Goodliffe

Практика:

Как двигаться по карте дальше

После того, как у вас уже есть немного опыта с фундаментальными вещами, можно переходить к следующим пунктам на нашей карте: CLI tools, Web frameworks, Databases и так далее. Для каждого инструмента, который нужно овладеть, нужно выбрать хорошую книгу или онлайн курс, и начать использовать его практически. На этом этапе стоит задуматься о простых задачах, которые вы можете начать решать с вашим опытом или даже о собственном пэт-проекте. Далее можно переходить к участию в проектах с открытым кодом. Здесь могут пригодиться следующие ресурсы:

Всегда можно найти что-нибудь на свой уровень и количество свободного времени. Такое участие будет огромным плюсом при поиске работы и подарит уникальный опыт.

Вывод

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

Путь к Java Junior Developer

Здравствуйте.
Меня зовут Кислин Григорий. В начале ноября в Санкт-Петербурге закончился первый обучающий семинар «Java. Базовый курс», сейчас переименнованый в «Java. Junior Developer. Интенсив». Хочу поделиться с Вами полученным при его проведении опытом на тему обучения Java а также своим опытом трудоустройства на позицию Java разработчика.

Изучаем Java

Вторая вещь после синтаксиса языка — наиболее часто используемые API. На начальном этапе это сервлеты, JSP, JDBC, JUnit.

Затем идет вещь, нужная любому программисту (не только Java) — кругозор. Сюда относится SQL, XML (xsd, xslt, XPath), HTML, JavaScript, Unix shell и пр.

Наконец, инструменты разработки. Общие: отладка в браузере (например firebug для FF), системы багтрекинга и контроля версий, СУБД, инструменты CI и Java: Ant / Maven, веб-контейнеры/серверы приложений.

И, как говорится, last but not least — IDE: создание проекта, кодирование, рефакторинг, дебаг, деплой, тестирование. Насколько вы им владеете, настолько быстрее, проще и качественнее будет ваш проект. По IDEA рекомендую познакомится с роликом Эффективная работа с кодом в IntelliJ IDEA.

Практика

70% времени гуглить на тему лучшего решения каждой локальной проблемы и лучшего варианта кода. Для поиска особенно рекомендую ресурс stackoverflow.com, в ответах которого нужно будет отделить зерна от плевел. Особенно хорошо, если это не абстрактное приложение, а что-то нужное. Или, например, тестовое задание на работу. Вам круто повезет, если Вы знаете предметную область, хороший программист и Вас готовы взять на работу без опыта в Java — тогда Вы получаете опыт а вам еще за это платят. Здесь интересная классификация работы, зарплаты и получаемого опыта. Я бы только не стал сводить все к деньгам и карьере. Когда наберетесь опыта и будет возможность выбирать, можно кодировать для себя, для удовольствия. Ну и выгодно продать себя — это тоже часть игры в программирование, мера вашего профессионализма.

Собеседование

Совсем недавно на Хабре опубликовали хорошую статью про собеседование с позиции работадателя. Там тоже люди:) и чем более человеческие отношения у вас сложаться с собеседующим — тем больше шансов на успех. Ну и вообще — останется приятный осадок. Однако есть и такие собеседования, с которых я бы ушел с чувством, что мы мало подходим друг другу и хорошо, что мне не придется работать с таким начальником. Наконец, как только почувствуете достаточную уверенность, ходите на собеседования! (для людей с опытом, я бы еще добавил исследование рынка с позиции архитектуры, решений и технологий, с частотой пару раз в год и на позиции которые действительно интересны). Причем старайтесь из каждого вынести максимум. Если не знаете — не стесняйтесь поинтересоваться правильным ответом.
После собеседования сразу садитесь за гугл до полной ясности и не сидете сложа руки, ожидая результата. Продолжайте заниматься тем же, что и до него: обучаться и ходить на следующие интерью. Относитесь к этому как к процессу. В случае, если ответа не дали в означенный срок, не стесняйтесь позвонить и поинтересоваться результатом. В случае, если у Вас есть email собеседующего (например вам прислали тестовое задание), и вразумительного ответа от HR не дождаться, можно поинтересоваться результатом напрямую. Разумный срок для пингования — раз в неделю. Я где-то полтора месяца, ничего особенного не ожидая, раз в неделю сначала звонил, а потом переписывался с Yota. В результате меня передали в другой отдел, где условия оказались лучше тех, куда я изначально собеседовался.
При этом, все таки, основа любого собеседования на позицию Java-разработчика это ваши знания: общее понимание сути программирования вообще, java в частности и специфические вещи java. Например: «Сколько экземпляров синглетона может быть в одной JVM?» (необходимо произнести ключевую фразу- зависит от ClassLoader). Вот пример вопросов на собеседовании по коллекциям. Причем это далеко не все вопросы. Меня, например, спросили- почему берется не просто хэш ключа, а в нем еще перемешиваются байты? Вопрос скорее на общее понимание работы HashMap и сообразительность, ответ можно посмотреть в реализации HashMap. Конечно, все вышеперечисленное не потребуют от Junior. Но чем больше знаний у Вас будет — тем выше Ваши шансы.

Итоги

Если временем не ограничены, можно пробовать освоить все самостоятельно. Если нет, встает вопрос — как получит за минимальное время максимальное количество знаний? Можно поискать индивидуальное репетиторство (особенно если пробелы в чем-то конкретном) или закончить Java курсы с максимально широким и глубоким вхождением в тему. Я бы выделил следующие критерии отбора:

  • Преподает программист. С вопросами и задачами из собеседований и знанием Java не только по книжкам.
  • Практика. Лучше всего, когда на протяжении курса разбор теории идет вместе с разрабатываемым приложением.
  • Работа в IDE (пишу, потому что видел на YouTube курсы java в notepad).
  • Охват. Максимальное количество тем за отведенные часы (кроме собственно Java выделю важные темы: работа с XML, SQL/JDBC, сервлеты/JSP, JUnit). Конечно, не в ущерб пониманию.
    Для этого чаcть несложного материала (синтаксис, операции, типы, управляющие конструкции) слушатели изучают самостоятельно (и бесплатно).

Если Вы собираетесь (или продолжаете) изучать Java, то надеюсь, что Вам было небезинтересно:).
Спасибо.

PS: Перепост из песочницы, куда я попал за ссылку на курс. Отдельное спасибо пользователю Хабра, возвратившему мне инвайт.

Гайд для «джуна». Что нужно знать начинающему разработчику Java, чтобы получить работу

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

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

В дальнейшем у меня были разные проекты на Java: один длился два с половиной года, некоторые другие намного меньше. Оказалось, что на качество твоей работы влияет множество факторов: и твои собственные hard и soft skills, и влияние окружающих людей, с которыми ты работаешь в команде. Рассмотрим эти факторы подробнее.

Почему Java?

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

Наверное, не ошибусь, если порекомендую Java как универсальный язык программирования, удобный для изучения и популярный у работодателей. В доказательство приведу данные совсем свежего исследования, проведенного аналитиками платформы All Cups от VK, Фондом «Сколково» и IT_One в рамках чемпионата IT_One Cup. Java. По результатам опроса более чем 1,5 тысяч разработчиков — Java был назван наиболее востребованным языком программирования (так отметили 33% респондентов). В топ-3 также вошли Python (21%) и С++ (16%). 39% опрошенных уверены, что Java всегда будет востребован, а каждый четвертый разработчик отметил, что этот язык развивается активнее остальных.

Код

Долго говорить о коде мы не будем: либо вы любите Java и хотите узнать о нем больше, либо зачем вы здесь? Остановимся на том, как лучше изучать основы программирования и практиковаться. Чаще всего начинающие программисты используют для этих целей интернет-ресурсы: обучающие вроде JavaRush или профессиональные вроде Хабра, где часто публикуют материалы, полезные как раз для новичков.

Но и традиционное обучение по книгам не менее эффективно. Для понимания фундаментальных основ языка (Java Core) можно взять, например, пособия серии Head First — «Паттерны проектирования», «Изучаем Java» и другие. В них материал подается очень доходчиво, приводятся живые примеры и ставятся практические задачи для закрепления темы.

После азов стоит переходить уже к более частным вещам — например, прочитать книгу «Spring в действии» Крейга Уоллса, новое издание которой вышло в 2022 году. Правда, монография посвящена Spring 3, а актуальная версия фреймворка в Java — Spring 5. Поэтому дополнительно вам нужно будет ознакомиться с официальной документацией Spring, где подробно описана его функциональность, приведены гайды для Spring-проектов на русском и на английском языках, а также кейсы.

Но самое эффективное обучение — это, конечно, реальная практика. Для старшеклассников и студентов существуют летние школы программирования и другие виды курсов, после успешного окончания которых вы уже можете претендовать на стажировку.

Базы данных

Умение использовать базы данных для программиста почти так же важно, как и грамотный кодинг. На первом этапе вы просто подключаете базу данных и действуете по шаблону. Однако стоит сразу иметь в виду, что баз данных и их реализаций очень много: колоночные, реляционные, нереляционные и т. д. В одних проектах лучше применять одни, в других — другие. Для выбора БД и СУБД можно руководствоваться их основными характеристиками, выраженными в акрониме ACID (Atomicity, Consistency, Isolation, Durability). Мы смотрим, какие критерии атомарности, соласованности, изолированности, стойкости нам нужны, — и в зависимости от этого подбираем наиболее подходящую базу.

Что касается наиболее популярных СУБД — на моей практике в большинстве проектов встречались либо PostgreSQL, либо mongoDB. Скорее всего, когда вы придете к своему первому работодателю, то тоже столкнетесь с одной из них. Подготовьтесь к этому заранее.

Бренчирование и контроль версий

Когда ты «сам себе разработчик», у тебя одна ветка кода, ты заливаешь ее в master, и не испытываешь никаких проблем. Но когда ты приходишь в команду, то сталкиваешься с десятками веток, тысячами коммитов. Они нужны для того, чтобы разработчики не мешали друг другу и могли правильно позиционировать свой код. Чтобы такая структура не выглядела для вас как хаос, с самого начала лучше узнать у лида или старшего наставника, какая у команды стратегия бренчирования (стратегия построения веток): GitFlow, GitHub Flow, GitLab Flow, Trunk-based Development или что-то еще. Облегчает работу с версиями кода специальный программный инструмент — система контроля версий (Version Control System, VCS). В данный момент в этом сегменте ПО вне конкуренции Git, и вы уже сейчас можете смело начинать его изучать.

В большой корпоративной разработке крайне важно, какую платформу (хостинг) контроля версий использует компания. Среди разработчиков наиболее популярен GitHub, где можно найти огромное количество источников данных. Но в рамках корпоративного проекта, скорее всего, вы будете пользоваться Bitbucket или GitLab. Bitbucket напминает GitHub по функциональности, но имеет и свои преимущества: например, приватные репозитории, которые можно создавать бесплатно в большом количестве. У GitLab так же есть уникальный функционал, связанный с CI/CD-пайплайнами.

Методология CI/CD

CI/CD, или непрерывная интеграция и развертывание — это методология DevOps, которую необходимо знать, если в компании практикуется быстрая разработка и вывод продукта конечному пользователю. Она позволяет автоматизировать процессы тестирования и доставки новых модулей в проект. Начинающему разработчику стоит иметь представление об основных этапах CI/CD: Plan, Code, Build, Test и так далее, а также разбираться в основных инструментах, которые его поддерживают, технологиях контейнеризации (прежде всего Docker) и оркестрации.

Soft Skills: кирпичики для карьерного роста

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

Более того: именно прокаченные soft skills, а не hard skills, на мой взгляд, больше всего отличают «сеньора» от «джуна». Программист высокого уровня может брать на себя большую ответственность, умеет распределять задачи среди участников команды, развивать их навыки, а также расставлять приоритеты для собственного развития. Креативность, умение адаптироваться к новым условиям (гибкость), дисциплинированность, самостоятельность — те умения, которые вам очень понадобятся. Универсального совета по их приобретению нет — некоторые скиллы приходят с опытом, некоторые можно наработать самому. Главное — больше общайтесь и относитесь к своей профессии серьезно.

В добрый путь

Итак, какие основные технологии нужно знать, чтобы претендовать на место в команде Java разработчиков? Помимо кода, необходимо понимание работы с базами данных, Spring и Git, умение красиво «обернуть» свой код (здесь Docker вам в помощь). Знание Kafka — опционально, потому что если вы изучите базы данных и будете понимать, как они работают, то переход на конкретный брокер типа Kafka не составит труда.

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

Читать:
Mobile broadband hl service что это за программа

Похожие статьи