Собеседуя Enterprise Java девелоперов.

max аватар
90
Находится в разделах:

Yakov Fain о собеседовании  J2EE девелоперов.

 

В наше время, рынок вакансий по Java очень велик. Множество сайтов по поиску работу выдают тысячи открытых вакансий и люди сражаются за эти позиции. Толковые Java программисты так же популярны, как и разработчики Visual Basic или PowerBuilder в 1996 году. Но, в отличие от тех времен, когда клиент-серверные программисты могли считаться достойными, используя, например, одну утилиту и несколько популярных баз данных, в наши же дни, Java разработчики должны уметь пользоваться не менее 10-ью утилитами или технологиями для того, чтобы найти хорошую работу и чувствовать себя в безопасности на многие годы. 

На протяжении всего прошлого года я собеседовал множество J2EE разработчиков, которые и сейчас востребованы. Но на протяжении последних нескольких лет, требования вакансий, люди и резюме немного изменились и вот, что я заметил:

  • Люди более не называют себя Java разработчиками или программистами-аналитиками - большинство из них предпочитает название Java architect (архитектор). К сожалению, лишь некоторые из них в действительности понимают, как компоненты J2EE работают и взаимодействуют на самом деле и могут предложить некоторые архитектурные решения. 
  • Претенденты на вакансию более старшие люди и я все реже вижу выпускников колледжей или джуниор разработчиков на рынке. Большое число вакансий для джуниоров ушло в аутсорсинг и числов выпускников со степенью в компьютерных науках заметно снизилась на протяжении нескольких лет. 
  • Наличие успешно пройденных сертификаций по Java не делает Ваше резюме выдающимся. По правде говоря, если резюме начинается со списка сертификатов, скорее всего это начинающий разработчик. Я не выступаю против сертификатов, поскольку они действительно помогают изучить или крепче освоить язык или утилиту, показывают, что Вы действительно целеустремленная личность и готовы обучаться чему-то. Но, на самом деле, наличие сертификата абсолютно ничего не говорит о ваших навыках и профессионализме. 
  • Три-четыре года назад люди с опытом работы с EJB были очень востребованы. Но сейчас знания передовых фреймворков может быть более ценным. Есть множество хороших j2ee, web фреймворков, но все они имеют побочный эффект: некоторые программисты на самом деле не знают, как работают "чистые" сервлеты. Когда я спрашиваю, как обрабатывается HTML форма сервлетом, первое, что приходит им в голову - это класс Action. 
  • Похожая ситуация есть и в JDBC. Люди в действительности не знают, как работает JDBC. Они лишь передают SQL выражение в какой-то враппер, созданный своими же архитекторами, и получают результат обратно. 
  • Я вижу новое поколение Java архитекторов, которые хотят стать менеджерами проектов. Эти люди обычно знают свое дело действительно хорошо, могут говорить о серверах приложений, системах сообщений, кластерах, но часто они обламываются на коротких  вопросах по технической стороне Java. 
  • Список требований к кандидату стал намного длиннее в наши дни и компании даже не хотят отсылать ваше резюме клиенту, если у Вас есть лишь "9" из "10" навыков. 
  • Будьте готовы пройти как минимум четыре собеседования для того, чтобы быть нанятым. Если в 1999 году двух собеседований было предостаточно, то в 2001 было очень тяжело попасть даже на само интервью, не говоря уже о самой работе. 
Что же еще должен знать хороший J2EE разработчик в добавку к тому, чем отличается интерфейс и абстрактный класс? Обычно, работодатели ищут людей с минимум 10 навыками из следующего списка: Java Servlets, JSP, Struts или аналогичный фреймворк, EJB, JMS, любой движок MOM (Message oriented middleware), JDBC, JNDI, HTML, XML, Ant, SQL, один из ведущих серверов приложений, множество систем управления базами  данных, любая утилита для моделирования UML, несколько шаблонов проектирования (Хотя бы синглтон!) и знакомство с юниксом.  
Понимание того, почему определенный J2EE компонент был использован в проекте. Если на интервью Вас спрашивают "Зачем Вы использовали EJB в проекте?", не надо отвечать в стиле "Это решение было принято до моего появления на проекте". Имейте свое мнение и объясняйте почему, по вашему мнению, это был хороший или плохой выбор для определенного проекта". 
Я продолжаю слышать "ужасные истории" о вопросах, которые попадаются некоторым людям на собеседовании. По-моему, собеседующие должны задавать побольше открытых вопросов о предыдущем опыте собеседуемого, вникая в технические детали лишь при необходимости.  Я думаю, что нечестно будет просить человека написать на Java программу для обработки бинарного дерева или реализовать конечный автомат.  Все эти вещи можно найти в интернете при необходимости. 
Хорошее понимание бизнес терминологии вашего потенциального работодателя также важно. Я не уверен насчет Кремниевой Долины или Европы, но здесь, в Нью-Йорке, зная ли азы, трудно стать сеньйор девелопером.  Постарайтесь узнать как можно больше деталей у рекрутеров насчет того, чем занимается ваш потенциальный работодатель. 
Они определенно ищут стоящих людей и Вы можете стать одним из них.

Конец
Бенджамин Франклин утверждает, что стоит отводить нужное время на все дела; большая спешка — большие потери.

Спасибо!

Отправить комментарий

CAPTCHA
Чтобы оставить комментарий, введите пожалуйста код, изображенный на картинке
Image CAPTCHA
Введите символы, изображенные на картинке

Материалы, которые могут вас заинтересовать