Содержание статьи
В мире насчитывается до 10 тысяч языков программирования и продолжают появляться новые. Есть базовые языки, такие как Java и PHP и узко применимые, такие как Ruby и Perl. К тому же некоторые компании экспериментируют и создают собственные языки.
ИТ-рекрутеру, особенно начинающему, разобраться в этих тонкостях сложно, да и не нужно. А вот понимать, какие виды программистов бывают и как их отличать, — навык полезный. Расскажем об этом в статье.
Backend-разработчик
Backend Developer — наиболее популярный тип разработчиков. Они создают серверно-административную часть продукта, то есть кодят для внутренней стороны сайта, которую не видит пользователь. Такой программист разрабатывает фундамент проекта и настраивает его работу.
За что отвечает: база данных, архитектура, логика продукта, системы обработки и хранения данных.
Языки и технологии: Python, С++, Java, PHP, Ruby, Go.
Хороший бэкенд-разработчик также должен разбираться в базе данных MySQl, PostgreSQL или NoSQL.

Frontend-разработчик
Входят в тройку самых востребованных программистов. Он отвечает за пользовательскую сторону приложения и работают на стороне клиента. Цель frontend-разработчика — сделать удобный и интуитивно понятный интерфейс для пользователя. Например, интерактивные переходы страниц, всплывающее меню, меняющие цвет кнопки — всем этим занимается frontend-developer. Также в его задачи входит правильное отображение сайта или приложения на компьютере и на разных электронных гаджетах. Ну а если в проекте отсутствует верстальщик, берет его задачи на себя — работает с HTML-кодом.
За что отвечает: пользовательский интерфейс, кросс-браузерные ошибки, верстка шаблона сайта, адаптивная и мобильная верстка.
Языки и технологии: JavaScript, CSS, интерфейсные среды (React, jQuery или Angular), HTML, препроцессоры SASS/LESS.
Дополнительные знания: серверные технологии, основы SEO-оптимизации, веб-шрифты, графические редакторы.
Full Stack-разработчик
Это универсальный программист полного цикла, который сочетает в себе знания frontend- и backend-разработчика. Фулстек-разработчик полностью разрабатывает web-проект или сайт: от программно-административной части до клиентского интерфейса. Такие разработчики нужны для создания полного проекта и востребованы на рынке.
За что отвечает: пользовательская и серверная часть сайта, кроссплатформенные приложения, интеграция сервисов на frontend- и backend-e.
Языки и технологии: JavaScript для браузерной части, PHP, Java или Python для серверной части, HTML, CSS, базы данных, фреймворки.

Мобильный разработчик
К ним относятся программисты, которые делают приложения для мобильных устройств ОС Android и iOS. Помимо телефонов, к таким устройствам относятся: GPS-навигаторы, умные часы, электронные книги.
Как правило, Android-программисты разбираются в обеих частях приложения, отвечая за полный цикл разработки, поэтому строгого деления на frontend- и backend у них нет.
За что отвечает: полный цикл разработки приложений для мобильных устройств.
Языки для Android-разработчика: Java, Kotlin, OpenGL, Android SDK.
Языки для iOS-разработчика: Objective-C, Swift, CoreData, CoreGraphics.
Разработчик видеоигр
Программисты, которые разрабатывают видеоигры, а именно:
- desktop-приложения (программы, которые работают под управлением ОС и не зависят от других приложений);
- мобильные игры;
- ролевые онлайн-игры MMORG.
Они работают над ПО, которое предназначено для ОС Windows, Apple OSX или Linux. Некоторые Game-разработчики создают бизнес-приложения для конкретной компании.
За что отвечает: игровая разработка, веб-дизайн, обновления.
Языки и технологии: C/С++, С#, Java, Open GL/DirectX, игровые движки (Unity, Unreal Engine, Torque), графические библиотеки.
Программист 1C
Работает с программным продуктом 1С: создает конфигурации, дорабатывает программу, настраивает программное решение под компанию.
За что отвечает: автоматизация документооборота.
Языки и технологии: типовые и нестандартные конфигурации 1С, конфигурации программы в компании («Предприятие», «Управление торговлей», «Бухгалтерия», «Зарплаты и кадры» и другие.), SQL, язык запросов 1С.
Инженер-программист
Разрабатывает программы для разных устройств на предприятиях и заводах: станки ЧПУ, конвейеры, хлебопечки и другие. Основное отличие от остальных разработчиков — техническая экспертность с опытом более 10 лет. Инженер-программист обладает глубокими знаниями дискретной математики и физики, понимает промышленные и технологические процессы.
За что отвечает: автоматизация производства и программирование внутренних устройств.
Языки и технологии: C, C++, C#, Delphi, Assembler, технические знания.

DevOps-инженер
Одна из самых сложных позиций в ИТ-рекрутменте, потому что не всегда понятно, чем занимается такой специалист. DevOps — это методика повышения качества программного обеспечения, а DevOps-инженер использует ее для синхронизации всех этапов создания ИТ-продукта и совмещает в себе разработчика, тестировщика, менеджера и сисадмина. Он контролирует и автоматизирует работу разработчиков и других ИТ-специалистов, которые связаны с продуктом.
За что отвечает: кодирование, тестирование, запуск приложения, автоматизация, внедрение программных инструментов.
Языки и технологии: PHP, Perl, Ruby, Python, С++, Cloud Automation (Azure, GCP, Alibaba), Jira, системы мониторинга сетевых устройств, ОС Windows/Linux, ПО для автоматизации (Docker, Jenkins, Puppet).
Embedded-разработчик
Относительно новая и узкая специализация разработчиков, которые работают со встроенными устройствами, то есть с девайсами и гаджетами, в которых есть аппаратная платформа. Например, микроконтроллеры, встроенные программы и устройства. Embedded-developer умеет создавать ПО, а также должен разбираться в физических процессах электрических компонентов.
За что отвечает: разработка ПО, тестирование и отладка, оптимизация оборудования, разработка решений для диагностики сбоев устройств.
Языки и технологии: C/C ++, Assembler, компьютерные алгоритмы, инженерные и математические знания.
Мы рассказали об основных видах разработчиков, которые встречаются в ИТ-вакансиях. Наши рекрутеры знают, как подбирать таких разработчиков и помогут найти классного специалиста. Оставляйте заявку на нашем сайте.