Как стать Java разработчиком — путь специалиста Leantech с нуля до уровня Middle

Привет! Меня зовут Дима, я Java-разработчик. Хочу рассказать как я пришел в профессию, вырос до мидла и перешел из госучреждений в аутсорс компанию по разработке приложений. Рассказ будет полезен джунам и тем, кто хочет изучать Java, но боится потратить время впустую.
Я стараюсь следить за трендами в разработке, чтобы знать какие технологии набирают популярность и не отставать от коллег. Так вот, судя по статистике от Github, Java до сих пор находится в топ-3 самых востребованных языков разработки, хоть и немного сдала позиции за последние пару лет. На первом месте JavaScript, а на втором Python.

Неудивительно, что сейчас многие выпускники и студенты-программисты думают о том, чтобы учить Java. Я этот путь уже прошел, поэтому решил помочь новичкам и рассказать про свой опыт.
Почему я решил стать программистом
Интерес к технологиям у меня был с детства — в 7-8 лет у меня появился плейстейшен, я много играл в игры и мне была интересна сфера IT. В школе мне нравилась математика, и в старших классах я подумал, почему бы не пойти учиться на программиста.
Я не очень хорошо сдал ЕГЭ, у меня было около 150 баллов, но на техническую специальность мне хватило. Сначала я хотел на информатику и вычислительную технику, но решил подать документы на все специальности, связанные с программной инженерией, чтобы наверняка попасть на программирование. В итоге я поступил в ОмГТУ АСОИУ — универ меня заинтересовал агитацией по разработке роботов, сайтов и стажировками в крупных компаниях.
Универ или самообучение?
Для меня главным приоритетом в учебе было получить профессию и стать хорошим специалистом. Я понимал, что для этого нужно много усилий и старался все курсовые и рефераты сдавать сам — это все равно дает какой-то опыт и развивает самостоятельность. У нас в группе была здоровая конкуренция, это тоже помогало нам развиваться.
Универ давал базовые знания, но я понимал, что этого недостаточно. Я старался самостоятельно учиться через YouTube, но в процессе понял, что лучше начать изучение с классических книг по языкам. Потом можно комбинировать с роликами на YouTube, чтобы закрепить информацию. Дело в том, большинство роликов основано именно на этих книгах, а авторы каналов часто пропускают важную информацию — с первоисточником можно заполнить эти пробелы.
Например, у студентов-программистов нет возможности посмотреть, как правильно писать код, все вставляют свои костыли. Преподы смотрят только на результат, а не на то, как реализован код. Чтобы самому разобраться как писать хороший код, можно сначала посмотреть реализацию в книге, потом посмотреть гайды на YouTube и совместить.
Лучше всего смотреть разные источники информации, черпать знания отовсюду — учеба, книги, статьи и видео экспертов, потом все это пробовать на практике.
Вот мой топ книг и каналов для обучения для Java-разработчиков:
Как новичку выбрать язык?
Я не сразу определился, на каком языке хочу писать, поэтому пробовал себя в разных направлениях. Попробовал верстку, PHP, изучил базовый синтаксис C++, и понял, что это все не мое. На втором курсе я начал изучать Java и меня зацепило. У джавы простой синтаксис, она легкая для понимания, выражения мыслей и реализации кода. Если вы не знаете, с чего начать, можно попробовать языки разметки HTML и CSS, потом потестить JavaScript, посмотреть приятно ли на нем писать. Тут нет универсальной формулы, все делается методом проб и ошибок.
Кроме того, нужно опираться на рынок труда в вашем городе. Посмотрите, какие языки и технологии используют компании, куда вы хотели бы попасть, и какие языки вообще востребованы. Попробуйте поизучать их, но если синтаксис не нравится, не нужно себя мучать — лучше переключиться на другой язык. Я с первого курса интересовался компаниями, чтобы выбрать, где проходить практику. Когда я пробовал C++, я посмотрел рынок и оказалось, что тогда язык был не актуальным, это тоже повлияло на меня и я решил сменить направление.

