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

  Опросы
  Статьи

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

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

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

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

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

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

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

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

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

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

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

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

Принципы проектирования  

Dependency Inversion Principle. Принцип инверсии зависимостей в разработке

Мы подошли к последнему принципу проектирования приложений из серии SOLID – Dependency

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

Рынок труда  

Вакансия: Администратор 1С

Администратор 1С – это специалист, который необходим любой организации, где установлены программы

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

Книжная полка  

Книги для профессионалов, студентов и пользователей

Книги издательства «БХВ» вышли книги для тех, кто хочет овладеть самыми востребованными

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

Принципы проектирования  

Interface Segregation Principle. Принцип разделения интерфейсов в проектировании приложений

Эта статья из серии «SOLID» посвящена четвертому принципу проектирования приложений – Interface

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

Книжная полка  

Секрет успешных людей

Книги издательства «БХВ» по ИТ рассчитаны на разные категории читателей: от новичков

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

Учебные центры  

Карьерные мечты нужно воплощать! А мы поможем

Школа Bell Integrator открывает свои двери для всех, кто хочет освоить перспективную

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

Гость номера  

Дмитрий Галов: «Нельзя сказать, что люди становятся доверчивее, скорее эволюционирует ландшафт киберугроз»

Использование мобильных устройств растет. А вместе с ними быстро растет количество мобильных

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

Прошу слова  

Твердая рука в бархатной перчатке: принципы soft skills

Лауреат Нобелевской премии, специалист по рынку труда, профессор Лондонской школы экономики Кристофер

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

1001 и 1 книга  
19.03.2018г.
Просмотров: 11274
Комментарии: 0
Потоковая обработка данных

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

19.03.2018г.
Просмотров: 9529
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

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

19.03.2018г.
Просмотров: 9578
Комментарии: 0
Конкурентное программирование на SCALA

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

19.03.2018г.
Просмотров: 5986
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

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

12.03.2018г.
Просмотров: 6695
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

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

12.03.2018г.
Просмотров: 3988
Комментарии: 0
Глубокое обучение с точки зрения практика

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

12.03.2018г.
Просмотров: 2907
Комментарии: 0
Изучаем pandas

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

12.03.2018г.
Просмотров: 3715
Комментарии: 0
Программирование на языке Rust (Цветное издание)

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

19.12.2017г.
Просмотров: 3719
Комментарии: 0
Глубокое обучение

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

19.12.2017г.
Просмотров: 6209
Комментарии: 0
Анализ социальных медиа на Python

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

19.12.2017г.
Просмотров: 3064
Комментарии: 0
Основы блокчейна

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

19.12.2017г.
Просмотров: 3363
Комментарии: 0
Java 9. Полный обзор нововведений

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

16.02.2017г.
Просмотров: 7180
Комментарии: 0
Опоздавших не бывает, или книга о стеке

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

17.05.2016г.
Просмотров: 10558
Комментарии: 0
Теория вычислений для программистов

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

30.03.2015г.
Просмотров: 12274
Комментарии: 0
От математики к обобщенному программированию

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

18.02.2014г.
Просмотров: 13908
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

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

13.02.2014г.
Просмотров: 9039
Комментарии: 0
Читайте, размышляйте, действуйте

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

12.02.2014г.
Просмотров: 7000
Комментарии: 0
Рисуем наши мысли

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

10.02.2014г.
Просмотров: 5310
Комментарии: 3
Страна в цифрах

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

18.12.2013г.
Просмотров: 4542
Комментарии: 0
Большие данные меняют нашу жизнь

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

18.12.2013г.
Просмотров: 3350
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

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

Друзья сайта  

 Вакансия: бэкенд-веб-разработчик

Архив номеров / 2015 / Выпуск №3 (148) / Вакансия: бэкенд-веб-разработчик

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

Вакансия:
бэкенд-веб-разработчик

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

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

Артур Боженов, старший программист отдела внутренней автоматизации Positive Technologies

Тимур Гимуллин, cтарший инженер по автоматизации тестирования отдела технологий разработки Positive Technologies

