Количество IT-специалистов уровня Junior на рынке растет, поэтому многие работодатели стали предъявлять к ним более жесткие требования. Разбираемся, что нужно знать и уметь начинающему специалисту, чтобы найти работу, и анализируем актуальные предложения.
Основные требования
Запросы к джунам могут различаться в зависимости от работодателя. Обычно новичкам в IT нужно:
- знать о преимуществах и сферах использования выбранного языка или технологии;
- уметь работать с Git;
- знать основные библиотеки, фреймворки и алгоритмы в своей сфере;
- знать, как работать хотя бы с одной IDE;
- уметь читать на английском обучающую документацию.
Также желательно иметь минимальный опыт коммерческой разработки. Образование и возраст играют меньшую роль.
Опыт работы
В идеальном мире на позицию джуна могут претендовать соискатели без опыта работы, а в реальности все не так просто. В январе 2023 года на hh.ru можно найти примерно 1 800 вакансий для джунов. Нанимать айтишников без опыта работы готовы 500 работодателей. Для специалистов, отработавших от 1 до 3 лет, предложений больше 1000.
Несмотря на то, что в компаниях стали меньше ждать неопытных разработчиков, аналитиков и других айтишников, на hh.ru есть более 1 500 предложений стажировок. Некоторые из них оплачиваются.
В статье «Как айтишнику-новичку начать зарабатывать удаленно?» эксперты подробно разобрали, как быстрее получить первый опыт коммерческой разработки, выделиться среди конкурентов и дали пошаговые инструкции.
Образование
HR-менеджеры не часто указывают в вакансиях требование к образованию. Но, когда они рассматривают резюме, то обращают внимание на этот пункт. Из 1 700 работодателей около 700 отметили высшее техническое образование. Большинство из них готовы нанимать студентов старших курсов.
Айтишники, которые прошли только онлайн-курсы, тоже могут найти работу. Например, компания DIGINETICA, которая принадлежит Тинькофф, готова рассмотреть на должность аналитика выпускников с базовыми знаниями Python, SQL или Scala, а компания Devim ищет разработчика баз данных.
Возраст
Возраст играет важную роль в сфере IT. Данил Ильин, директор и основатель IT-кадрового агентства HEAAD, считает, что в первую очередь это связано с политикой компании: чаще всего молодых специалистов нанимают в стартапы. Артем Романчук, технический директор Workle Pro, уверен, что в IT нужна не только молодежь. Многие компании стали охотнее нанимать специалистов старшего возраста — они реже принимают импульсивные решения.
Во всех предложениях для новичков, которые мы рассмотрели на момент написания статьи, возрастных ограничений не было. Некоторые компании указывают, сколько в среднем лет сотрудникам. Так соискатели могут понять, комфортно им будет работать в команде или нет.
Софт-скиллы
Это личные навыки, которые не относятся к конкретной должности, но повышают профессиональный уровень. Из двух соискателей с одинаковыми скиллами и опытом выберут того, кто также умеет хорошо общаться с коллегами.
Работодатели редко указывают софт-скиллы. Но, независимо от профессии, иногда можно встретить следующие:
- структурное и логическое мышление;
- ответственность за результат;
- аккуратность и самостоятельность при выполнении работ;
- стремление к профессиональному росту;
- желание и способность обучаться;
- коммуникабельность, умение формулировать мысли;
- умение и желание работать в команде;
- высокий уровень самодисциплины;
- внимательность;
- готовность работать с рутинными задачами.
От проджект -менеджеров работодатели также ждут стрессоустойчивость, от системного администратора — вежливость, а от fullstack-разработчика — cветлую голову, прямые руки и горящие глаза 🙂
Хард-скиллы
Это профессиональные навыки, необходимые для конкретной профессии. Именно на них смотрят работодатели в первую очередь.
Frontend-разработчик
Frontend-разработчик — специалист, который отвечает за создание пользовательского интерфейса сайта, приложения или ПО. Он создает то, что пользователь видит в браузере и с чем взаимодействует, когда вводит данные и получает обратную связь.
Чтобы устроиться на работу, junior frontend-разработчик должен знать:
- HTML — гипертекстовый язык разметки, чтобы писать текст, добавлять на сайт ссылки и изображения;
- CSS — каскадный стиль разметки, чтобы менять размер, цвет, фон, расположение элементов сайта. Также не помешает знать CSS-фреймворки, например Bootstrap;
- JavaScript — основной язык frontend-разработчика. Иногда бывает нужен TypeScript — язык программирования, который расширяет возможности JavaScript;
- как работать с консолью и пакетным менеджером NPM, чтобы удобно и быстро загружать JavaScript-библиотеки и приложения;
- как пользоваться системой для отслеживания изменений в файлах проекта, например Git;
- один из современных фреймворков для JavaScript — Angular, React или Vue.js — в зависимости от вакансии, а также библиотеку Redux;
- как работать с графическими редакторами, например Sketch, Figma, Photoshop. Достаточно уметь читать и экспортировать макеты;
- английский язык для чтения технической документации.
Backend-разработчик
Backend-разработчики отвечают за внутренние процессы сайтов и приложений, подбирают системы для хранения и управления информацией, выстраивают обмен данными, обеспечивают максимум производительности при минимальном количестве сбоев. Работодатели ждут, что backend-разработчик будет:
- понимать базовые алгоритмы программирования и структур данных;
- знать устройство серверов и интернет-ресурсов, API и принципов RESTful-сервисов;
- владеть одним из языков программирования, например PHP, Python, Go, C#, Java, JavaScript;
- знать фреймворки для выбранного языка. Например, Laravel или Yii2 для PHP, Django или Flask для Python, Spring для Java;
- уметь работать с базами данных, в первую очередь с реляционными (SQL): например, с Postgres, MySQL, SQL Server, Oracle. Также иногда нужно знать нереляционные (NoSQL) базы данных: Cassandra, MongoDB, CouchDB, Neo4j, RavenDB;
- знать Linux на уровне администрирования;
- понимать на базовом уровне контейнеризацию и виртуализацию;
- владеть английским языком для чтения технической документации;
- уметь пользоваться системой контроля версий, например Git.
Fullstack-разработчик
Fullstack-разработчик — специалист, который умеет работать и с серверной (backend), и с frontend (браузерной) частью веб-приложения или сайта. Поэтому к такому программисту работодатели предъявляют много требований. Он должен:
- знать один или несколько языков программирования, например РНР или Python для backend-разработки и JavaScript для frontend;
- уметь применять основные фреймворки. Для frontend-разработки — JavaScript с фреймворками Angular, React или Vue.js. Для backend-разработки — Python с Django, Flask или Sanic, JavaScript с Express или Fastify, PHP с Laravel и пр. Стек зависит от конкретной вакансии;
- иметь базовые навыки HTML/CSS верстки;
- знать язык SQL и уметь работать сначала с MySQL, а впоследствии с PostgreSQL;
- понимать принципы ООП;
- знать основы системного администрирования, уметь работать с Linux;
- понимать принципы REST API, протокола HTTP, WebSocket;
- владеть английским языком для изучения документации;
- уметь пользоваться системой контроля версий, например Git.
Тестировщик
Тестировщик ПО прорабатывает разные сценарии, в которых может оказаться продукт, ищет баги. Он может делать это вручную или автоматически. Во втором случае тестировщик пишет скрипт, который имитирует действия пользователей. Ручное тестирование — наиболее простой способ входа в IT. Частые требования к специалисту:
- знать основы тестирования, уметь выбирать правильный метод;
- уметь составлять тест-кейсы, чек-листы и баг-репорты;
- знать, как работать с багтрекинговыми системами и инструментами, например Postman, Jira, Allure, TestRail;
- уметь использовать встроенные инструменты тестировщика, например Chrome DevTools в Google Chrome;
- уметь пользоваться системой управления версиями Git и сервисом GitHub для совместной работы над кодом.
От тестировщика-автоматизатора работодатели ждут тех же навыков, что и от специалиста по ручному тестированию. Еще ему нужно знать:
- Java или Python для написания скриптов;
- фреймворк PyTest для автотестирования на Python или JUnit — на Java;
- инструменты Selenium для тестирования веб-приложений;
- язык SQL для работы с базами данных, например Oracle, PostgreSQL.
Аналитик данных
Аналитик данных — специалист, который собирает, обрабатывает, изучает и интерпретирует большие данные. На основании его выводов в компаниях принимают важные решения. Работодатели ждут, что начинающий аналитик будет:
- работать с данными с помощью простых инструментов вроде Google Sheets, Excel;
- использовать Python (наиболее популярный) или R;
- знать, как писать запросы к базам данных SQL, и уметь работать с реляционными СУБД;
- создавать отчеты в BI-системах: Power BI, Tableau, Google Data Studio и др.;
- владеть базовыми методами статистического анализа.
Data Scientist
Data Scientist использует методы науки о данных (Data Science) для обработки больших объемов информации. Он строит и тестирует математические модели поведения данных, чтобы находить в них закономерности и прогнозировать будущие значения. Это одна из самых сложных, но интересных профессий в ИТ. Чтобы устроиться на работу, начинающий дата-сайентист должен:
- отлично знать теорию вероятности, высшую математику и математическую статистику;
- знать классические алгоритмы и структуры данных;
- знать язык SQL и уметь работать с базами данных;
- уметь программировать на Python и работать с фреймворками и библиотеками для машинного обучения, например NumPy и Scikit-learn;
- знать, как использовать методы статистического анализа данных;
- уметь красиво отображать результаты анализа данных, например с помощью библиотек Plotly, Seaborn или Matplotlib.
Разработчик игр
Специалисты создают механики, сложные интересные уровни и целые игровые миры из отдельных ассетов (моделей, анимаций, звуков, сценариев и т. д.).
Работодатели ждут, что кандидат будет:
- владеть языком C# либо C++, Java и Ajax;
- использовать для программирования обмена данных игр с сервером язык SQL и СУБД MySQL;
- хорошо представлять, как работают сети и компьютеры;
- иметь базовые знания математики;
- работать в одной из платформ для создания игр — Unity либо Unreal Engine;
- читать на английском языке документацию, профессиональную литературу и пр.;
- использовать систему контроля версий, например Git.
DevOps-инженер
DevOps-инженер синхронизирует этапы создания продукта: от написания кода до тестирования и релиза. Он понимает принципы разработки приложений и построения архитектуры, разбирается в инфраструктуре. Еще он — менеджер-практик, который знает жизненный цикл продукта и современные способы разработки.
Требования к DevOps инженеру различаются в разных компаниях, но база примерно такая:
- знать основы Linux-администрирования, Git;
- знать цикл разработки, внедрения и сопровождения ПО;
- иметь опыт написания простых SQL-запросов, знать основы работы с реляционными СУБД;
- уметь писать простые скрипты для автоматизации на Bash;
- понимать принципы работы IP сетей, базовых сетевых протоколов, стека протоколов TCP/IP;
- иметь опыт программирования на любом языке (Java, Python или C#);
- понимать принципы построения отказоустойчивых систем;
- уметь развертывать и администрировать кластеры (Docker, Kubernetes);
- иметь общее понимание принципов CI и CD;
- знать английский язык, чтобы читать документацию.
Главное
Кажется, что у работодателей очень много требований к айтишникам, и найти работу без опыта практически невозможно. Но истории наших студентов доказывают обратное. Например, Виктор Коваценко работал финансистом, а потом устроился дата-сайентистом и уехал в Берлин, Роман Брик был хирургом, на стройке, а в итоге стал DevOps-инженером, Алиса Радченко работала бухгалтером, а после обучения смогла найти работу аналитиком в МТС. Поэтому, несмотря на рост требований к IT-специалистам, важно быть готовым постоянно учиться и не бояться сложных задач.
Хотите узнать больше о том, как стать айтишником? Задавайте нам вопросы в комментариях.