Что делать если после стажировок и тестовых не берут на работу?
Первая моя стажировка была в IT компании и прошла она не очень успешно. Я пришел туда с однокурсниками, нам дали проект — нужно было сделать систему опроса сотрудников на Java. Я не понимал, как это сделать, не знал многих функций и инструментов. Уже на половине практики я понял, что не вытягиваю, для меня это был полный фейл. А друг, с которым я практиковался, знал хорошо и начал делать большую часть работы. В итоге этот провал меня мотивировал совершенствоваться и начать изучать Java глубже. Я читал книжки, смотрел ютуб и понял, что я знаю только базовый синтаксис языка, а там есть еще фреймворки, библиотеки для работы с сетью, форматами передачи данных и т.д.
На второй стажировке я познакомился с паттернами проектирования на Java и научился правильно верстать страницы по макету. Было очень сложно, но очень интересно. Я не пропустил ни одного занятия и не жалею, потому что после этой стажировки у меня остались очень хорошие знания и навыки.
Начинающим разработчикам я советую искать как можно больше стажировок, выполнять все тестовые задания. Даже если по итогу вам откажут в работе, то знания и навыки у вас останутся. Вас научат правильно писать код, покажут нужные инструменты и как ими пользоваться, будут давать реальные задачи и полезный фидбэк. Вы сможете изучить все процессы изнутри и с каждой стажировкой вам будет легче.
Если вы учитесь или работаете, вы все равно можете пойти стажироваться. Помните, что работодатели тоже люди и обо всем можно договориться. Можно, например, попросить дать больше времени на задачу. На стажировках и при выполнении тестовых не стесняйтесь задавать вопросы, даже самые дурацкие — главное разобраться в задании. У меня была ситуация, когда в тестовом было 4 задачи, я сделал две и остальные не понимал из-за ТЗ. Я спросил как это делать, и мне все объяснили, в итоге с задачами я справился.
Многие переживают, что им нечего писать в резюме, так как нет опыта. Напишите, какие курсы и стажировки вы проходили, может быть вы ходили на воркшопы или выполняли тестовые задания — подойдет любой релевантный опыт. Также пишите сопроводительные письма к откликам, HR-ы их читают и они на самом деле даже важнее резюме. Большинство кандидатов просто откликаются на вакансии, поэтому сопроводительное письмо будет вашим преимуществом. В письме можно написать, почему вы хотите работать в этой компании и чем вы будете им полезны.


Как я вырос до Middle и попал в крутую аутсорс компанию
На третьем курсе я искал работу, ходил по собеседованиям, ориентировался на Java и базы данных. Я хорошо оформил резюме, но работу удалось найти только к концу четвертого курса — в областной клинической больнице. Там я работал с Oracle и базами данных. Самыми крупными проектами там для меня были система электронных заявок на тех.поддержку и командная разработка онкологической карточки пациента, также мне очень нравилось решать баги в отчетах. В государственных учреждениях особо развития нет, поэтому я начал искать коммерческие компании.
Потом я перешел в единую службу такси (EST) на специалиста по базам данных, также под Oracle. У меня это хорошо получалось, но все равно хотел перейти в Java разработчика. Компании нужно было реализовать один проект на Java, у них не было джавистов и предложили мне это сделать. Я испугался, потому что не представлял как без наставника самому реализовать проект — там была огромная кодовая база, а у меня не было коммерческого опыта с Java, только учебные проекты. Сначала я отказался, но в итоге меня убедили, что все получится и команда будет поддерживать на новой позиции. Первую неделю я изучал ту часть кода, с которой мне предстояло работать, потом мне стали прилетать задачи от мобильного подразделения. В целом, все оказалось не так страшно, как я думал сначала.
Моей основной мотивацией в основном были даже не деньги, а развитие, я мечтал стать Java разработчиком. В EST были отличные инженеры и мне было с кем обмениваться опытом, но компания не выдержала конкуренции с крупными агрегаторами и у них начались финансовые трудности. Тогда мне написали из Leantech и в 2020 году я пришел туда одним из первых джавистов. Это мой первый опыт в аутсорсе, и я могу сказать, что там развития гораздо больше, чем в продуктовых компаниях. Продуктовые компании хоть и развиваются, но у них может быть устаревший стек и база. А в аутсорс компании есть возможность поработать с разными технологиями и улучшить свои знания. Плюс это возможность работать в команде с разными людьми, а обмен знаниями и опытом это самое важное.
Для меня каждый проект в Leantech становится толчком для развития. Например, у меня была возможность позаниматься небольшим pet-проектом по выгрузке данных из Jira — там я предложил использовать Spark, так как хотел поработать с этим инструментом. В аутсорс компаниях ты можешь предлагать новые инструменты и технологии, а не только пользоваться основным стеком компании — даже если в итоге инструмент не подойдет для задачи.
У меня есть наставники, но я также стараюсь решать задачи самостоятельно и отстаивать свою точку зрения на ревью кода. Сейчас я себя оцениваю как мидл плюс и развиваюсь дальше, компания это приветствует и предоставляет нужные ресурсы.
Подписывайтесь на Leantech в ВК, там мы делимся знаниями, полезными штуками для разработчиков и новостями IT-индустрии. Также в группе можно следить за актуальными вакансиями.
Как стать хорошим Java-разработчиком с нуля: максимально подробная инструкция для начинающих

