Прежде, чем Вы решите стать ИТ-рекрутером, Вам нужно разобраться с перечнем должностей, которые представлены на рынке труда в сфере информационных технологий. Начнем с основ: существует два направления фронтенд- и бэкенд-разработка, которые, как инь и янь, не могут существовать друг без друга, но при этом очень отличаются.
Фронтенд-разработка
Занимается версткой и программированием страниц сайтов. Всё, что вы видите и с чем взаимодействуете на сайте: дизайн, кнопки, листалки, схемы — относится к этому направлению разработки.
Задачи фронтенд-разработчика — сверстать и «оживить» сайт, обеспечить корректность его работы на всех устройствах (компьютер, мобильное устройство, планшет). Для этого специалисту необходимо знание языков разметки HTML и CSS и языка программирования JavaScript, а также педантичность и внимательность.
Javascript разработчик – это специалист в области программирования, создающий с помощью мультипарадигменного языка динамичные приложения. JavaScript уже не первый год занимает первые места во многих международных рейтингах популярности. И это тоже неспроста, ведь функционал JavaScript продолжает стремительно расширятся. А среди его основных преимуществ можно отметить такие как:
- поддержка всех современных веб-браузеров;
- почти ничем не ограниченная сфера применения;
- широкий ассортимент полезных инструментов;
- простота освоения.
Если разработчик в совершенстве освоил JavaScript и владеет HTML и CSS, то ему открыты самые разные дороги:
- frontend-разработка сайтов и приложений;
- работа с серверными приложениями;
- автоматизация офисного софта, реализация всевозможных виджетов и разработка самостоятельных движков;
- написание кода для тех фирм, которые создают программное обеспечение;
- работа с уже написанным кодом;
- контроль работоспособности имеющегося продукта;
- удаление ошибок.
Часто для перехода в ИТ-сферу выбирают именно фронтенд-разработку. Она не требует углубленного знания математики и подходит людям и с гуманитарным складом ума.
Бэкенд-разработка
Отвечает за внутреннюю функциональность сайта. Бэкенд-разработчик работает с сервером — невидимой частью сайта, где хранится вся информация. Он создает базы данных и управляет ими, проводит интеграции с внешними сервисами и занимается всем, что находится «под капотом» сайта.
Работу бэкенд-разработчика обычный пользователь увидеть не может, но именно благодаря ей сайт функционирует.
Бэкенд есть у сайтов, мобильных приложений, игр. Все платежные системы, системы оповещения, отправки писем и многое другое — все делается на бэкенде.
Для бэкенда существует несколько языков программирования: PHP, Python, Ruby и другие.
PHP — один из самых популярных и стабильных языков бэкенд-разработки,на нем написано 79% сайтов. PHP находится в топе языков программирования более 20 лет.
Java Developer – это специалист, основной задачей которого является создание сложных корпоративных систем для обработки данных.
Java — это язык программирования, он же платформа для создания диджитал проектов. Продукт универсален, подходит практически для любого носителя, потому может использоваться для разработки самых разных проектов: от мобильных приложений до целых серверов.
Java-разработчики — люди, которые освоили этот язык и одноимённую платформу, а теперь создают на ней программы. Или не создают, а редактируют чужие, или модернизируют устаревшие проекты.
Этот специалист несёт ответственность и за другие этапы работы. После создания программы её нужно протестировать, выявить ошибки, исправить их, снова протестировать. При необходимости русифицировать, а затем внедрить.
Java — это язык, подходящий для создания сайтов и серверов, мобильных приложений, видеоигр для мобильных устройств и ПК, а также для дата-инженерии для обработки больших данных.
Список того, что делает Java-разработчик, зависит от компании-работодателя и уровня самого программиста.
Junior (младший) специалист должен:
- знать язык программирования Java;
- понимать принципы работы OOP;
- иметь опыт работы с фреймворками (программные платформы, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта, каркас. Наиболее популярные: Laravel, Flask, Express.js, Ruby on Rails, Spring, Django, Meteor, Koa, Nest.js)
- знать базовые алгоритмы и структуры.
Некоторые компании запрашивают базовые познания в других языках программирования или дополнительных программ — например, если ищут специалиста для создания Android-приложений.
Middle-специалист должен:
- легко работать с OOP и MVC;
- составлять SQL-запросы (иногда такое требование есть и в вакансиях категории Junior);
- писать понятный лаконичный код, иметь опыт применения DRY и KISS;
- уметь работать в режиме многозадачности.
Следующие навыки отличают Senior-специалиста:
- опыт в разработке под Hybris и умение взаимодействовать с разными моделями;
- умение анализировать инфраструктуру, находить и исправлять ошибки кода;
- навыки создания архитектуры программного обеспечения;
- навыки создания серверов и баз данных.
Плюс то, что перечислено выше. Для специалистов любого уровня преимуществом будет знание английского языка: иногда это требуют в российских компаниях, а уровень Upper-Intermediate позволит рассматривать вакансии за рубежом.
Рассмотрим и другие немаловажные должности:
Embedded-программист — это специалист, занимающийся разработкой, сопровождением, тестированием встроенного программного обеспечения.
QA-инженер — это специалист, который обеспечивает контроль качества разрабатываемого ПО на всех этапах его планирования, проектирования и создания. Работа на этой должности является проактивной и носит превентивный характер, поскольку QA инженер уделяет внимание качеству продукта еще до того, как тот будет создан.
Тестировщик программного обеспечения контролирует соответствие готового решения предварительному плану, проверяет качество продукта после реализации проекта.
Разработчик баз данных – это специалист, который занимается их созданием, отладкой, модернизацией и обслуживанием. Это человек, который структурирует данные и находит взаимосвязи между ними.
Системный аналитик автоматизирует процессы, связанные с разработкой программного обеспечения с момента технической постановки задачи до устранения ошибок, выявленных в процессе тестирования на этапе разработки.
Гейм-девелопер, или gamedev — гуру игрового мира. В его компетенцию входит разработка и создание игровой вселенной: написание кода, разработка визуальной составляющей, утверждение концепции, управление всем процессом создания игры и проч. Программист разрабатывает программное обеспечение для операционных систем, которое отвечает определённым требованиям и задачам, установленным заказчиком. В зависимости от узкой специализации, используемых алгоритмов в работе и языка программирования выделяют программистов Ruby, Java, C#, 1C и т. д.
Мобильный разработчик
Android-разработчик ведает всей кухней приложений и ПО устройств на Android. Специалист осуществляет разработку, тестирование, внедрение, модернизацию, исправление ошибок, обновление продуктов.
iOS-разработчик — разрабатывает, тестирует, внедряет, корректирует и обновляет ПО и приложения для гаджетов на платформе iOS.
На предприятиях существует перечень ИТ-должностей, которые отвечают за создание системы управления и техническое обеспечение работы компьютерной сети.
ERP-программист создаёт систему управления ресурсами компании, занимается её внедрением, модернизацией в соответствии с особенностями конкретного предприятия или бизнеса, следит за корректным функционированием. С помощью ERP-систем весь процесс взаимодействия между отделами и сотрудниками компании автоматизируется и объединяется в рамках единого решения. Зачастую ERP-программист выступает и в качестве ERP-консультанта, но изначально это разные специалисты.
Корпоративный архитектор разрабатывает структуру корпоративного ПО с момента проектирования до контроля процесса установки и эксплуатации. Специалист отвечает за полное соответствие готового продукта и его функционирования изначальному проектному плану.
Архитектор баз данных отвечает за выбор, внедрение и доработку программного продукта в соответствии с поставленной задачей, следит за выполнением процессов, связанных с функционированием баз данных, осуществляет планирование и контроль деятельности команды, работающей с БД. В его же обязанности входит обеспечение безопасности баз данных
Администратор баз данных обслуживает эти самые базы и отвечает за их корректное наполнение и использование. Администратор сайта ведёт оперативный контроль за работой ресурса, отслеживая возможные ошибки, сбои в системе, а также попытки кибератак, отвечая за безопасность сайта и его пользователей.
Специалист по кибербезопасности несёт ответственность за своевременное проведение профилактических мер по защите системы в целом и её отдельных продуктов или эффективное оперативное устранение последствий взлома.
Системный администратор отвечает за бесперебойную работу всех компьютеров и сетей, функционирующих внутри компании, своевременное обновление систем и установленного ПО.
Системный инженер разрабатывает системные решения, отвечает за их успешное внедрение, развитие, функционирование, а также проводит подготовку персонала для корректной и эффективной работы с системой.
Системный программист прописывает системный софт и занимается разработкой системного ПО.
Инструменты и платформы
Часто в вакансиях одним из требований (или преимуществ) оказывается владение тем или иным инструментом. Чаще всего это:
- Git и GitHub — система контроля версий и сервис для хостинга;
- SQL — язык запросов баз данных;
- Spring Framework — один из самых масштабных и используемых фреймворков с инструментами для разработчиков;
- Docker и другие.
![](https://super-hr.ru/wp-content/uploads/2021/07/coder_190517-1-1024x576.jpg)