Хтось хоче увійти в IT з нуля. Хтось має досвід і планує змінити кар’єрний трек. У будь-якому разі потрібні специфічні навички та знання. GSMinfo розібрав різні за рівнем складності сценарії.
Освоювати нову професію в будь-якому віці, з досвідом і без – захопливий шлях. Труднощі будуть у будь-якому разі. Важливо:
- не обирати місце тільки за рівнем зарплати,
- тестувати сумісність позиції та ваших внутрішніх якостей,
- зіставляти власні цілі та можливості з планами розвитку компанії.
Тоді професійний метч станеться.
Базовий рівень складності входу. Кодинг необов’язковий
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-дизайну.
Приклад: розробити стратегію запуску нового продукту, провести дослідження ринку, щоб виявити потреби клієнтів.
Останні кілька років популярність цієї професії значно зросла. Такі вакансії з’являються як у продуктових компаніях, так і в агентствах. Крім того, активно розвиваються професійні спільноти, які можуть стати відправною точкою для входу в професію: можна зустрітися з практиками на заході або написати в чат, щоб глибше зрозуміти саму професію та отримати поради, як у ній прокачатися.
Хорошими продакт-менеджерами можуть стати бізнес-аналітики, менеджери проектів, маркетологи, а також програмісти (допоможуть знання процесів «під капотом»).
«Продакту» важливо мати стратегічне мислення, вміти бачити картину загалом та планувати довгострокові цілі. Він повинен розбиратися загалом у розробці, маркетингу, продажах, підтримці. Незважаючи на те, що навички кодингу зазвичай не потрібні, базові знання програмування та технологій дуже допомагають у спілкуванні з технічними фахівцями.
Середній рівень складності входу. Базові знання програмування
1. Системний аналітик
Завдання: збирання вимог, аналіз бізнес-процесів, моделювання систем, створення технічних завдань та інструкцій.
Хард-скіли: навички створення та читання діаграм BPMN та UML; знання методів та технік для визначення та пріоритизації вимог, основ програмування та SQL; розуміння архітектури; навички роботи з базами даних; вміння створювати докладні та зрозумілі технічні завдання та специфікації; знання методів та інструментів тестування, принципів та методів інтеграції різноманітних систем та додатків; розуміння API та взаємодій між різними сервісами.
Приклад завдання: розробити новий модуль для керування замовленнями в e-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, участь у складніших проектах.
Софт-скіли для розробників на цьому рівні перегукуються. Їм необхідні організованість та вміння керувати своїм часом, логічне мислення та здатність запропонувати рішення для нестандартного завдання. А любов до технологій та чистого коду — маст-хев для довгого та щасливого професійного життя.
Якщо хочеться потрапити одразу на складний рівень розробки без досвіду, є кілька лайфхаків. Студенти можуть брати участь у хакатонах чи змаганнях із програмування, щоб апгрейдити навички. Багато компаній проводять власні офлайн-або онлайн-курси для розробників, а після роблять офери кращим. Для успішного проходження інтерв’ю можна створити свій пет-проект: він підтвердить компетенції та вашу здатність працювати в реальних умовах.