Работодатели много ожидают от тех, кто подается на позицию Junior Developer: отличное владение языком программирования и некоторыми базовыми инструментами, хорошие софт-скилы и хороший уровень английского языка.
К счастью для современных новичков, существует отличная дорожная карта (и не одна), которая показывает, как пройти от базового до уровня профессионального разработчика. Ещё одна хорошая новость: в мире создано огромное количество учебных ресурсов, которые помогают овладеть любой технологией. Учеба сегодня — настоящий бизнес с жесткой конкуренцией, есть из чего выбирать среди платных и бесплатных ресурсов. Чтобы учиться эффективнее, советую прочесть книгу Барбары Окли «Научиться учиться. Как запустить свой мозг по полной».
С чего начать
Рассмотрим карту, приведенную выше, и определим, с чего начать. Она не полна, да и составить полную универсальную карту невозможно. В будущем ваше личное развитие и характер проектов, на которых вы будете работать, будет её дополнять.
- Путь на карте начинается с базовых навыков: Java, Maven/Gradle, SQL и общих навыков, необходимых каждому (Git, HTTP, Data structures и т. д.).
- Далее карта ведет нас к базам данных, фреймворкам и ORM. Ещё дальше — тестирование, разнообразные библиотеки, микросервисы и многое другое.
- Когда освоите базовые навыки в Java, можно параллельно заниматься SQL и разбираться с основами Maven или Gradle. Для тех, кому нужно начинать совсем с нуля, я бы посоветовал Kathy Sierra, Bert Bates «Head First. Java».
- 4) Далее можно перейти к более серьезной литературе — 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 могут помочь решить какую-либо конкретную проблему или дать ответы на вопросы.
Дополнительные навыки
- Сюда можно включить системы контроля версий (Git, SVN), HTTPS, REST, web (basic, OAuth, SSO, JWT), Scrum, Kanban, структуры данных, алгоритмы и многое другое.
- Знакомство со смежными специальностями, чтобы понимать суть работы своих коллег. Мой список рекомендуемой литературы:
Теория:
- 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
Практика:
- https://codingdojo.org/practices/
- https://www.codewars.com/
- https://leetcode.com/
- https://codegym.cc/tasks
Куда двигаться дальше
После того, как вы освоили фундаментальные вещи, можно переходить к следующим пунктам на нашей карте: CLI tools, Web frameworks, Databases и так далее. Выбирайте хорошую книгу или онлайн-курс для каждого инструмента, которым вы хотите овладеть.
На этом этапе стоит задуматься о простых задачах, которые вы можете начать решать с вашим опытом или даже о собственном пет-проекте. Следующий шаг: участие в проектах с открытым кодом. Здесь могут пригодиться следующие ресурсы:
- 20+ Trending and Popular Java Open Source Project
- Help out your favorite open source projects and become a better developer while doing it.
Всегда можно найти информацию, соответствующую вашему уровню и количеству свободного времени. Участие в таких проектах будет большим плюсом при поиске работы и позволит вам получить уникальный опыт.
Выводы
Что ж, был рад поделиться своими мыслями. Путь от новичка до первого признания — довольно сложный. Требуется много времени, терпения и мотивации. Но хорошая дорожная карта и эффективные учебные ресурсы помогут избежать острых углов и значительно облегчат вашу работу. Не забывайте про мои рекомендации в начале статьи — вам пригодится дорожная карта и её переодические обновления, понимание фундаментальных вещей из книг, практика и реальный опыт.
Полезные ссылки
Как научиться:
- Java learning in general
- Java Developer Roadmap
- Making Java easy to learn
Паттерны проектирования разными языками программирования
- Java Design Patterns and Architecture на Udemy
- 10 Free Courses to Learn Data Structure and Algorithms in Java, Python, and C++
- Java Interview Questions You Need To Know
- Don’t call it a comeback: Why Java is still champ
- The 25 greatest Java apps ever written
- awesome-java
Общие навыки:
- Одна книга для кожного напрямку: Java, DevOps, BA, та ще сім професій
- Head First Java by Kathy Sierra & Bert Bates
- The Phoenix Project by Gene Kim, Kevin Behr, and George Spafford
- Business Analysis For Dummies by Kate McGoey, Kupe Kupersmith
- 100 Things Every Designer Needs to Know About People by Susan Weinschenk
- Making Things Happen: Mastering Project Management by Scott Berkun
- Beautiful Testing: Leading Professionals Reveal How They Improve Software by Tim Riley, Adam Goucher
- Database Internals: A Deep Dive into How Distributed Data Systems Work +
- SQL Antipatterns: Avoiding the Pitfalls of Database Programming
Clean Code — A Handbook of Agile Software Craftsmanship by Robert Cecil Martin - Design Patterns: Elements of Reusable Object-Oriented Software
Тестирование ПО
Ещё больше про Java:
- Top 5 Free Apache Maven eBooks for Java Developers
- SSH Basics for Cloud Security
- Build Secure APIs with Auth0 and Postman
- Welcome to SQL
- The Complete SQL Bootcamp 2022: Go from Zero to Hero
- SQL for Data Science
- Database Design Fundamentals for Software Engineers
- Top 5 Courses to Learn SQL and Database in 2022 — Best of Lot
- A handy new Google Cloud, AWS, and Azure product map
Написание кода
- Clean Code: A Handbook of Agile Software Craftsmanship
- Best Java courses online to study
Open source
- 20+ Trending and Popular Java Open Source Project
- Help out your favorite open source projects and become a better developer while doing it.
About Spring Boot
- What Is Spring Boot?
- Spring Boot For Beginners
- Spring REST API for Beginners
- The Complete Guide to Spring 5 and Spring Boot 2
- Learn Spring Boot — Rapid Spring Application Development
- Master Microservices with Spring Boot and Spring Cloud
- Top 5 Courses to Learn Spring Boot in 2022 for Java Developers — Best of Lot
- Spring Boot: Complete guide from development to deployment
- Top 5 Books to Learn Spring framework and Spring MVC for Java Programmers
- Spring Framework — Bean Creation — A Practical Approach
- Student Management System Project — FullStack Java + Spring Boot + React.js Example Tutorial
Как стать Java-программистом с нуля?