1. Артур Боженов: Бэкенд-веб-разработчик должен обладать следующими навыками и знаниями:

  • многопоточное программирование;
  • принципы ACID (Атомарность, Согласованность, Изолированность, Надежность) и их применение на практике;
  • общие принципы сетевой архитектуры и протоколов;
  • цикл жизни HTTP-запроса/ответа, путь прохождения запроса;
  • защита сетевых соединений (HTTPS). Авторизация. Настройка прав доступа к ресурсам;
  • REST, ODATA, WebAPI, SOAP;
  • веб-сервисы;
  • хостинг веб-приложения (IIS, Nginx, Lighttpd, Node.js, Apache);
  • масштабируемость решения, балансировка/маршрутизация запросов;
  • логирование;
  • кэширование данных;
  • хранение данных (адекватный выбор способа хранения в зависимости от задачи);
  • работа с большими объемами данных.

Тимур Гимуллин: Я бы еще добавил к вышеперечисленному стандартные джентльменские наборы разработчика (часто встречаются): WAMP, XAMP и т.п.

2. Артур Боженов: Основной инструментарий бэкенд-веб-разработчика:

  • удобная IDE (Visual Studio, NetBeans и т.п.);
  • сервисы или утилиты для создания/просмотра/изменения regEx выражений, JSON, XML, текста в неправильной кодировке;
  • Google и Stackoverflow;
  • MongoDb/Redis/memcached;
  • Elasticsearch/Kibana;
  • RabbitMQ/ZeroMQ/MSMQ и прочие MQ.

Тимур Гимуллин: Насчет IDE – это дела вкуса, хоть блокнот (саблайм, npp), но я бы лучше смотрел в сторону продуктов JetBrain, и прочих, хорошо интегрирующихся друг с другом.

3. Артур Боженов: Высшее (необязательно) техническое (обязательно). Опыт практической работы важнее.

Тимур Гимуллин: Насчет образования – лучше техническое или математическое.

4. Артур Боженов: 3-5 лет разработки не-фронтенда.

Тимур Гимуллин: Для бэкенд-разработчиков не могу уточнить.

5. Артур Боженов: Аналитический склад ума.

Тимур Гимуллин: Реальное умение работать в команде и умение договариваться. Разработчика, который не умеет моделировать и приступает к работе сразу, не продумав общую архитектуру и взаимодействие всех модулей приложения, я бы вообще никуда не брал. На аутсорсе пусть сидят!


Евгений Кузин, начальник отдела сетевых проектов, ООО «Доктор Веб»

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

Архитектура веб-приложений значительно отличается от архитектуры обычных прикладных программ в первую очередь тем, что с веб-приложениями могут работать (и работают) одновременно десятки, а порой и сотни пользователей. Изоляция клиентов друг от друга, безопасность системы, расчет на увеличение производительности путем масштабирования системы и связанные с этим архитектурные и технические решения целиком ложатся на плечи веб-разработчика.

Во-вторых, для веб-разработчика важно чутко реагировать на развитие Интернета, анализировать используемые технологии и инструменты.

Веб-разработчик не должен бояться осваивать новые технологии, должен быть легким на подъем (по сравнению с коллегами – прикладными программистами) и уметь действовать быстро.

2. Не называю конкретные программы, поскольку по каждому аспекту возможны равноценные варианты.

Конечно же, браузер, со всеми расширениями, необходимыми для анализа, проверки и манипуляции с элементами и скриптами на веб-странице. Затем утилиты, позволяющие посылать разнообразные кастомные HTTP-запросы (поскольку на 95% веб-разработка – это протокол HTTP) и детально анализировать трафик и обмен данными между клиентом и сервером. Также бэкенд-веб-разработчику необходим текстовый редактор, желательно с поддержкой используемых языков программирования, инструментов отладки, профилирования и контроля версий.

Отдельно стоит упомянуть инструменты для написания или генерации технической документации. Документация – это хорошо, хорошая документация – тоже неплохо.

И, конечно, главные инструменты – голова и прямые руки.

3. Совершенно необходимо знать русский язык, уметь ясно и четко излагать свои мысли в общении с коллегами, как письменно, так и устно. В остальном мы не требуем от соискателей в обязательном порядке высшего технического образования или наличия каких-либо сертификатов – решают качество работы и практические знания.

4. Здесь тот же принцип, что и с образованием. Опыт работы, стаж – безусловные плюсы, однако каждого кандидата мы рассматриваем индивидуально.

