0
Обложка: Топ-9 самых сложных IT-профессий

Топ-9 самых сложных IT-профессий

Сложная IT-профессия — это высокий порог вхождения, большой спрос и часто многозадачность. Мы собрали девять таких профессий и вместе с экспертами разобрались, что стоит за их сложностью.

  1. Аналитик
  2. Data Scientist
  3. Пентестер
  4. DevOps-инженер
  5. Backend-разработчик
  6. Database разработчик
  7. QA-инженер
  8. Software Architect
  9. Интернет-маркетолог
  10. Выводы

Аналитик

Data аналитик в IT-компании занимается тем, что выстраивает причинно-следственные связи, находит оптимальные точки роста для бизнеса и слабые места. Далее эта информация поступает продактам, маркетологам и другим специалистам. Соответственно, аналитик Big Data работает с большими массивами данных.

Объективно, самые сложные профессии в IT связаны с работой с большими объемами данных — аналитики, Data Scientist. Они не только работают с большими массивами данных, но и пишут программный код для их обработки. Также они выполняют исследовательский анализ, используют различные виды алгоритмов машинного обучения для составления прогнозов, сосредоточены на выявлении неизвестных корреляций, скрытых моделей и рыночных тенденций.

Виталий Арбузов, основатель INPRO.digital

Главные направления дата-аналитики в IT:

  1. Маркетинг-аналитика
  2. Business intelligence (BI) аналитика
  3. Product-аналітика

Самая сложная профессия в IT, на мой взгляд, это аналитик. Потому что он должен очень хорошо понимать свою предметную область. Да, «предметки» бывают очень разные. Наверное, для разработки для B2C хватит и просто структурного мышления и скрупулёзности. А вот если мы говорим про сложные государственные системы, в которых всё обросло кучей «нормативки» и законодательных документов и все они взаимосвязаны, — это уже совсем другое дело.

Виктор Смирнов, директор по развитию бизнеса в области разработки ПО КРОК

Data Scientist

Специалист по данным — это симбиоз исследований и программирования. Большую часть своего времени он тратит на создание предиктивных моделей и статистические эксперименты.

Вход с нуля более или менее доступен для выпускников крайне непопулярной специальности «Прикладная математика», поскольку достаточное число экспериментов с цифрами проводят именно на этом направлении.

Второй блокирующий фактор — это упаковка математической модели при помощи современных аналитических инструментов (Power BI, QlikSense и др.) и программирования. Т. е. это минимум начальная экспертиза сразу по двум стекам, не говоря о владении микросервисной архитектурой — Kubernetes, Docker, Kubeflow.

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

Яков Кротов, руководитель группы менеджеров по предоставлению услуг ICL Services

Вакансий для Джуна в Data Science вы, скорее всего, не найдёте, либо их будет крайне мало. Всё дело в том, что в широком смысле Data Scientist с порога имеет опыт минимум в двух из трёх областей:

  • статистика;
  • программирование;
  • машинное обучение.

Пентестер

Самые дефицитные специалисты это пентестеры. Penetration test — это тест на проникновение, который ничем не отличается от вторжения злоумышленника. Специалист начинает разведку, затем взламывает один из элементов защиты, проникает и закрепляется в системе. Хакер ищет и использует уязвимости IT-инфраструктуры компании, чтобы скачать данные, получить доступ к финансам или документации. Пентестер делает то же самое, но только чтобы выявить слабые места системы раньше, чем злоумышленник захочет ими воспользоваться.

Александр Герасимов, директор по информационной безопасности и сооснователь Awillix

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