Артур Куприянов Эксперт в Java, Spring Boot.
Java стабильно входит в тройку самых популярных языков по индексу TIOBE и нужен везде: от популярных игр до финансового сектора, от смартфонов до серверов крупных компаний. Вместе с Java-разработчиком Артуром Куприяновым разобрались, что нужно знать и уметь, чтобы начать программировать на нем.
Немного о языке Java
Java появился в 1995 году благодаря инженерам компании Sun Microsystems и, в частности, Джеймсу Гослингу. Инженеры разработали его как язык программирования для управления бытовой и домашней техникой. Но в итоге язык оказался нужен всем.
Для чего нужен Java?
Любая программа на смартфоне или компьютере состоит из двух частей: frontend и backend. Чтобы лучше понять, что это такое, представьте, что программа — это автомобиль.

Освойте профессию «Java-разработчик»
Java-разработчик
Java уже 20 лет в мировом топе языков программирования. На нем создают сложные финансовые сервисы, стриминги и маркетплейсы. Освойте технологии, которые нужны для backend-разработки, за 14 месяцев.

Профессия / 14 месяцев
Java-разработчик
Освойте востребованный язык
4 290 ₽/мес 7 150 ₽/мес

Frontend — это все, что вы видите перед креслом водителя: руль, кнопки, рычаги, стрелки приборов. Backend — это все то, что находится под капотом и на самом деле заставляет автомобиль двигаться. Java — это язык backend-разработки, на котором собирают «двигатель» приложения, чтобы он был мощным, надежным, безопасным, быстрым, универсальным и просто красивым. Java используют системы с тысячами пользователей. Вот только несколько примеров: Финансовая сфера и банки — Сбер, Тинькофф, Альфабанк. Социальные сети — Twitter, LinkedIn, Одноклассники. Маркетплейсы — Ozon, Яндекс.Маркет, Amazon. Онлайн-кинотеатры и видеохостинги — YouTube, Кинопоиск, Netflix. Игры — Minecraft, Assasin’s Creed, The Sims 3 (мобильная версия). Android-приложения — WhatsApp, Telegram, Viber. Другие быстрорастущие компании, например Apple, Microsoft, Google, также используют Java, Читайте также: Кому и зачем нужен Java Одна из причин популярности языка — кроссплатформенность: программы на Java одинаково хорошо работают на разных устройствах. Это выгодно для бизнеса: во-первых, стоимость разработки ниже; во-вторых, чем больше устройств, на которые можно установить ПО, тем больше его аудитория.

