9 профессий для перехода в IT: с навыками кодинга и без
Осваивать новую профессию в любом возрасте, с опытом и без — увлекательный путь. Трудности будут в любом случае. Важно:
- не выбирать место только по уровню зарплаты,
- тестировать совместимость позиции и ваших внутренних качеств,
- сопоставлять собственные цели и возможности с планами развития компании.
Тогда профессиональный мэтч случится.
Базовый уровень сложности входа. Кодинг необязателен
1. Ручной тестировщик (Manual QA)
Задачи: тестирование программного обеспечения, поиск и документирование багов, разработка тестовых сценариев.
Хард-скиллы: знание методов и типов тестирования (функциональное, регрессионное, интеграционное), умение создавать тест-кейсы и тест-планы, работать с баг-трекинговыми системами, требованиями и спецификациями, понимание работы с базами данных (SQL) и основ сетевых протоколов и взаимодействий.
Пример задачи: провести регрессионное тестирование нового релиза продукта, задокументировать найденные баги и пробелы.
Рассмотрим сценарий перехода на примере Ольги, которая работала офис-менеджером.
Она заинтересовалась профессией тестировщика, для которой не требовалось глубокого знания программирования. Начала с бесплатных онлайн-курсов, присоединилась к сообществам, чтобы получать советы. Через несколько месяцев обучения подала резюме на позицию младшего тестировщика и успешно прошла собеседование. На новой работе она составляла тест-кейсы, проводила ручное тестирование и документировала баги. Через пару лет освоила автоматизированное тестирование и стала старшим специалистом. Сейчас менторит новых сотрудников, помогая им освоить профессию.
Считается, что тестировщик — одна из наиболее простых профессий для входа в IT. Но в последнее время наблюдается тенденция к увеличению требований и в сложности трудоустройства специалистов уровня junior. Дело и в низком уровне подготовки на некоторых онлайн-курсах (или прохождение «для галочки»), и в нехватке мягких навыков, и в мотивации.
Неправильно выбирать эту профессию только потому, что «в IT больше платят». И для удачного старта недостаточно освоить базовые хард-скиллы, в большей степени это зависит от особенностей личности и нравится ли это дело вообще. Для тестировщика важны усидчивость, высокий уровень внутренней ответственности, способность к обучению, внимание к деталям и здоровая доля перфекционизма. В этом случае найти работу и закрепиться в IT более чем реально.
2. Бизнес-аналитик
Задачи: анализ бизнес-процессов, сбор требований от клиентов, создание документации, разработка решений для оптимизации процессов.
Хард-скиллы: владение разными методами анализа (например, SWOT, PESTEL), умение создавать и оптимизировать бизнес-процессы и требования, работать с программами для бизнес-моделирования, инструментами для управления проектами (JIRA, Confluence) и с большими объемами данных и инструментами для их анализа (Excel, SQL, Power BI), знание методологий управления проектами (Agile, Waterfall), навыки проведения презентаций.
Пример задачи: собрать и проанализировать требования для нового программного обеспечения, провести встречи с заинтересованными сторонами.
На эту позицию проще переходить, если у специалиста есть опыт в менеджменте. А если он уже работал в IT-сфере и знаком с особенностями процессов, это станет плюсом на интервью.
Профессиональные знания можно подтянуть на курсах, но часто бывает достаточно открытых источников — специальной литературы, которой сейчас довольно много, лекций или интервью с практиками на YouTube.
С точки зрения мягких навыков эта работа подойдет тем, кто получает удовольствие от большого количества коммуникаций, умеет слушать, налаживать отношения и управлять конфликтными ситуациями.
3. Продакт-менеджер
Задачи: определение стратегии и «дорожной карты» продукта, координация работы команд, анализ рынка и конкурентов.
Хард-скиллы: знание жизненного цикла продукта, понимание процесса разработки и запуска продукта на рынок, умение создавать «дорожную карту», проводить рыночные исследования и конкурентный анализ, работать с данными и метриками (KPI, MAU, CAC, LTV, NPS и др.), приоритизировать функциональность, создавать user stories, управлять бэклогом продукта; владение методологиями управления проектами (Agile, Scrum, Kanban); управление бюджетом и оценка финансовых показателей продукта; знание основ UX/U-дизайна.
Пример задачи: разработать стратегию запуска нового продукта, провести исследования рынка, чтобы выявить потребности клиентов.
В последние несколько лет популярность этой профессии значительно выросла. Такие вакансии появляются как в продуктовых компаниях, так и в агентствах. Кроме того, активно развиваются профессиональные сообщества (например, ProductCamp Russia), которые могут стать отправной точкой для входа в профессию: можно встретиться с практиками на мероприятии или написать в чат, чтобы глубже понять саму профессию и получить советы, как в ней прокачаться.
Хорошими продакт-менеджерами могут стать бизнес-аналитики, менеджеры проектов, маркетологи, а еще программисты (помогут знания процессов «под капотом»).
«Продакту» важно иметь стратегическое мышление, уметь видеть картину в целом и планировать долгосрочные цели. Он должен разбираться в общих чертах в разработке, маркетинге, продажах, поддержке. Несмотря на то что навыки кодинга обычно не требуются, базовые знания программирования и технологий очень помогают в общении с техническими специалистами.
Средний уровень сложности входа. Базовые знания программирования
1. Системный аналитик
Задачи: сбор требований, анализ бизнес-процессов, моделирование систем, создание технических заданий и инструкций.
Хард-скиллы: навыки создания и чтения диаграмм BPMN и UML; знание методов и техник для определения и приоритизации требований, основ программирования и SQL; понимание архитектуры ПО; навыки работы с базами данных; умение создавать подробные и понятные технические задания и спецификации; знание методов и инструментов тестирования, принципов и методов интеграции разнообразных систем и приложений; понимание API и взаимодействий между разными сервисами.
Пример задачи: разработать новый модуль для управления заказами в е-commerce-системе.
Эта профессия подходит не только для перехода, но и для старта после вуза выпускников с дипломами в области информационных технологий (либо можно самостоятельно изучить основы программирования). Часто в IT-компаниях есть внутренние возможности для обучения или оплачиваемые стажировки: так можно «потрогать» профессию, получить недостающие знания и навыки, а может, и офер.
Системный аналитик приземляет запрос о разработке и решает, как подойти к программированию. Свои наработки он обсуждает с руководителем группы программирования, и вместе они решают, как будут распределены задачи: кто и как пишет код, как тестируется продукт и т.п. Поэтому здесь важны тщательность и аккуратность работы с данными, способность анализировать информацию, находить и внедрять оптимальные решения для сложных задач, управлять временем и приоритетами.
2. Сотрудник технической поддержки (Tech Support)
Задачи: помощь пользователям с техническими проблемами, настройка и обслуживание систем, консультирование по вопросам использования ПО.
Хард-скиллы: понимание основ сетевых протоколов (TCP/IP, DNS, DHCP); навыки настройки и диагностики сетевых подключений; опыт установки, настройки и поддержки различного программного обеспечения; настройка прав доступа и разрешений; базовые знания скриптовых языков (PowerShell, Bash) для автоматизации задач; опыт работы с виртуальными машинами и облачными сервисами (VMware, Hyper-V, AWS, Azure); знание методов защиты данных и систем от угроз.
Пример задачи: решить проблемы с подключением пользователей к корпоративной сети, провести диагностику и устранить неполадки.
Как выглядит рабочий день специалиста технической поддержки? Утром — проверка системы управления инцидентами, сортировка заявок по приоритету. Днем он решает проблемы пользователей — настраивает программы, устраняет сетевые неполадки, устанавливает обновления. Вечером составляет документацию по решенным проблемам или обучает новых сотрудников.
Для специалистов этого профиля важны организованность и способность сохранять спокойствие во время работе с клиентами, особенно когда те расстроены.
3. Frontend-разработчик
Задачи: разработка интерфейсов, оптимизация производительности, создание адаптивного дизайна, интеграция с бэкендом.
Хард-скиллы: владение HTML5, CSS3, JavaScript, фреймворками и библиотеками (React, Angular, Vue.js, Redux, MobX), инструментами сборки и автоматизации (Webpack, Gulp, npm, CI/CD); понимание основ работы HTTP/HTTPS, CORS, CSRF, XSS.
Пример задачи: реализовать новую функциональность для страницы профиля пользователя.
Фронтенд-разработчики создают все, что вы видите и с чем взаимодействуете на сайтах и в приложениях. Они превращают дизайн и идеи в работающие интерфейсы. Например, делают кнопки, меню, формы и анимации, чтобы все выглядело красиво и работало плавно.
Этот вариант подойдет тем, кто хочет работать программистом, но обеспечить себе относительно простой вход. Здесь меньше сложных концепций, чем в бэкенд-разработке, и много возможностей для самостоятельного обучения. Однако фронтендерам понадобится большая доля креативности и постоянное развитие насмотренности, чтобы создавать действительно функциональные и удобные для пользователей интерфейсы.
Высокий уровень сложности входа. Глубокие знания программирования
1. Мобильный разработчик
Задачи: разработка мобильных приложений, оптимизация производительности, внедрение новых функций.
Хард-скиллы зависят от среды разработки — iOS, Android или кросс-платформа. Что, например, потребуется уметь разработчику на кросс-платформенных технологиях: работать с платформой и знать язык программирования — React Native (языки JavaScript / TypeScript), Flutter (язык Dart), Xamarin (язык C#), принципы проектирования мобильных интерфейсов, адаптировать дизайн под различные экраны и устройства; а также иметь опыт работы с RESTful API и WebSocket, сетями и сервером.
Пример задачи: разработать новый функционал для iOS-приложения, оптимизировать производительность для Android-устройств.
Вход «с нуля» здесь тоже возможен, но займет много времени и потребует серьезного обучения. В интернете можно найти открытые курсы и обучающие видео для разного уровня. Поэтому в онлайн-школах обычно нет необходимости, если человек может сам себя организовать и мотивировать. Возможен и переход из других направлений разработки, особенно если в нем специалист овладел нужным языком программирования.
2. Дата-сайентист
Задачи: анализ больших данных, создание моделей машинного обучения, прогнозирование и визуализация данных.
Хард-скиллы: знание Python и R, SQL, алгоритмов машинного обучения (регрессия, классификация, кластеризация), понимание основных статистических методов и тестов, владение технологиями для работы с большими данными (Hadoop, Spark), навыки разработки прогнозных моделей и сценариев, опыт использования BI-инструментов.
Пример задачи: разработать модель машинного обучения для предсказания оттока клиентов, проанализировать и визуализировать данные продаж.
Дата-сайентист работает с данными, чтобы помочь компаниям принимать эффективные решения.
Представьте, что у магазина много информации о покупках клиентов. Дата-сайентист собирает ее и анализирует, чтобы узнать, какие товары покупают чаще всего; строит модель, чтобы предсказать, какие товары будут популярны в следующем месяце. Потом создает отчет с графиками, чтобы менеджеры могли увидеть результаты и принять решения о заказе товаров.
Эта профессия требует знаний в математике, статистике, программировании и предметной области.
3. Backend-разработчик
Задачи: разработка серверной логики, интеграция с базами данных, обеспечение безопасности и масштабируемости системы.
Хард-скиллы: знание одного или нескольких языков — JavaScript (Node.js), Python, Java, C#, Ruby, PHP; опыт работы с базами данных (PostgreSQL, MySQL, MongoDB, Redis) и создания RESTful, GraphQL API; понимание HTTP/HTTPS, WebSockets, основ безопасности веб-приложений, принципов MVC и микросервисной архитектуры.
Пример задачи: создать REST API для нового веб-приложения, оптимизировать запросы к базе данных.
Backend-разработчик обеспечивает функциональность и производительность веб-приложений, работая над серверной частью, которая поддерживает клиентскую сторону. Вариант карьерного пути:
- изучить Python и создать простое веб-приложение с использованием Flask;
- создать API для блога, подключиться к PostgreSQL базе данных;
- устроиться на стажировку в стартап или в IT-компанию, работать над реальными проектами.
Дальнейшее развитие — изучение Docker, настройка CI/CD, участие в более сложных проектах.
Софт-скиллы для разработчиков на этом уровне перекликаются. Им необходимы организованность и умение управлять своим временем, логическое мышление и способность предложить решение для нестандартной задачи. А любовь к технологиям и чистому коду — маст-хэв для долгой и счастливой профессиональной жизни.
Если хочется попасть сразу на сложный уровень разработки без опыта, есть несколько лайфхаков. Студенты могут участвовать в хакатонах или соревнованиях по программированию, чтобы апгрейдить навыки. Многие компании проводят собственные офлайн- или онлайн-курсы для разработчиков, а после делают оферы лучшим. Для успешного прохождения интервью можно создать свой пэт-проект: он подтвердит компетенции и вашу способность работать в реальных условиях.