Яким повинен бути java-розробник

Микола Чашников, керівник команди розробників в проекті IntelliJ IDEA в JetBrains.

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

У світі Java існує величезна кількість бібліотек і фреймворків, що полегшують створення програм. Та й сама мова Java з віртуальною машиною, для якої він зроблений, дозволяє писати код, не замислюючись про багато речей. Але це не означає, що про ці речі не потрібно знати. Хороший Java-програміст не тільки вміє користуватися різними бібліотеками, а й знає про те, як ці бібліотеки влаштовані всередині, як реалізовані класи в стандартній бібліотеці Java, які алгоритми і структури даних за ними стоять, в якій байт-код компілюється вихідний код на Java , як цей байт-код виконується в JVM.

Який інструментарій програміста Java?

Велику частину часу розробник проводить в IDE (Eclipse, IntelliJ IDEA, NetBeans). Вони не тільки допомагають при написанні коду, а й спрощують використання інших інструментів, перерахованих нижче. Навіть при роботі в поодинці зручніше зберігати вихідний код, використовуючи одну з систем контролю версій (Git, Subversion, Perforce ...), при роботі в команді це стає обов'язковим.

Проекти на Java часто складаються з великої кількості модулів і використовують безліч бібліотек від сторонніх розробників. Для управління залежностями і збірки проектів використовуються Maven, Ant, Gradle, Ivy. При спільній роботі над одним проектом важливо постійно перевіряти, що зміни, сделаннние різними розробниками, узгоджуються один з одним. Для цього існують системи безперервної інтеграції (Jenkins, Bamboo, TeamCity і інші).

Які вимоги компанії до рівня освіти потенційних співробітників?

Вимог щодо рівня освіти у нас немає. Важливим є те, чого людина навчилася, а не те, який диплом або сертифікат він отримав.

Які вимоги пред'являються до досвіду роботи?

Junior-розробником може стати і студент старших курсів без досвіду роботи (втім, студенти зазвичай потрапляють на роботу через стажування), для senior developer необхідні три - п'ять років роботи в серйозній компанії.

Чи є особливі вимоги, які обумовлені специфікою діяльності компанії?

Для різних проектів в компанії є різні навички, на які ми можемо звернути увагу. Наприклад, для проекту IntelliJ IDEA плюсом будуть знання про синтаксичному розборі програм або досвід зі створення полігонів для будь-якої IDE.

Схожі статті