HR-блог про IT рекрутинг от ИТ Кадрового агентства

Java-разработчик — объект вожделения рекрутеров. Как и что с ним говорить?

Вопросы для собеседования

Java-разработчик — объект вожделения рекрутеров. Как и что с ним говорить?

Для отдела кадров опытный программист со знанием Java — настоящий клад. Кандидаты прекрасно это знают, поэтому их финансовые ожидания являются одними из самых высоких в отрасли. Однако они требуют чего-то большего, чем вознаграждение. Они знают себе цену, поэтому как профессионалы рассчитывают на профессиональный подбор. Как подготовиться к такой встрече?
Начну с анекдота. Вот как мог бы выглядеть пример разговора между двумя рекрутерами из ИТ-индустрии:
- У вас есть Java-программист на продажу?
— Может быть, два?
"Вы шутите…?!
- Ты начал это 🙂
Отделы кадров мечтают о специалистах, открытых для предложений, которые годами знают самый популярный объектно-ориентированный язык. Просто посмотрите на объявления на hh. Java присутствует в целых 24% из них. Эта статья, однако, будет не о комфорте «джавских людей» на рынке труда (да! мы читаем это с «j»), а о том, как завоевать их доверие и заинтересовать их своим предложением. Вопреки видимости, это не так уж и сложно.

Дуб, кофеин и Гослинг (но не Райан)

Говоря о Java, стоит знать, откуда она взялась и каковы были ее истоки. Итак, вернемся к истокам. В начале 1990-х канадский ученый-компьютерщик и программист (с именем, которое сегодня у большинства людей ассоциируется только с известным актером) и команда инженеров решили основать Oak. Работа команды Джеймса Гослинга представляла собой проект, заключающийся в разработке языка для цифровых устройств, таких как телевизионные приставки или телевизоры, но также пригодный для программирования.
Идея названия, по-видимому, возникла из-за дуба, который босс команды увидел из окна своего офиса. Однако вскоре выяснилось, что дерево уже является зарегистрированной торговой маркой Oak Technologies. Пришлось срочно придумывать новое название. Он должен был быть динамичным, энергичным и живым, чтобы отражать суть созданной ими технологии. “Это как кофе!” — подумал Гослинг, бегая в магазин «Ява» за свежей порцией кофеина во время перерыва в мозговом штурме. Таким образом, чашка ароматного кофе стала визитной карточкой одного из самых популярных языков программирования в мире.

Что такое Java и для чего она нужна?

Когда дело доходит до программирования, это в основном для всего. Его называют языком общего назначения, многофункциональным языком, который можно использовать для написания настольных, мобильных и веб-приложений. Программы, написанные на Java, можно запускать на многих платформах, таких как операционные системы Windows, Linux, Mac OS X (Apple) или на телефоне Android. Это внутренний язык, в отличие от JavaScript, который используется для создания интерфейсов.
Java также известна своей «простотой в обслуживании», что связано с «встроенными» стандартами написания кода в ней. Они обеспечивают прозрачность и устанавливают правила, которые позволяют понять код не только отдельным членам команды, создающей его, но и программистам, которые могут взять его на себя на каком-то этапе.
Самым большим преимуществом Java является его гибкость, то есть возможность программировать одно и то же приложение для разных устройств. Не нужно кодировать несколько версий в зависимости от операционной системы. Это огромная экономия времени для компании, которая создает такое приложение.
Сегодня Java используется банками, страховыми компаниями, торговыми компаниями и т.д. компании-разработчики программного обеспечения, которые создают специальные программы для внешних клиентов. Java воспринимается в первую очередь как язык, востребованный крупными компаниями и корпорациями.

Что такое объектно-ориентированный язык?