Знания, которыми должен обладать кандидат в пентестеры:

  1. Умение писать код на одном, а лучше на нескольких скриптовых языках программирования. Например, Python, PHP или JavaScript.
  2. Навык извлечения данных из веб-страниц, понимание того, как работают браузеры и осуществляется коммуникация с сервером.
  3. Знание особенностей языков программирования и типовых ошибок, которые могут допустить разработчики.
  4. Понимание бизнес-логики и логики работы системы, способность проводить анализ для выявления ошибок, которые потенциально может допустить разработчик.
  5. Основы администрирования операционных систем Linux и Windows для проведения аудита безопасности, фильтрации трафика и других способов защиты от атак на сетевые сервисы.
  6. Понимание основных сетевых протоколов (HTTP, TCP, DNS) / сетевых служб (Proxy, VPN, AD).
  7. Знание компьютерной безопасности с разных сторон, включая криминалистику, системный анализ и многое другое.
  8. Навыки использования софта для аудита и эксплуатации уязвимостей, например SqlMap, Nmap, Metasploit, Acunetix, Burp Suite и прочее.
  9. Знание особенностей работы баз данных и основных CMS, способов защиты их от атак.
  10. Коммуникативные навыки и понимание того, как хакеры используют человеческий фактор для получения несанкционированного доступа к защищенным системам.
  11. Умение автоматизировать свою работу.
    Александр Герасимов, директор по информационной безопасности и сооснователь Awillix

DevOps-инженер

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

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

Яков Кротов, руководитель группы менеджеров по предоставлению услуг ICL Services

В DevOps можно выделить несколько главных ролей:

  • Build Engineer — сборка кода: подтягивание зависимостей, разбор конфликтов в коде.
  • Release Engineer — качественная доставка кода от разработки на прод.
  • Automation Engineer — любая автоматизация задач: автоматическая сборка при пуше, прогон тестов, деплой на staging и прод.

Cложно сходу войти в узкие специализации: девопс-инженеры или дата-инженеры на определённом стеке, например Google Cloud. Нужно очень хорошо знать и уметь пользоваться большим количеством инструментов, то есть продолжительное время работать в похожей среде. Это сложно смоделировать в обучающих курсах, да и не всегда выгодно делать курсы под узкие направления.

Михаил Берёзин, продакт в IT-компании HFLabs

Backend-разработчик

Пока большинство соискателей идут в дизайн и фронт, «на заднем плане» веб-разработки остаются востребованными толковые бэкендеры.

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

Виталий Арбузов, основатель INPRO.digital

Если вам интересно данное направление, держите подробную дорожную карту по backend-разработке.

Database разработчик

Разработчик баз данных занимается проектированием, разработкой и поддержкой БД. За устранением ошибок и обновлением ядра СУБД тоже к нему.

Разработчик баз данных на высоконагруженных проектах (highload) ежедневно обрабатывает сотни таблиц с информацией. Этой профессии не учат в университетах. Как правило, такими разработчиками становятся с опытом, когда участвуют в разработке крупного проекта.

Виталий Арбузов, основатель INPRO.digital

В данной профессии выделяют два направления:

  1. Программист — разработка функциональности взаимодействия приложения с БД. В зависимости от языка, разнятся и стеки технологий. Допустим, для С# потребуется освоить Entity Framework/ADO.NET, LINQ to SQL и LINQ to Entities. Разумеется, важно знать язык запросов SQL.
  2. Администратор — проектирование, настройка, оптимизация, управление и другие обязанности по ведению баз данных. Здесь на первый план выходят знания реляционных БД, различных СУБД и SQL.

QA-инженер

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

Антон Герасимов, руководитель департамента разработки компании-разработчика ПО МойОфис

Краткий перечень того, что требуется от QA-инженера:

  • умение работать с кодом;
  • знание систем bug-трэкинга (bug tracking system);
  • знание протокола HTTP, ответов сервера, программного интерфейса DOM;
  • понимание Agile/SCRUM/Lean методов;
  • знание SQL и умение работать с базами данных;
  • умение вести тестовую документацию;
  • знание и понимание системы CI&CD;
  • умение работать с инструментами и методами обработки больших данных.

Инженер по качеству отвечает за качество готового IT-продукта. Его работа сводится к оптимизации разработки ПО, обнаружению ошибок в его функционировании и предотвращению дефектов. В профессии сочетается сразу 4 специальности — аналитик, проектировщик, исполнитель, менеджер.

Виталий Арбузов, основатель INPRO.digital

Software Architect

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

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

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

Виктор Попов, DevOps инженер, Группа НЛМК

Интернет-маркетолог

Если формулировать кратко, то это специалист по маркетингу, основная среда деятельности которого находится в сети. Его основная задача — продвижение диджитал-продукта.

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

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

Яков Кротов, руководитель группы менеджеров по предоставлению услуг ICL Services

Выводы

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