Станьте Java-разработчиком
и создавайте сложные сервисы
на востребованном языке
Кто такой Java-программист?
- Проверил, есть ли в Telegram такой функционал.
- Нашел несколько библиотек, посмотрел документацию по ним и, сравнив, подключил одну через Maven — фреймворк для автоматизации сборки проектов.
- Создал тестового бота и попробовал сделать простой пример, который показывал, как работает Inline Keyboard.
- Начал продумывать архитектуру приложения: выделил модули, создал пакеты.
- Выбрал стиль разработки.
- Реализовал бота в соответствии с задачей.
Как стать Java-разработчиком?
Как и в случае с почти любой IT-профессией, стать программистом на Java с нуля можно либо самостоятельно, изучая открытые ресурсы, либо на курсах. В первом случае придется много гуглить и собирать большую часть материалов для изучения самостоятельно. Во втором вас будет сопровождать команда опытных преподавателей и менторов.
На курсе SkillFactory «Java-разработчик» вы за 14 месяцев освоите профессию с нуля до уровня junior+. Для этого вам необязательно будет жертвовать основной работой или учебой, достаточно будет посвящать курсу 10−12 часов в неделю.
У курса есть ряд преимуществ, которые позволят вам не только успешно пройти обучение, но и получить работу:
- Актуальная программа, составленная экспертами на основе вакансий разных компаний, чтобы вы точно были востребованы на рынке.
- Индивидуальная поддержка — личные созвоны с ментором (экспертом-консультантом) для обсуждения всех вопросов, и даже когда вы не знаете, как задать вопрос.
- Постоянная поддержка ментора — в любой момент можно написать в чат и получить помощь.
- 20% теории, 80% практики — 20+ тренажеров и заданий каждую неделю помогают развивать навыки программирования.
- Уже через 7 месяцев вы станете junior-специалистом — сможете откликаться на вакансии, Карьерный центр проведет консультацию, а ментор — даст советы по прохождению собеседований.
Как изучить Java самостоятельно?
Шаг 1
Лучше всего начать изучение с синтаксиса, а уже потом освоить основы объектно-ориентированного программирования, не обязательно в контексте Java. Разберитесь в типах данных и операторах. Попробуйте создать простые Java-объекты с разными вариантами поведения.
Шаг 2
Разобравшись с основными понятиями, установите программное обеспечение для кодинга и запуска программ — JDK (Java Development Kit).
Исходный код пишется в текстовом формате. Скачайте и установите одну из IDE (Integrated Development Environment) — это среда для разработки программного обеспечения (интерфейс, в котором пишут код).
Самая популярная среда — IntelliJ IDEA. Это удобный инструмент с подсказками, возможностью проверки и отладки кода, удобной интеграцией с базой данных и серверами. Подробная документация о классах и инструментах языка доступна на сайте Oracle.
Шаг 3
Научитесь работать с базами данных. Для этого нужно освоить систему управления базами данных (СУБД), например SQL. Посмотрите, как действуют операторы и функции, научитесь манипулировать структурой таблиц и писать сложные запросы.
Шаг 4
Спроектируйте первое приложение. Разберитесь в принципах построения архитектуры, научитесь проектировать. Освойте фреймворки (готовые программные продукты, которые упрощают создание и поддержку проектов) для создания веб-проектов, например Spring.
Полезные ссылки
Книги:
- Java How to Program П. Дейтел и Х. Дейтел.
- «Изучаем Java» К. Сьерра и Б. Бейтс.
- «Java 8. Руководство для начинающих» Г. Шилдт.
- Java. Эффективное программирование — Дж. Блох.
- Java. Библиотека профессионала — К. Хорстманн.
Можно посмотреть бесплатные курсы на Stepik или вебинары. Видеоуроки по Java есть на YouTube — например, канал Java Brains (если у вас хорошо с английским). На канале «Уроки Java» размещено около 300 бесплатных видеоуроков, а на «Онлайн уроки по Java» можно, среди прочего, найти курсы для тестировщиков.
Много информации о том, как начать кодить на Java, есть в хабе Java на Хабре. Полезно прокачивать свои навыки и участвуя в хакатонах. Узнавать о митапах и конференциях по Java можно на сайте jugru — это сайт российского сообщества Java-разработчиков. Вопросы по митапам можно задать в их Telegram-канале.
Практические навыки
- Лучший способ получить навык программирования — писать проекты. Начните с простых программ, которые увидите в книгах или видео. Затем попробуйте их немного модифицировать и усложнить.
- Создайте собственное приложение. Параллельно стоит практиковаться выполнять задачи и писать код на ресурсах для программистов, например HackerRank. Работодатели часто начинают процесс поиска разработчиков именно на таких платформах.
- Заведите аккаунт на GitHub или GitLab, выложите туда код, который готовы показать другим программистам и будущим работодателям.
Чтобы перейти из джуниоров в мидлы, разработчику важно работать с паттернами (шаблонами), и определять качество кода. Научитесь думать архитектурно, выделять модули и правильно проектировать зависимости. Учтите, что требования к мидл-разработчикам могут сильно отличаться в разных компаниях.
Чтобы перейти на более высокий уровень, джуниору может понадобиться от года до двух лет работы — в зависимости от того, сколько сил он вкладывает в учебу.
Как искать работу?
Чтобы стать Java-разработчиком уровня junior, мы советуем написать небольшой, но коммерческий проект, даже с минимальным количеством активных пользователей. Страница на GitHub с кодом ваших проектов также будет плюсом и поможет компаниям лучше понять ваш уровень владения языком.

