В новом выпуске на канале «АйТиБорода» ведущий встретился с опытным Java-разработчиком Романом Кошинко. В центре обсуждения — путь в индустрию после 30 лет, особенности экосистемы Java, противостояние с Kotlin и советы для новичков, как не потеряться в обилии фреймворков и библиотек.
🕰️ Путь в IT: из логистики и бокса в программирование 0:41
Роман пришел в программирование в возрасте 29–31 года, имея за плечами техническое образование инженера-электромеханика и неоконченное юридическое . До смены профессии он около девяти лет работал в сферах, далеких от IT: закупках, аналитике рынков и даже открывал собственное рекламное агентство . Решение стать разработчиком было спонтанным — однажды утром Роман решил найти себе новое хобби и наткнулся на рекламу IT-академии .
Выбор Java, по словам гостя, был чистой случайностью: курс по этому языку стартовал через три дня после того, как он открыл объявление, в то время как другие направления пришлось бы ждать дольше .
История обучения и трудоустройства:
- Срок обучения: около года от старта до первой работы, из них 6 месяцев — интенсивные курсы .
- Совмещение: Роман продолжал работать на основной работе почти весь период обучения, уволившись только за 2–3 месяца до трудоустройства .
- Первая работа: гость целенаправленно стремился попасть в компанию Epam, чтобы освоить бизнес-процессы и методологии крупной разработки .
- Реакция окружения: коллеги на старой работе скептически относились к затее, утверждая, что в 30 лет «не тот склад ума» и нужна сильная математическая база .
☕ Основы Java: микроволновки, сервера и корпорации 31:06
Java — это объектно-ориентированный язык с долгой историей, который, по мнению Романа, «умеет всё» . Одной из ключевых особенностей языка является его разделение на редакции под разные задачи.
Основные редакции Java:
- Java ME (Micro Edition): используется для программирования микроконтроллеров и бытовой техники (стиральные машины, микроволновки) .
- Java SE (Standard Edition): базовый набор инструментов, подходящий для десктопных приложений .
- Java EE (Enterprise Edition): расширенный набор для крупных корпоративных систем и веб-разработки .
Главным преимуществом Java Роман называет кроссплатформенность: «Написано однажды — работает везде» . Это обеспечивается работой JVM (Java Virtual Machine) — виртуальной машины, которая переводит человекочитаемый код в байт-код, понятный процессору .
🛠️ Технологический стек: Spring, Hibernate и Maven 44:19
Современная Java-разработка немыслима без фреймворков. Роман подчеркивает, что сегодня знание Spring и Hibernate является не преимуществом, а обязательным требованием (Must Have) для трудоустройства .
- Spring Framework: гость описывает его как мощный контейнер для управления зависимостями (Dependency Injection). Он берет на себя жизненный цикл объектов, избавляя разработчика от ручного создания связей между компонентами .
- Hibernate: это ORM-фреймворк (Object-Relational Mapping), который связывает объекты в коде с таблицами в базе данных SQL . По словам Романа, Hibernate — это «эталонная реализация» спецификации JPA .
- Инструменты сборки: Роман выделяет Maven как основной инструмент, автоматизирующий подгрузку библиотек и компиляцию проекта через XML-конфигурацию . В качестве альтернативы для более гибких проектов упоминается Gradle .
📱 Android и Kotlin: заменит ли новичок старика? 1:01:12
Обсуждая мобильную разработку, Роман отмечает, что Android исторически строился на Java, однако сейчас активно продвигается язык Kotlin .
Мнение гостя о Kotlin:
- Kotlin полностью совместим с Java и компилируется в тот же байт-код .
- Синтаксис Kotlin более современный и лаконичный, он похож на Swift, что удобно для мобильных разработчиков .
- Роман не считает, что Kotlin полностью «убьет» Java, так как в корпоративном секторе (Backend) Java остается стандартом из-за своей консервативности и стабильности .
- При переходе с Java на Kotlin у разработчика часто возникает «диссонанс» из-за отсутствия точек с запятой и иного порядка объявления типов .
🎓 Советы для Junior-разработчиков 1:05:40
Для тех, кто только начинает путь, Роман развеивает миф о необходимости глубокого знания высшей математики для старта . По его мнению, гораздо важнее логика и желание разбираться, как всё устроено под капотом.
Рекомендации по поиску опыта:
- Open Source: если нет коммерческого опыта, стоит идти на GitHub, искать небольшие проекты и исправлять там баги. Даже 3 строчки кода, принятые в чужой проект, — это весомый плюс в резюме .
- Pet-проекты: создание собственного проекта (например, калькулятора или системы уведомлений) помогает понять архитектуру, но важно, чтобы кто-то мог сделать код-ревью .
- Обучение других: Роман сам стал преподавателем через два года после начала карьеры. Он утверждает, что попытка объяснить сложную тему новичку — лучший способ самому разобраться в вопросе .
⚡ Блиц и жизненные установки 1:23:18
В финальной части интервью Роман поделился личными предпочтениями и взглядами на индустрию:
- Справедливая зарплата: для Junior-разработчика в Java Роман считает адекватной вилку в $400–$700, а для Middle-специалиста — около $1500 .
- Кумиры: гость выразил восхищение Илоном Маском за его способность развивать фундаментально новые сферы, от PayPal до космоса .
- Хобби: несмотря на загруженность (работа + преподавание), Роман уделяет время спорту — баскетболу и бегу, а также чтению фантастики .
- Совет себе 10-летней давности: Роман посоветовал бы себе не тратить время на другие сферы и сразу идти учиться на айтишника .