# Роман Кошинко: «В 30 лет мне говорили, что в IT не тот склад ума»

Источник: https://www.youtube.com/watch?v=iM445BnBhpw
Канал: АйТиБорода
Опубликовано: 13.06.2019

---

В новом выпуске на канале «АйТиБорода» ведущий встретился с опытным Java-разработчиком Романом Кошинко. В центре обсуждения — путь в индустрию после 30 лет, особенности экосистемы Java, противостояние с Kotlin и советы для новичков, как не потеряться в обилии фреймворков и библиотек.

## 🕰️ Путь в IT: из логистики и бокса в программирование
[[JUMP:0:41]]

Роман пришел в программирование в возрасте 29–31 года, имея за плечами техническое образование инженера-электромеханика и неоконченное юридическое [1:22]. До смены профессии он около девяти лет работал в сферах, далеких от IT: закупках, аналитике рынков и даже открывал собственное рекламное агентство [1:49]. Решение стать разработчиком было спонтанным — однажды утром Роман решил найти себе новое хобби и наткнулся на рекламу IT-академии [2:54].

Выбор Java, по словам гостя, был чистой случайностью: курс по этому языку стартовал через три дня после того, как он открыл объявление, в то время как другие направления пришлось бы ждать дольше [5:45]. 

История обучения и трудоустройства:

*   **Срок обучения:** около года от старта до первой работы, из них 6 месяцев — интенсивные курсы [7:56].
*   **Совмещение:** Роман продолжал работать на основной работе почти весь период обучения, уволившись только за 2–3 месяца до трудоустройства [8:10].
*   **Первая работа:** гость целенаправленно стремился попасть в компанию Epam, чтобы освоить бизнес-процессы и методологии крупной разработки [12:52].
*   **Реакция окружения:** коллеги на старой работе скептически относились к затее, утверждая, что в 30 лет «не тот склад ума» и нужна сильная математическая база [18:26].

## ☕ Основы Java: микроволновки, сервера и корпорации
[[JUMP:31:06]]

Java — это объектно-ориентированный язык с долгой историей, который, по мнению Романа, «умеет всё» [31:35]. Одной из ключевых особенностей языка является его разделение на редакции под разные задачи.

Основные редакции Java:

1.  **Java ME (Micro Edition):** используется для программирования микроконтроллеров и бытовой техники (стиральные машины, микроволновки) [32:30].
2.  **Java SE (Standard Edition):** базовый набор инструментов, подходящий для десктопных приложений [33:07].
3.  **Java EE (Enterprise Edition):** расширенный набор для крупных корпоративных систем и веб-разработки [33:20].

Главным преимуществом Java Роман называет кроссплатформенность: «Написано однажды — работает везде» [38:19]. Это обеспечивается работой JVM (Java Virtual Machine) — виртуальной машины, которая переводит человекочитаемый код в байт-код, понятный процессору [37:14].

## 🛠️ Технологический стек: Spring, Hibernate и Maven
[[JUMP:44:19]]

Современная Java-разработка немыслима без фреймворков. Роман подчеркивает, что сегодня знание Spring и Hibernate является не преимуществом, а обязательным требованием (Must Have) для трудоустройства [44:34].

*   **Spring Framework:** гость описывает его как мощный контейнер для управления зависимостями (Dependency Injection). Он берет на себя жизненный цикл объектов, избавляя разработчика от ручного создания связей между компонентами [45:27].
*   **Hibernate:** это ORM-фреймворк (Object-Relational Mapping), который связывает объекты в коде с таблицами в базе данных SQL [48:24]. По словам Романа, Hibernate — это «эталонная реализация» спецификации JPA [47:57].
*   **Инструменты сборки:** Роман выделяет Maven как основной инструмент, автоматизирующий подгрузку библиотек и компиляцию проекта через XML-конфигурацию [54:13]. В качестве альтернативы для более гибких проектов упоминается Gradle [57:10].

## 📱 Android и Kotlin: заменит ли новичок старика?
[[JUMP:1:01:12]]

Обсуждая мобильную разработку, Роман отмечает, что Android исторически строился на Java, однако сейчас активно продвигается язык Kotlin [35:16].

Мнение гостя о Kotlin:

*   Kotlin полностью совместим с Java и компилируется в тот же байт-код [1:01:52].
*   Синтаксис Kotlin более современный и лаконичный, он похож на Swift, что удобно для мобильных разработчиков [1:04:42].
*   Роман не считает, что Kotlin полностью «убьет» Java, так как в корпоративном секторе (Backend) Java остается стандартом из-за своей консервативности и стабильности [1:04:16].
*   При переходе с Java на Kotlin у разработчика часто возникает «диссонанс» из-за отсутствия точек с запятой и иного порядка объявления типов [1:05:10].

## 🎓 Советы для Junior-разработчиков
[[JUMP:1:05:40]]

Для тех, кто только начинает путь, Роман развеивает миф о необходимости глубокого знания высшей математики для старта [1:07:37]. По его мнению, гораздо важнее логика и желание разбираться, как всё устроено под капотом.

Рекомендации по поиску опыта:

*   **Open Source:** если нет коммерческого опыта, стоит идти на GitHub, искать небольшие проекты и исправлять там баги. Даже 3 строчки кода, принятые в чужой проект, — это весомый плюс в резюме [1:10:18].
*   **Pet-проекты:** создание собственного проекта (например, калькулятора или системы уведомлений) помогает понять архитектуру, но важно, чтобы кто-то мог сделать код-ревью [1:11:12].
*   **Обучение других:** Роман сам стал преподавателем через два года после начала карьеры. Он утверждает, что попытка объяснить сложную тему новичку — лучший способ самому разобраться в вопросе [1:16:40].

## ⚡ Блиц и жизненные установки
[[JUMP:1:23:18]]

В финальной части интервью Роман поделился личными предпочтениями и взглядами на индустрию:

*   **Справедливая зарплата:** для Junior-разработчика в Java Роман считает адекватной вилку в $400–$700, а для Middle-специалиста — около $1500 [1:26:39].
*   **Кумиры:** гость выразил восхищение Илоном Маском за его способность развивать фундаментально новые сферы, от PayPal до космоса [1:25:05].
*   **Хобби:** несмотря на загруженность (работа + преподавание), Роман уделяет время спорту — баскетболу и бегу, а также чтению фантастики [1:20:12].
*   **Совет себе 10-летней давности:** Роман посоветовал бы себе не тратить время на другие сферы и сразу идти учиться на айтишника [1:21:18].