5. Если говорить о разработке именно для Интернета, то веб-разработка сама по себе уже представляет создание приложения, работающего в публичной среде для пользователя, истинные намерения которого неизвестны. Программируя любое действие, нужно задавать себе вопросы: что если пользователь (злоумышленник) автоматизирует бесконечное выполнение этого действия? Что если входные данные приложения будут произвольным способом отредактированы? Что если ссылка на этот сервис попадет в открытый доступ, будет передана посредством IM другому пользователю? И тому подобное.

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


Николай Крапивный, руководитель отдела новых разработок, Badoo

1. Бэкенд-веб-разработчик в Badoo, как любой хороший инженер, должен уметь понимать поставленную задачу и уметь ее эффективно решить в рамках имеющихся в наличии технологий и инструментов. Мы используем PHP+MySQL, поэтому наш веб-разработчик должен прежде всего свободно владеть PHP и SQL. Должен быть ответственным и стремиться делать свою работу хорошо – соблюдать сроки, понимать продуктовую/техническую ценность задачи, отвечать за итоговое качество.

2. Базовый набор составляют PHP, MySQL, nginx, Git, JIRA, IDE, любимый браузер и командная строка. Кроме этого, у нас в компании написано большое количество различных инструментов, систем, библиотек, которые разработчики повсеместно используют для решения тех или иных задач. Некоторая часть этих инструментов доступна в Open Source, например, Pinba – средство для мониторинга PHP в реальном времени, наш инструмент для форматирования кода – phpcf, PHP-обвязка для библиотеки Leptonica.

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

4. Ситуация аналогична ситуации с образованием: никаких жестких и формальных требований.

5. У наших проектов большая аудитория и достаточно нагруженные PHP-бэкенды. В пиках они обрабатывают до 50 тысяч запросов в секунду. В связи с этим мы особое внимание уделяем теме производительности. Нужно понимать основные принципы кэширования, репликации, оптимальной работы с данными, оптимизации потребления и распределения ресурсов. Быть способным увидеть и локализовать проблему с производительностью на любом уровне.


Денис Силаков, начальник отдела технологических разработок и сопровождения компании «НТЦ ИТ РОСА»

1. Кандидату на такую должность в «НТЦ ИТ РОСА» понадобятся следующие навыки:

  • хорошее знание Ruby on Rails 4.x;
  • знакомство с Behavior-driven development;
  • знакомство с принципами коллективной разработки – системами контроля версий, трекерами задач и так далее;
  • опыт работы с базами данных (как реляционными, так и NoSQL);
  • опыт работы с SLIM/HAML;
  • знание и опыт работы с JavaScript/CoffeeScript;
  • знание CSS/SCSS.

2. В «НТЦ ИТ РОСА» для веб-разработки в настоящее время используется фреймворк Bootstrap, а также JavaScript-фреймворк AngularJS. Для хранения данных используются PostgreSQL и Redis. Разработка на Ruby on Rails ведется в соответствии с подходом Behavior-driven development с применением инструментария RSpec.

3. Наличие высшего технического образования будет плюсом, однако в первую очередь мы будем смотреть не на диплом, а на навыки и опыт потенциального кандидата.

4. Желателен опыт работы от года в проектах, где использовались упомянутые в первом пункте технологии (по крайней мере Ruby on Rails).

5. Бэкенд-веб-разработчики в «НТЦ ИТ РОСА» трудятся преимущественно над системой разработки и сборки ABF, используемой для создания наших основных продуктов – линейки дистрибутивов ОС Linux и продуктов под эту ОС. Поэтому будет большим плюсом, если кандидат на эту вакансию хорошо знаком с Linux и со сборкой пакетов под эту систему. Не лишним будет знакомство с другими технологиями, использующимися в ABF – виртуализацией (в частности, LXC), системами управления конфигурацией (например, Ansible) и системами хранения кода (в первую очередь Git).


Сергей Казанцев, старший разработчик, «Лаборатория Касперского»

1. Бэкенд-разработчики отвечают за код, выполняемый на веб-серверах.

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

2. Разработчик должен знать как минимум один высокоуровневый язык программирования, фреймворк для эффективной веб-разработки и веб-сервер.

Популярными связками могут быть:

  • C# + ASP.NET + IIS;
  • Java + Spring MVC + Apache Tomcat;
  • Ruby on Rails + Nginx;
  • Python + Django + Apache;
  • PHP + Apache;
  • …или их комбинации.

