Вакансия: программист Java::Журнал СА 4.2014
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
20.12.2019г.
Просмотров: 4293
Комментарии: 0
Dr.Web: всё под контролем

 Читать далее...

04.12.2019г.
Просмотров: 5619
Комментарии: 0
Особенности сертификаций по этичному хакингу

 Читать далее...

28.05.2019г.
Просмотров: 6853
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 7253
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 6326
Комментарии: 0
Django 2 в примерах

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Вакансия: программист Java

Архив номеров / 2014 / Выпуск №4 (137) / Вакансия: программист Java

Рубрика: Карьера/Образование /  Рынок труда

Вакансия: программист Java

Продолжаем публикацию цикла статей в помощь ИТ-специалистам, начинающим и опытным, которые ищут работу. В этом номере представители компаний рассказывают, какие навыки они хотели бы видеть у программистов Java

  1. Какими знаниями и навыками должен обладать программист Java?
  2. Каков инструментарий программиста Java?
  3. Каковы требования компании к уровню образования потенциальных сотрудников?
  4. Какие требования предъявляются к опыту работы?
  5. Есть ли особые требования, которые обусловлены спецификой деятельности компании?

НИКОЛАЙ ЧАШНИКОВ, руководитель команды разработчиков в проекте IntelliJ IDEA в JetBrains

1. В мире Java существует огромное количество библиотек и фреймворков, облегчающих создание программ. Да и сам язык Java с виртуальной машиной, для которой он сделан, позволяет писать код, не задумываясь о многих вещах. Но это не значит, что об этих вещах не нужно знать. Хороший Java-программист не только умеет пользоваться разными библиотеками, но и знает про то, как эти библиотеки устроены внутри, как реализованы классы в стандартной библиотеке Java, какие алгоритмы и структуры данных за ними стоят, в какой байт-код компилируется исходный код на Java, как этот байт-код исполняется в JVM.

2. Большую часть времени разработчик проводит в IDE (Eclipse, IntelliJ IDEA, NetBeans). Они не только помогают при написании кода, но и упрощают использование остальных инструментов, перечисленных ниже. Даже при работе в одиночку удобнее хранить исходный код, используя одну из систем контроля версий (Git, Subversion, Perforce...), при работе в команде это становится обязательным.

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

3. Требований по уровню образования у нас нет. Важно то, чему человек научился, а не то, какой диплом или сертификат он получил.

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

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


СЕРГЕЙ ВАВИНОВ, ведущий разработчик группы технологий работы с большими данными, Яндекс

1. Программист на Java в первую очередь должен быть просто хорошим разработчиком. Должен уметь разложить задачу на части, продумать подходящие алгоритмы, спроектировать программу и написать короткий, но понятный и тестируемый код или воспользоваться готовым решением. Из человеческих качеств в Яндексе очень важны аккуратность, способность работать в команде и готовность непрерывно учиться.

Конечно, есть и знания, специфичные для Java-платформы: это и стандартная библиотека, и детали реализации JVM (например, как устроен сборщик мусора), и такие инструменты, как reflection. Одна из сильных сторон Java – поддержка многопоточного программирования. Понимание принципов разработки многопоточных программ позволяет избежать многих ошибок, которые трудно обнаружить. Наконец, вокруг платформы Java есть много распространенных Open Source-библиотек. Знакомство с ними позволяет не «изобретать велосипед».

Хочу предостеречь специалистов от чрезмерной специализации: невозможно стать хорошим разработчиком на Java, если Java – единственный язык, который ты знаешь. Разработчик, специализирующийся на платформе Java, должен свободно владеть входящими в нее технологиями. Но он также должен понимать их ограничения, знать, когда можно опереться на сильные стороны JVM, а когда стоит выйти за ее пределы и использовать другие инструменты и языки.

2. Голова, среда разработки (IDE), система контроля версий, поисковик. А дальше – зависит от задачи.

3. В Яндексе уровень образования – важный, но не главный фактор для определения компетентности разработчика. Куда важнее реальный опыт, кругозор, а также любопытство и склонность к самообразованию.

Практически всегда для нас имеет значение общее математическое образование. Математическая подготовка хорошо ставит мышление, учит искать решения новых задач. Это полезно не только в наукоемких проектах, но и в обычных инженерных. Формальное образование в computer science дает знания, важные для любого разработчика, но при достаточной мотивированности многое из этого можно изучить и самостоятельно. Что же касается различных сертификаций по Java-технологиям, то их мало кто воспринимает всерьез.

4. Если говорить о Яндексе, то на стажерские вакансии и должности младших разработчиков мы готовы брать людей с минимальным опытом или даже без опыта, но с хорошей теоретической подготовкой. Остальному научим на месте. Насчет остальных вакансий отмечу, что мы с готовностью рассматриваем людей с опытом в других языках. Если кандидат несколько лет занимался серьезной разработкой на C++ или на .NET, а в Java делает лишь первые шаги, скорее всего ему не составит труда быстро разобраться в новых технологиях.