Не стоит бояться откликаться на вакансии, даже если вы чего-то не знаете, — предложений на рынке достаточно и многие ищут junior-разработчиков. На момент написания статьи на сайте hh.ru было 3445 вакансий по запросу «Java-разработчик».
Вакансии для Java-специалистов размещают и на других крупных сервисах поиска работы: SuperJob, Работа.ру — и на специализированных сервисах, например «Хабр Карьера».
Попробовать свои силы и набрать портфолио можно на биржах фриланса — например, на русской Freelance.ru или американской Upwork или Guru. Кроме того, поискать вакансии или стажировки можно в Telegram-каналах, например, Фриланс Таверна, Jobs Code: IT вакансии, Finder.vc.
Во время и после прохождения курса «Java-разработчик» вы будете пользоваться поддержкой карьерного центра. Наши специалисты помогут вам оформить резюме, откликнуться на вакансии и пройти собеседования.
Востребованность и зарплата
Разработчики, владеющие Java, востребованы уже сейчас. Специалистов, пишущих на этом языке код, не хватает, из-за чего работодатели готовы предложить им большую зарплату и лучшие условия. Число запросов, связанных с Java, в Яндексе колеблется в районе одного миллиона в месяц. Вот еще несколько фактов, которые показывают востребованность профессии:
- Медианная зарплата по данным за 2020 год — 140 тыс. рублей («Хабр Карьера»).
- Java-разработчики входят в топ самых востребованных IT-профессий на удаленке (CNews).
- Работодатели в Москве готовы предложить программисту со знанием Java до 350 тыс. рублей в месяц (Superjob).
- Работодатели в России ищут свыше 10 тысяч программистов с разным уровнем владения Java (hh.ru).
- 59% опрошенных HR-менеджеров сталкиваются с нехваткой специалистов на Java (CodingGame:).
Как стать разработчиком Java: Пошаговая инструкция для Java Junior

Чтобы войти в профессию Java-разработчика, надо пройти несколько этапов.
Содержание статьи
- Мотивирующие причины освоить Java-разработку
- Где научиться программировать на Java, чтобы начать работать
- ВУЗ
- Самообразование
- Онлайн-школы
- Практика
Какие это этапы и как легче и быстрее их преодолеть, расскажет Фёдор Ярёменко — Java- и Kotlin-разработчик компании «Алтимета», которая создаёт профессиональные системы электронной торговли и управления закупками.
За свою десятилетнюю карьеру Фёдор участвовал в разработке и внедрении множества специализированных электронных торговых площадок, в том числе для таких крупных заказчиков, как «Северсталь», «А101», «Медси», «СОГАЗ».
Мотивирующие причины освоить Java-разработку
Если вы читаете эту статью, то, скорее всего, уже поняли, что профессия программиста и, в частности, Java-разработчика крайне популярна в IT. Да, Java — один из самых распространённых языков программирования. Решения на основе Java активно применяют в сфере разработки корпоративных систем: в банках, страховых компаниях, финансовых биржах и корпорациях.

