Java-програміст Роберто Кортез - про навчання Java і головних інфлюенсерах

Роберто Кортез— Java-розробник з більш ніж десятирічним досвідом, голова Coimbra JUG та засновник JNation Conference у

Португалія.

Coimbra JUG- Спільнота програмістів, що працюють на мовіJava. Об'єднує насамперед програмістів з Коїмбри та Центральної зони у Португалії. Coimbra JUG організовує заходи, присвячені Java та технологіям, пов'язаним з JVM (віртуальна машина Java, основна частина системи Java, що виконує, — «Хайтек»), з метою розвитку та популяризації цієї мови. Найбільш відома конференція - JNation Conference, присвячена новітнім розробкам Java. Проводиться щорічно у Коїмбрі.

Про мову Java

- Які сильні і основні сторони у Java як у мови програмування?

- Стабільний і виразну мову. Для мене найкраща риса Java - це екосистема. Існує величезна кількість бібліотек з відкритим вихідним кодом, які можна використовувати, щоб спростити розробку програми. Вони добре задокументовані і протестовані, тому ви можете зосередитися на реальних ділових потребах.

- Java активно змінюється, які тенденції задають тон в цій області на сьогоднішній день?

- Звичайно, хмара. І це дуже цікаве завдання для Java, з огляду на той факт, що мова вже існував задовго до того, як ми отримали хмара всюди і для кожного. Так що він не був готовий до цього, і йому теж довелося адаптуватися. Якщо поглянути на історію Java, основні релізи з'являлися раз в три-чотири роки. Тепер мова пристосувався випускати заплановані релізи кожні шість місяців, щоб краще відповідати сьогоднішнім і завтрашнім викликам.

Нові тенденції Java:

  1. Інтерпретатор Java JShellдля вивчення мови та прототипування коду.
  2. NodeJSдля створення програм для десктопних пристроїв та серверних програм без використання браузера.
  3. Фреймворки для розробки веб-сайтів і мобільних додатків:ReactJS, AngularJS, Meteor.js та інші. Значно спрощують розробку.

Про роботу програміста

- Що б ви порадили початківцям програмістам для занурення в спеціальність і пошуку роботи?

- Як щодо того, щоб просто вести свій блогабо якийсь інший вид інтернет-сторінки? Багато людей так і починали, і це відмінний спосіб зайнятися програмуванням. Я теж починав з блогу. Спершу з HTML, який сам по собі не є мовою програмування, але в підсумку я почав створювати все більш і більш просунуті речі, які вимагали від мене використання JavaScript, а потім і Java. Багато людей починають з Python, що теж чудово. Це не дуже складно, і ви можете досягти дивовижних результатів.

- Які технології обов'язкові до вивчення Java-програмістом?

- Кожному програмісту необхідний набір основ, іце не тільки виключно для Java, які допоможуть йому сформувати загальне уявлення про те, як все працює. Вважаю, цей список можна оскаржити, але я б включив в нього алгоритми, створення мережі, операційні системи, бази даних, розподілені системи, безпеку і математику.

- Чи варто програмісту вибирати між full stack (універсальним) розробником і вузьким фахівцем?

- Зараз вже надзвичайно важко зосередитисяна певній технології, оскільки все розвивається і змінюється дуже швидко. Але ще складніше встигати йти в ногу з безліччю технологій. Потрібно бути відкритим до всього, особливо на початку кар'єри, і вирішити, що найбільше подобається, а вже далі спеціалізуватися на чомусь.

- Є думка, що фрілансу на Java не буває, і ця мова - в першу чергу для корпоративної розробки. Чи справді фріланс на Java - виключення з правил?

- Я так не вважаю. Судячи з мого досвіду, коли компанії наймають фрілансерів, вони чекають людини з великим досвідом, який може прийти і допомогти їм впоратися з проблемами. Зосередженість на певній технології дає такий досвід і дозволяє спеціалізуватися. Будучи досвідченим фахівцем, можна працювати і фрілансером, і в організації.

- Ви називаєте себе палким розробником. Для вас програмування - в першу чергу творчість або технічний процес?

- Програмування включає в себе багатотворчості. Коли ви хочете щось зробити, є безліч шляхів, за якими можна піти. Буває, що такого способу і зовсім не існує, потрібно створити його самому. Доводиться думати, пробувати варіанти, терпіти невдачі і досягати успіху. З іншого боку, в технічному плані наша сфера швидко розвивається, необхідно постійно займатися дослідженнями, вивчати нові розробки і підвищувати кваліфікацію. Ви повинні бути пристрасно захоплені тим, чим займаєтеся, щоб йти в ногу з часом, актуальними новинками і найкращими рішеннями.

Про Java-спільноти

- Навіщо потрібні Java-спільноти і чим займається Coimbra JUG, яке ви очолюєте?