Говоря о Java, часто используется термин «объектно-ориентированный язык». Что это за объективность и что она на самом деле означает? Код можно писать по-разному. Один из них заключается в написании строки отдельными строками элементов (инструкций, условий или переменных), которые можно сгруппировать в определенные повторяющиеся блоки (структуры), такие как функции или процедуры. Это так называемое структурное программирование, которое в результате может оказаться трудночитаемым.
Объектно-ориентированный подход предполагает идентификацию объектов из реального мира и их описание в коде в виде классов. Каждый такой класс имеет свои атрибуты и поведение, что делает его более читабельным. Классы — это места, где программист размещает определения отдельных элементов и информацию об их поведении.
В реальном мире классом может быть, например, автомобиль. Он будет иметь некоторые характеристики, такие как цвет, текущая скорость, текущее передаточное число, состояние двери (открыта/закрыта) и некоторые «поведения», такие как ускорение, замедление, реверс и т. д. На основе классов мы создаем объекты, т.е. автомобиль ( красный BMW, текущая скорость 110 км/ч, пятая передача, двери закрыты). Мы можем влиять на состояние этого объекта через его поведение, например, замедлять/ускорять. Таким образом, классы являются своего рода «рецептом» того, как должны создаваться объекты, т. е. какими свойствами и поведением они должны обладать.
Объекты, с другой стороны, являются отображениями конкретных объектов из реального мира. Что-то вроде "рецепта сырника" (класса) и конкретных трех сырников, испеченных на его основе (предметов) - каждый немного отличается. Благодаря такому подходу код становится более читабельным и лучше отражает описываемый им мир.

Технические и каверзные вопросы

Какие вопросы стоит задать на собеседовании человеку, претендующему на должность, например, Java Developer. Безусловно, технические знания должны быть проверены на начальном этапе. Спросите о реализованных проектах, а также о знании таких понятий, как:
  • GIT — система контроля версий, которая позволяет работать в команде удаленно и за счет сохранения всех изменений и исправлений, и, как следствие, полного безошибочного кода
  • Hibernate — фреймворк, благодаря которому программисту не нужно создавать базу данных для приложения
  • JIRA — программа для отслеживания ошибок и управления проектами
  • Spring — фреймворк, упрощающий разработку программного обеспечения, один из базовых элементов, связанных с языком Java.
  • TDD — методика, при которой программист сначала пишет тесты для несуществующей функциональности, а уже потом создает код, реализующий эту функциональность
  • Шаблоны проектирования — набор рекомендаций, разработанных на основе наиболее распространенных проблем в проектах, связанных с объектно-ориентированным программированием. Это описание практик, облегчающих создание читаемого кода.
Вы также можете затронуть темы, связанные с историей, например, используя вопросы с подвохом. Есть ли смысл в таких вопросах? Если вы хотите выбрать настоящие жемчужины среди кандидатов, это может быть одним из способов. Ведь это не секретная информация для энтузиастов, а истории вроде похода за кофе только доказывают, что программистам не обязательно быть схематичными и скучными.
  • Что мы видим на логотипе Java и откуда взялся этот символ?
  • С кем у вас ассоциируется имя Гослинг? – безусловно,
  • не должно быть ответа, связанного со второй частью «Бегущего по лезвию», хотя тут не только совпадение имен, но и системы 🙂
  • Какая компания создала Java? — вопрос, который важен, потому что Java сегодня ассоциируется с Oracle. Однако каждый уважающий себя Java-разработчик должен знать, что Джеймс Гослинг и его команда создали эту программу, работая в Sun Microsystems. Только
  • позже вместе со всей компанией Java она была поглощена Oracle, а ее создатель перешел в Google, а затем в Amazon.

Вы в четверти часа от успеха

Как видно на примере отца Явы, менявшего рабочие места в сменяющих друг друга крупных корпорациях, в этой профессии нельзя жаловаться на отсутствие работы. Есть еще один старый анекдот по этому поводу:
"Я слышал, что вы стали безработным?"
– Ну… это были худшие 15 минут в моей жизни.
В этом коротком рассказе скрыта драгоценная правда. Раз герой анекдота так недолго искал новую работу, значит,… кто-то его завербовал. Таким образом, желаю всем рекрутерам, чтобы благодаря этому руководству поиск Java-программиста стал столь же «неприятным» и эффективным четверть часа в их работе.
Наше агентство по подбору ИТ-персонала предлагает вам найти квалифицированных разработчиков за срок менее 2 недель. Свяжитесь с нами прямо сейчас, чтобы узнать подробнее о возможностях расширения вашего будущего проекта. Мы обеспечиваем подбор лучших кандидатов по разумной цене. За 10 лет работы в этой сфере мы успешно заполнили свыше 5500 вакансий и сформировали 25+ команд с нуля. Проверьте отзывы от наших клиентов об агентстве и убедитесь в нашей компетентности! Если требуются дополнительные рекомендации, пишите нам в Telegram.