Как стать разработчиком
Ещё более широкая область применения Java — это разнообразные приложения для Android. Но кроме мобильной разработки она активно применяется и в мире интернета вещей (IoT-разработка). По данным Oracle, Java используется более чем на 15 млрд. устройств! Ещё на Java разрабатывают веб-приложения.
Так что да, основная причина стать Java-разработчиком — это востребованность на рынке труда и высокий уровень зарплат. Входя в эту профессию, без хорошей и интересной работы вы точно не останетесь, причём на любом уровне профессионализма. Эта тенденция сохраняется не первый год и не собирается спадать, скорее наоборот. Однако сначала, конечно, надо «изучить матчасть».
Где научиться программировать на Java, чтобы начать работать
ВУЗ
Есть разные мнения о том, стоит ли тратить 4-5 лет на получение образования, чтобы овладеть профессией программиста. Одни считают, что это слишком долго, другие уверены, что серьёзное образование — это солидно с точки зрения работодателя. Однако, кроме фундаментальности подхода, высшее образование даёт и прагматичные плюсы. Во многих ВУЗах крупные компании открывают кафедры и учебные центры, а некоторые работодатели предлагают программы стажировки для студентов. К тому же, обучаясь в ВУЗе, можно начать работать уже на 2-3 курсе.

Работа программистом: сколько зарабатывают в ИТ за месяц, год в России, США и других странах
Если в дальнейшем вы не исключаете работу за границей, то полезно знать, что в ряде стран наличие профильного высшего образования может упростить получение разрешения на работу. Это, например, США, Канада и Австралия.
Самообразование
Этот подход требует самодисциплины. Но она имеет шанс быстро «окупиться».
Следует начать с книг:
- Берт Бейтс, Кэти Сьерра (Bert Bates, Kathy Sierra): Изучаем Java.
- Герберт Шилдт (Herbert Schildt): Java 8. Руководство для начинающих.
Кроме знания языка программирования важно в самом начале научиться писать код, который будет легко воспринимать и поддерживать. В этом поможет книга Стива Макконнелла «Совершенный код» (Steven C. McConnell). Также существует множество видеокурсов, которые помогут изучить различные аспекты разработки на Java, причём бесплатных.
Онлайн-школы
Отличие онлайн-школ от бесплатных видеокурсов — домашние задания. Их проверяют преподаватели, которые являются действующими опытными разработчиками и могут дать рекомендации не только по изучению технологий, но и по качеству и стилистике кода.

Как стать веб-разработчиком с нуля
Замечу, что какой бы вариант обучения вы не выбрали, стоит подтянуть уровень английского языка до уверенного чтения технической литературы.
Практика
Это важная часть обучения программированию! Не стоит ждать момента, когда вы почувствуете, что готовы переходить от теории к практике — так можно остаться вечным студентом и ещё долго не получать хороший доход от Java-разработки. В качестве практики уже на начальном этапе образования можно понемногу писать свой небольшой проект, которым вам будет интересно заниматься по вечерам и на выходных. Если нет идей для проекта — есть игры для программистов, которые помогают прокачать свои навыки: Robocode, Codewars, Codingame, Code Hunt.
Что должен знать начинающий Java-разработчик в 2021 году
Ещё несколько лет назад для того, чтобы претендовать на вакансию младшего Java-разработчика, было достаточно знания основ языка Java и понимания структур данных. Сегодня помимо владения Java Core от Junior-разработчика требуются:
- умение работать с базами данных с использованием Hibernate
- умение создавать приложения с помощью фреймворка Spring
- умение разрабатывать Web-сервисы
- навыки работы с системой контроля версий Git
- навыки построения запросов к базам данных на языке SQL
- знание и обязательно умение применять шаблоны проектирования
Напутствие неофитам
Сам я получил первую работу, обучаясь в университете. Но на протяжении своей карьеры я встречал много коллег, которые пришли в профессию разными путями. Главное — иметь интерес к программированию и в целом к изучению новых технологий и подходов. Ведь Java-разработчик, как любой программист, всегда находится на переднем крае технологий и решает интересные задачи, с которыми раньше не сталкивался.
Совет от преподавателя JAVA
Для изучения Java с нуля вам потребуется как минимум 6 месяцев интенсивного, непрерывного обучения, комментирует Роман Иванов, Главный инженер, преподаватель JAVA в Сбер университете. Поэтому если вы хотите стать Java разработчиком, то настойчивость и усидчивость, то, что вы должны развить в себе в первую очередь.