Многие веб-сервисы компании построены на базе технологий Microsoft и платформы .NET, но нередко применяются и Ruby on Rails, Perl, PHP.

В арсенале хорошего бэкенд-разработчика всегда присутствуют инструменты:

  • мониторинга трафика: Fiddler, Wireshark;
  • профилирования производительности, памяти и запросов к базе данных;
  • быстрого поиска по логам: grep.

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

4. Требуемый опыт работы может зависеть от позиции, на которую претендует соискатель:

  • 1 год – младший веб-разработчик;
  • 2-5 лет – веб-разработчик;
  • 5-7+ – старший/ведущий разработчик.

5. К специфическим требованиям «Лаборатории Касперского» можно отнести знание криптографии, потенциальных угроз веб-приложений и способов их предотвращения.


Илья Кутуков, старший программист, специалист по веб-инжинирингу в Parallels

1. У нас в Parallels сейчас как раз открыто две вакансии для таких специалистов – ведущего веб-бэкенд-разработчика (http://hh.ru/vacancy/12586616?query=parallels) и ведущего веб-бэкенд-разработчика и архитектора (Python) (http://hh.ru/vacancy/12599030?query=parallels), так что мы точно понимаем, что хотим от таких специалистов. Подразумевается, что человек, приходящий к нам, владеет нужными для работы языками программирования и технологиями в достаточной мере. Кроме проверки coding skills и общей эрудиции, мы даем тест на архитектора – текст, представляющий собой вольно написанное и заведомо неполное ТЗ на разработку системы. Дальше просим кандидата уточнить, что ему непонятно, какие дополнительные вопросы у него возникли и как он видит основные составляющие системы, схему данных, как все будет меняться при увеличении нагрузки, объема данных, а где этим можно пренебречь.

2. Основной инструментарий – IDE (уточню, что мы в команде предпочитаем PyCharm), окружение разработчика, то есть набор программ, который делает его максимально похожим на начинку боевых серверов, но при этом с возможностью быстро разбираться в том, что происходит, VCS, подручные скрипты. Из интересных, сравнительно новых инструментов, технологий и подходов хотелось бы также упомянуть о «реактивном» подходе (Akka, Rx.*, Apache Storm и т.п.), который требует от разработчика мышления на уровне потоков сообщений, событий и их модификации. А также микросервисные архитектуры, хорошо дополняющие их языки описания интерфейсов (Thrift, Avro, Protobufs, JSON schema), которые позволяют с удобством создавать контракты, по которым идет обмен данными.

3. Образование для нас принципиальной роли не играет.

5. У нас бэкенд-девелоперы работают над такой функциональностью, как Parallels MyAccount, Access Portal, Desktop Portal, в таких решениях, как Parallels Access (решение удаленного доступа) и Parallels Desktop для Mac (запуск на Маках разных операционных систем и их приложений без перезагрузки), с различными инфраструктурными решениями. Поэтому у нас есть такая специфика, как zero-downtime, и хорошо, если человек не только понимает, какие изменения нужно внести, но и как это сделать, не затронув пользователей.


Константин Кичинский, эксперт по стратегическим технологиям, Microsoft Россия

1. Знания и навыки, необходимые бэкенд-веб-разработчику:

  • Архитектура сети, протоколы, каналы коммуникации.
  • Технологический стек, соответствующий проекту (например, C#, .NET, ASP.NET или JavaScript/TypeScript + NodeJS) + управление лежащей в основе операционной системой (например, Windows/Azure + PowerShell).
  • Автоматизация развертывания и тестирования (в том числе нагрузочного).
  • Понимание облачных возможностей основных провайдеров (Microsoft Azure, AWS), включая обеспечение масштабируемости сервисов.
  • SDL и в целом вопросы обеспечения безопасности (вклю­чая шифрование и аутентификацию).

2. Инструменты: Visual Studio, Git + остальное зависит от процессов и технологического стека.

3. Образование: профильное (IT) + практический опыт, приветствуются качественные знания в специфичных областях (также безопасность или обеспечение отказоустойчивости сайта).

4. Опыт: практический опыт в реальных проектах, включая участие в OS-проектах.

5. Специфичные требования: Azure.


Александр Горный, директор по информационным технологиям Mail.Ru Group

1. Во-первых, он должен знать бэкенд – свой основной рабочий язык программирования, базы данных, принципы организации серверных приложений. Кроме того, ему нужны знания в вебе: устройство HTTP-протокола, возможности CSS, хотя бы элементарное владение HTML и JavaScript. И, наконец, он должен быть хорошим разработчиком – уметь отлаживать свой и чужой код, правильно пользоваться классическими алгоритмами, выбирать уместные структуры данных.

2. Основной инструмент – это, конечно, язык программирования. Язык определяет второй уровень инструментария: стандартные для этого языка фреймворки и наборы библиотек. Затем идут базы данных: чаще всего MySQL или PostgreSQL – и NoSQL-хранилища, такие как Tarantool или Redis.

3. Формальных требований к диплому при устройстве на работу в Mail.Ru Group нет. Гораздо важнее реальные навыки и проекты, в которых он участвовал. У Mail.Ru Group есть два крупных образовательных проекта: Технопарк на базе МГТУ имени Баумана и Техносфера на базе ВМК МГУ, цель которых – дать студентам конкретные навыки в области веб-разработки.

4. Формальных требований опять же нет, но в целом можно говорить, что разработчик становится полностью самостоятельным где-то после двух-трех лет опыта работы «вторым номером».

5. Бэкенд-разработка традиционно была сердцем нашей компании. Бэкенд-разработчик должен быть действительно лучшим во всем – умным, творческим, ответственным, аккуратным, а также хорошим командным игроком и желательно с нимбом вокруг головы. С технической точки зрения, наша специфика в том, что большая часть бэкенда пишется на C++, а не скриптовых языках – к этому вынуждают высокие нагрузки.


Александр Недзельский, руководитель веб-студии ITSOFT

1. Если говорить о неком собирательном образе бэкенд-разработчика, то:

  • понимание ООП, шаблонов проектирования, знание основных алгоритмов и структур данных;
  • владение одним из языков программирования (или несколькими);
  • опыт работы с СУБД, знание SQL;
  • понимание принципов проектирования реляционных БД;
  • опыт работы с популярными фреймворками;
  • опыт работы с системами управления версиями;
  • базовые знания HTML, CSS, JavaScript;
  • умение настроить тестовое окружение.

2. «Блокнот» и голова на плечах. А если серьезно, то любая IDE/редактор и тестовая площадка. Обычно инструменты выбираются в зависимости от предпочтений/задачи/возможностей.

3. Строго высшее техническое.

4. Наличие законченных и работающих коммерческих проектов.

5. Мы разрабатываем веб-приложения, сайты и сервисы преимущественно на PHP/MySQL. При этом мы используем Yii/Symfony и 1С-Битрикс для стандартных решений. Поэтому для нас важны релевантный опыт и знания.


Эдуард Гурский, Technical Lead в команде Internal Development, компания JetBrains

1. Бэкенд-веб-разработчик – это, по сути, человек, разрабатывающий серверную логику и осознающий, в каком контексте она будет исполняться – в контексте веб-приложений. Если бэкенд-веб-приложения реализуются на языке Java, а в большинстве случаев это так, то, по сути, к такому специалисту применимы все те же требования по знаниям и навыкам, что и к обычному Java-разработчику: знание языка, понимание работы и устройства основных библиотечных компонент Java SDK и т.д. Однако еще добавляются опыт работы с различными веб-фреймворками (упрощающими реализацию dependency injection, mvc и т.д.), умение оценивать и улучшать производительность приложения, его масштабируемость. Необходимо учитывать и понимать, насколько быстро пользователь приложения получит результат выполнения серверного кода, а также насколько безопасно и рационально ту или иную серверную функциональность делать доступной через браузер пользователя.

Почти любое веб-приложение использует какое-то хранилище данных. Поэтому человек, занимающийся разработкой серверной логики, должен иметь навыки работы с базами данных, а также опыт использования механизмов ORM (http://en.wikipedia.org/wiki/Object-relational_mapping).

Часто бэкенд-веб-приложение требует интеграции со сторонними сервисами или экспорт своей функциональности в виде внешнего API. Разработчик должен понимать, как реализуются такие задачи, какие протоколы и механизмы используются для этого.

Несмотря на то что такой человек в основном занимается разработкой серверной логики приложения, возникает необходимость отладки или прототипирования с использованием клиентской части приложения. Отсюда вытекает необходимость понимания работы стека протоколов TCP/IP, HTTP, принципов взаимодействия браузера с веб-приложением, базовые знания о верстке, CSS-стилях, JavaScript-возможностях.

2. Обычно это IDE для разработки. Также временами требуется использовать профилировщик для решения задач производительности, чрезмерного потребления ресурсов и др. В нашей команде мы используем IntelliJ IDEA.

3. Мы не предъявляем никаких формальных требований к уровню образования кандидатов. Важнее опыт, понимание и интеллект, ну и, конечно, мотивация человека.

4. Любой опыт разработки production веб-приложений, конечно, является плюсом. Знания и навыки, описанные выше, не могут присутствовать у специалиста при отсутствии соответствующего опыта. На собеседованиях мы обычно интересуемся деталями участия в различных проектах, указанных в резюме, чтобы оценить опыт, который мог приобрести кандидат, реализуя такие задачи. Специалист, пробовавший различные подходы и технологии для решения схожих задач при разработке веб-приложений, умеющий анализировать плюсы и минусы каждого подхода, является весьма интересным кандидатом.

5. Приветствуется опыт разработки приложений с использованием продуктов JetBrains. Мы все в компании стараемся пользоваться своими продуктами, потому что они удобные и потому что мы хотим сделать их еще удобнее!

Также в последнее время мы практикуем разработку веб-приложений на языке Kotlin. Это дает ряд существенных преимуществ, а также делает процесс написания кода на нем более приятным занятием. Приветствуется желание кандидата изучать новые языки и новые подходы реализации веб-приложений.


Дмитрий Овчинников, веб-разработчик
Наталья Жук, рекрутер в СООО «Гейм Стрим» в минском центре разработки Wargaming

1. Бэкенд-разработчику необходимо глубокое понимание веб: от формирования HTTP-запроса на стороне браузера до осуществления межсерверных коммуникаций с использованием различных протоколов. Веб в компании Wargaming – это не только «Личный кабинет» игрока, но и множество сервисов, обеспечивающих единую аутентификацию, регистрацию, участие в реферальной программе и т.п.

Также важно обладать инженерным мышлением. В сочетании с большим техническим кругозором это позволяет предлагать эффективные решения.

И, конечно, обязательно писать качественный код. Лицо программиста – это его код. Знание основных архитектур и современных паттернов программирования часто является обязательным при работе в большой команде над сложным проектом.

2. В Wargaming стек используемых технологий вполне стандартен: основной массив веб-проектов разрабатывается на Python, некоторые сервисы написаны на PHP, а другие, критичные к скорости и параллельным вычислениям, – на Erlang. Для хранения данных используется MySQL, для кэша – memcached. В качестве шины передачи сообщений в компании выбран RabbitMQ. Из фреймворков – Django и Twisted. Если говорить о фронтенд-части, то это распространенная связка Backbone/Underscore/jQuery.

Что касается средств разработки, в Wargaming мы придерживаемся позиции «что лучше для разработчика». Кто-то использует современные IDE, кто-то комфортнее чувствует себя с Vim или Emacs. Неважно, с помощью каких инструментов мы выполняем свою работу, если в результате получаются удобные и полезные сервисы, которыми ежедневно пользуются миллионы игроков по всему миру.

3. Формализованных требований к уровню образования у нас нет. Профильное (техническое, математическое) образование будет плюсом, так как указывает на наличие фундаментальной теоретической подготовки кандидата, но вряд ли станет решающим фактором при приеме на работу. Мы понимаем, что знания в области математики, ООП, классических алгоритмов и структур данных могут быть получены самостоятельно. Предпочтение отдается кандидатам с опытом работы. Также для нас важно умение кандидата решать инженерные задачи и принимать инженерные решения, а не просто писать код.

4. Требования к опыту работы зависят от вакансии. Если мы приглашаем молодого специалиста, то в первую очередь будем смотреть на его «домашние проекты» и университетские наработки. Мы должны быть уверенны, что человек пришел к нам не случайно, это был осознанный выбор, который можно подтвердить реальными примерами хоть небольших, но выполненных проектов. Когда речь идет об опытном специалисте – требования более конкретные. Нам важен опыт в нескольких областях: базы данных, Linux, веб-сервера (Apache, Nginx), знание и понимание систем кэширования (Memcached), систем обмена сообщениями (RabbitMQ), а также опыт работы с фреймворками (Django, Twisted). Опыт оптимизации высоконагруженных проектов будет очень полезен и позволит быстро влиться в процесс разработки и трудиться с максимальной эффективностью для себя и команды. Для ведущих специалистов и экспертов, помимо перечисленного, важными являются широкий технический кругозор и опыт работы с разнообразным технологическим стеком.

5. Поддержка веб-инфраструктуры для огромного количества игроков вселенной Wargaming.net подразумевает умение работать с высокими нагрузками и закладывать в архитектуру приложений возможность оперировать большим количеством запросов.

Помимо готовности к Highload, важно помнить о безопасности. Поэтому веб-разработчик в Wargaming обязан знать о механизмах противодействия основным угрозам и обеспечить надежность своего кода.

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


Исследовательский центр портала Superjob.ru специально для «Системного администратора» изучил предложения работодателей. По позиции бэкенд-веб-разработчика специальные требования пока не определены, в основном они аналогичны тем, что предъявляются к программистам.

Программист Java

  ИТ
Телекоммуникации
Промышленность
Производство
Строительство
Управление недвижимостью
Услуги В2В Продажи В2В Продажи В2C
I 65 000 – 80 000 54 000 – 71 000 50 000 – 67 000 60 000 – 75 000 50 000 – 65 000 50 000 – 64 000
50 000 – 64 000 42 000 – 57 000 40 000 – 53 000 45 000 – 60 000 40 000 – 52 000 40 000 – 51 000
II 80 000 – 90 000 71 000 – 87 000 67 000 – 85 000 75 000 – 90 000 65 000 – 83 000 64 000 – 87 000
64 000 – 72 000 57 000 – 70 000 53 000 – 68 000 60 000 – 70 000 52 000 – 66 000 51 000 – 70 000
III 90 000 – 150 000 87 000 – 125 000 85 000 – 115 000 90 000 – 130 000 83 000 – 120 000 87 000 – 125 000
72 000 – 120 000 70 000 – 100 000 68 000 – 92 000 70 000 – 100 000 66 000 – 96 000 70 000 – 100 000
IV 150 000 – 200 000 125 000 – 150 000 115 000 – 150 000 130 000 – 180 000 120 000 – 170 000 125 000 – 160 000
120 000 – 160 000 100 000 – 120 000 92 000 – 120 000 100 000 – 145 000 96 000 – 140 000 100 000 – 130 000
Ср 125 000 110 000 100 000 115 000 115 000 110 000
100 000 88 000 80 000 92 000 90 000 90 000

Нечетные строки зарплаты - средние по Мск, четные - по СПб

Зарплатный диапазон Требования и пожелания к профессиональным навыкам
Диапазон I
  • Неполное высшее образование (техническое / IT)
  • Отличное знание HTML, CSS, Java, XML
  • Знание принципов объектно-ориентированного программирования
  • Знание теоретических основ разработки баз данных
  • Знание английского языка на уровне чтения технической документации
  • Опыт программирования на Java от полугода
Диапазон II
  • Опыт работы с web-серверами и серверами приложений
  • Опыт программирования на Java от 1 года
Диапазон III
  • Высшее образование (техническое / IT)
  • Знание шаблонов проектирования Java и J2EE
  • Опыт использования специальных инструментальных средств (Hibernate, Spring, Struts и т.д.)
  • Опыт работы в команде разработчиков
  • Опыт работы с системами контроля версий
  • Опыт работы с СУБД (MS SQL Server или Oracle)
  • Опыт программирования на Java от 2 лет
Диапазон IV
  • Наличие квалификационных аттестатов
  • Опыт проектирования информационных систем и подготовки проектной документации
  • Опыт работы с интеграционными решениями (IBM WebSphere, Oracle Fusion Middleware)
  • Опыт разработки многоуровневых приложений
  • Опыт программирования на Java от 3 лет
Возможные пожелания:
  • знание английского языка на разговорном или свободном уровне
  • навыки руководства группой разработчиков

Подготовила Валерия Чернецова, руководитель отдела аналитики SuperJob


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

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

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

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

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