- Я очолюю співтовариство Coimbra JUG вПортугалії. Коїмбра - це невелике містечко, тому в співтоваристві всі один одного знають. Людям подобається збиратися разом, щоб поділитися своїм досвідом, враженнями і, звичайно, послухати новини про те, що відбувається в світі ІТ. Також ми організуємо конференцію під назвою JNation. Це одноденний захід, куди запрошуємо декількох найбільш відомих в Java-співтоваристві доповідачів.

- Які JUG найбільш відомі і впливові?

- Я б номінував LJC (Лондонське співтовариствоJava - «Хайтек») і SouJava (Спільнота користувачів Java в Бразилії - «Хайтек»). Обидва цих спільноти активно залучені в підтримку JCP, AdoptOpenJDK або MicroProfile.

Java Community Process (JCP)— сформований 1998 року формальний процес, який дозволяє зацікавленим особам брати участь у формуванні майбутніх версій специфікацій платформ мови Java.

Java Development Kit (JDK)- безкоштовно розповсюджуваний компанією OracleCorporation комплект розробника додатків на мові Java, що включає компілятор, стандартні бібліотеки класів, приклади, документацію, різні утиліти і виконавчу систему.

Microprofile, (Eclipse Microprofile)— відкритий стандарт, який розробляється в рамках Eclipse Foundation вендорами EE-серверів, сторонніми організаціями та просто волонтерами.

Інші відомі спільноти JUG:

  1. JUG.ru (Санкт-Петербург, Росія).Щомісяця проводить зустрічі в Петербурзі, на яких експерти Java читають лекції на найгостріші теми.
  2. Philly JUG (Філадельфія, США).Існує понад 15 років, проводить у Філадельфії курси підвищення кваліфікації для програмістів Java.
  3. Марокко JUG (Марракеш, Марокко).Проводить щорічні конференції та навчальні курси онлайн і офлайн.

- Ви також перебуваєте в Java Champion. Як проходить його взаємодія з розробником Java, компанією Oracle?

- За своєю суттю Java Champions - ексклюзивнагрупа захоплених лідерів технології і спільнот, які висуваються самим співтовариством. Ми надаємо зворотний зв'язок, ідеї, напрямок і орієнтир, які допоможуть Oracle розширити платформу Java і в цілому просувати мову в усьому світі. Найцікавіше в цій групі то, що хоча вона і підтримується Oracle, сама вона повністю незалежна. Тому ми можемо і вільно хвалити, і критикувати, коли це доречно.

- Яка з регулярно проводяться конференцій розробників Java найцікавіша і значуща?

- Зараз всюди проходять цікаві конференції. Більшість розробників можуть знайти заходи по своїй локації, так що зона охоплення хороша, і вона продовжує зростати з кожним роком. Завжди можна покластися на конференції JNation, jPrime або JBCNConf, які з'явилися лише кілька років тому, але швидко стають зразковими.

jPrime- конференція, на якій розповідається про Java,різних мовах в JVM, мобільних пристроях, веб-технологіях і кращих розробках. Організатор - болгарське співтовариство розробників Java. Проводиться щорічно в травні в Софійському технопарку.

JBCNConf- Щорічна Java-конференція, організовананекомерційною асоціацією Barselona JUG, що проводиться в Барселоні. На конференції обговорюються JVM-мови (Java, Scala, Clojure, Groovy, Kotlin), функціональне програмування, тестування, дизайн, блокчейн, машинне навчання, штучний інтелект та багато іншого.

— Що вплинуло на ваше становлення як професіонала?

- Я б сказав, що перша пара конференцій. Це дало можливість познайомитися з дивним Java-спільнотою, і я вдячний кільком людям, які направляли мене або змушували щось робити. Пам'ятаю, як скаржився на те, що спільнота в Португалії не дуже активне, а Адам Бін сказав мені: «Чому б тобі не створити свій власний?» Так народилося співтовариство Coimbra JUG. Андрес Алмір і Хізер Ван Кьюрі познайомили мене з Hackergarten, де я почав вносити свій вклад в open source проекти. Нарешті, Девід Блевінс був моїм наставником і допоміг мені вирости як в технічному, так і в розумовому плані. Але, що найважливіше, він підштовхнув до того, щоб самому стати наставником для інших людей. Саме цим я і пробую займатися зараз.

Адам Бін (Німеччина)- Консультант, тренер, розробник, член експертної групи Java Champion та багатьох інших, пов'язаних з Java.

Андрес Алміром- Java/Groovy-розробник і Java Champion, більше17 років досвіду проектування та розробки ПЗ. Займається розробкою веб-додатків та програм для десктопних комп'ютерів з перших днів існування Java. Член-засновник проекту Griffon та спільноти Hackergarten.

Хізер Ван Кьюрі- Голова JCP, організатор конференцій спільноти Hackergarten, присвячених технологіям Java.

Девід Блевінс— засновник проектів Apache TomEE, OpenEJB та Geronimo, член експертних груп EJB 3.2 (JSR 345) та Java EE 7 (JSR 342), автор матеріалів для розробки програмного забезпечення на основі компонентів.