Хочу быть программистом — с чего начать?
Главная моя рекомендация в плане языка состоит в том, что изучать Java надо на практике. Сейчас много интерактивных курсов, которые готовы вам предложить тысячи задач. Выбери тот, который вам больше всего понравится и приступайте к обучению. Так как на подобных площадках очень много задач, вы получите неоценимую практику, которая позволит вам запомнить на мышечном уровне конструкции языка и базовые паттерны.
Не жалейте денег на подписку, она окупится за первый месяц. А чтобы улучшить свои теоретические знания в области computer science, лучше всего смотреть видео лекции на ютубе. Особо рекомендую канал “Computer Science Center” – качественные лекций не только на java тематику, но и на множество других. Удачного вам обучения!
Как стать программистом Java — мнение эксперта
Комментирует Алексей Золотарев, эксперт ПО Oracle Центра технической поддержки РДТЕХ, преподаватель Учебного центра РДТЕХ.
Однажды заданный вопрос: «Алексей, посоветуй, как мне стать разработчиком» поставил меня в тупик. Всегда казалось, что программистом/разработчиком стать очень просто. Это же примерно, как езда на велосипеде. Чего тут сложного? Крути педали и поворачивай руль, следя за изгибами дороги. Уже не вспомню, что именно я тогда ответил, но сейчас понимаю, что на самом деле вопрос не такой простой, и за ним скрывается множество условностей.
Будем исходить из того, что его задает человек, имеющий минимальный опыт в информационных технологиях, но при этом хотя бы умеющий строить отчёты с формулами в Экселе.
Сразу стоит отметить, что начальное условие успеха заключается в знании технического английского языка. Нужно принять тот факт, что вся информация, с которой вам предстоит работать, будет на техническом английском языке, который так или иначе придётся изучить. Словом, чем лучше знание английского языка, тем проще жить.

Как стать программистом и быть востребованным
Java – это язык абстракций. И если такое мышление – не ваш конёк, то лучше сразу задуматься, так уж ли нужно вам программирование на Java. А как оценить степень своей готовности к восприятию абстрактного? Конечно, не походом в музей современного искусства 🙂 Лучше всего вспомните, как прошло в университете знакомство с предметами аналитической геометрии, теории множеств, теорией вероятности. Не было отвращения? Тогда замечательно.
Один из ключевых факторов успеха – правильное восприятие реальности. К сожалению, распространено представление, что программирование – это почти искусство. И в последствии часто следует одушевление продукта разработки создателем, переоценка собственных творческих возможностей и многое-многое другое. Лучше сразу осознать, что ваши будущие программы и автопортрет Альбрехта Дюрера – это всё-таки вещи из разных областей творчества.
Изучение самого языка можно начать с хорошей книги, например, Bruce Eckel «Thinking in Java». В русском переводе книга называется «Философия Java». Произведение как нельзя лучше подходит для того, чтобы изучить язык программирования через принятие его объектно-ориентированной сущности.
Сразу же после изучения языка необходимо приступить к его практическому применению, реализуя какие-то простые программные решения. Очень полезно пробовать расширить функциональность какого-нибудь java-продукта с открытым кодом.
Задерживаться на этапе самосовершенствования надолго не стоит. Спектр реальных прикладных задач гораздо шире, чем то, что может изобрести собственная фантазия, поэтому нужно незамедлительно пробовать перейти на профессиональный уровень и устроиться на работу Java-программистом в ИТ-компанию.При наличии в вакансиях сопутствующих требований к знанию технологий и продуктов – запускайте их в процесс изучения. Через несколько итераций при должном уровне настойчивости и усидчивости вы сможете пройти собеседование, получить должность начинающего (junior) программиста и продолжить дальнейшее развитие, занимаясь разработкой на Java профессионально.
Заключение
Я начал изучать Java в 2014 году, рассказывает Александр Макеев. Сперва нужно познакомиться с синтаксисом языка и Java Core. Рекомендую начать с YouTube обучающих курсов, с ними будет не так скучно нежели сразу погружаться в книги. Можно попробовать написать какую-нибудь игру, ведь важно видеть результат своих усилий, чтобы не терять мотивацию учиться.
После получения первых знаний, их нужно закрепить литературой для заполнения пробелов (хорошо подойдет Thinking in Java by Bruce Eckel). Далее нужно изучить SQL и актуальные фреймворки для DI и персистентности данных (Spring, Hibernate/MyBatis). По мере изучения технологий важно применять их на практике — придумывать и писать свои проекты. Можно найти друга/ментора и написать что-то сложное вместе.