Java стабильно входит в тройку самых популярных языков по индексу TIOBE и нужен везде: от популярных игр до финансового сектора, от смартфонов до серверов крупных компаний. Вместе с Java-разработчиком Артуром Куприяновым разобрались, что нужно знать и уметь, чтобы начать программировать на нем.
Немного о языке Java
Java появился в 1995 году благодаря инженерам компании Sun Microsystems и, в частности, Джеймсу Гослингу. Инженеры разработали его как язык программирования для управления бытовой и домашней техникой.
Но в итоге язык оказался нужен всем.
Для чего нужен Java?
Любая программа на смартфоне или компьютере состоит из двух частей: frontend и backend. Чтобы лучше понять, что это такое, представьте, что программа — это автомобиль.
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-программист — это человек, который пишет программный код на языке Java. Помимо написания кода, он часто взаимодействует с заказчиком, тестирует приложение на всех этапах его создания, исправляет баги и занимается техподдержкой.
Пример: одной из рабочих задач Артура Куприянова была разработка бота. Требовалось реализовать Inline Keyboard для отправки ссылок в Telegram. Inline Keyboard — online-клавиатура, привязанная к сообщению. Вместо отправки сообщения с обычной клавиатуры она использует функцию обратного вызова, то есть отложенного выполнения. Функция обратного вызова названа по аналогии с заказом обратного звонка: когда вы не хотите ждать на линии и заказываете звонок от оператора, а он набирает вам, как только освободится.
Вот что он сделал:
- Проверил, есть ли в 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:).
* Принадлежит компании Meta, деятельность которой признана экстремистской в России.