5. В первую очередь мы ожидаем от кандидатов базовых знаний в computer science: классические структуры данных, оценка сложности алгоритмов. Минимальные требования по Java – это знание самого языка Java, представление об устройстве JVM, стандартная библиотека.

Остальное зависит от вакансии. В проектах, связанных с машинным обучением, нужна хорошая математическая подготовка. При разработке массовых сервисов или систем обработки данных надо знать принципы построения распределенных масштабируемых и отказоустойчивых систем.

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


ТИМУР НИЗАМЕТДИНОВ, ведущий разработчик в Parallels

1. Самое главное – у него должно быть системное мышление. Также он должен очень быстро обучаться. Фреймворки очень часто меняются, но основные он должен знать: J2EE, Maven и т.д.

2. По-прежнему остается Eclipse.

3. Высшее образование, и, как я уже говорил, сотрудник должен обладать системным мышлением.

4. В нашей компании работа найдется для любых талантливых программистов.

5. Объем наследованного кода накладывает ряд ограничений. Например, необходимо умение быстро разобраться в проблеме и вынести решение, например, о рефакторинге либо об изоляции устаревшего кода. Программист должен быть способен разобраться в коде без документации.


ЕГОР АЛЕКСЕЕВ, директор по маркетингу ITmozg.ru

1. Java – один из самых востребованных языков программирования не только в России, но и в мире. В последнем рейтинге, который составил портал ITmozg.ru на основе вакансий разработчиков, размещенных компаниями в четвертом квартале 2013 года, Java занял третье место, уступив по частоте упоминаний только PHP и C/С++. Знание Java требуется почти в 14% программистских вакансий.

Средняя зарплата Java-девелопера также находится на достаточно высоком уровне – около 100 000 руб. – и продолжает расти. На такое вознаграждение могут рассчитывать кандидаты с опытом работы от трех лет. Конечно, зарплаты, которые предлагаются наиболее квалифицированным разработчикам в Москве и Санкт-Петербурге, могут быть значительно выше.

Образовательный ценз для потенциальных сотрудников в разработке не так строг. Многих работодателей интересуют реализованные проекты и конкретные скиллы, а не аттестат о высшем образовании. В большинстве вакансий требования к образованию либо не указаны, либо указаны достаточно расплывчато – «высшее/среднее профильное».

Среди основного инструментария, владение которым необходимо для кандидатов, указываются среды разработки Eclipse, IntelliJ IDEA, упоминается обязательность знания систем версионного контроля. Многие работодатели желают видеть в своих рядах сотрудников с подтвержденным опытом разработки серверных приложений на Java (JavaEE, JavaSE), уверенно владеющих объектно-ориентированной методологией, шаблонами проектирования (OOD Patterns), обладающих опытом работы с реляционными СУБД, знающих язык SQL, а также хорошо знакомых с сетевыми протоколами. Знание же английского требуется как минимум на уровне, который достаточен для чтения технической документации.

Подготовил Игорь Штомпель


Востребованная Java

Типичный перечень требований к знаниям и навыкам Java-программиста выглядит следующим образом: знание принципов объектно-ориентированного программирования; знание теоретических основ разработки баз данных; знание английского языка как минимум на уровне чтения технической документации; знание шаблонов проектирования Java и J2EE; навыки работы в команде; навыки работы с чужим кодом; навыки работы с системами контроля версий; навыки работы с СУБД (MS SQL/PostgreSQL/Oracle).

Чаще всего в вакансиях упоминаются Java-фреймворки Spring и JSF, фреймворк Maven, библиотека Hibernate.

Для 18% работодателей, разместивших вакансии Java-программистов на рекрутинговом портале Superjob.ru, уровень образования кандидата не имеет значения. Однако большинство (63%) готовы рассматривать соискателей именно с высшим образованием. Для 15% вакансий достаточно неполного высшего образования, для 4% – среднего специального.

Многие работодатели ищут Java-программистов с опытом работы от 1 до 3 лет (38% вакансий). 28% вакансий адресовано программистам Java с опытом работы до 1 года, почти столько же – 26% – профессионалам с опытом работы от 3 до 6 лет. Гуру Java-разработки (опыт работы свыше 6 лет) требуется в одной вакансии из 100. Для junior-программистов без опыта работы – 8% вакансий.

Существуют определенные пожелания в связи с задачами, которые предполагается решать программисту в компании. Например, процессинговой компании интересны соискатели с опытом разработки платежных систем (не обязательно именно на Java), а для реализации интерфейсов для мобильных устройств требуется сотрудник с опытом создания мобильных приложений.

Среднемесячное зарплатное предложение для Java-программистов по данным Superjob.ru в Москве составляет 104 000 руб., в Санкт-Петербурге – 84 000 руб. Выше всего средние предложения в сегменте «Информационные технологии/Телеком»: 115 000 руб. в Москве, 94 000 руб. в Санкт-Петербурге.

Валерия Чернецова,
руководитель отдела аналитики
рекрутингового портала Superjob.ru


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru