Технології та софт-скіли, володіння якими IT-компанії очікують від джунів. Великий гайд
Які hard і soft skills хочуть бачити роботодавці у кандидатів-джунів? Що обов’язково має бути в резюме фахівців початкового рівня? Та що говорити на співбесіді, якщо ви не знаєте відповідей на запитання?
Ми поговорили з найбільшими ІТ-компаніями в Україні, аби скласти ґрунтовний гайд для Junior-розробників, тестувальників та DevOps.
Вхідний поріг в ІТ зріс
Вимоги компаній до джуніорів за 2022 рік загалом не змінилися, як і раніше важливими є сильні hard і soft skills, що різняться залежно від спеціальності.
Втім конкуренція на ринку джунів значно зросла: кандидатів побільшало, тоді як кількість вакансій скоротилась. Деякі компанії зазначають, що на одне робоче місце наразі претендують на 40–50% більше кандидатів-джунів, ніж до війни, де-не-де ці цифри можуть бути вищими. При цьому “приплив свіжої крові” в ІТ все частіше відбувається коштом світчерів – людей, які змінили свою спеціальність.
Через високу конкуренцію вхідний поріг для початку роботи у більшості ІТ-компаній зріс — обирати намагаються “найкращих з найкращих”. Переважно це кандидати з комерційним досвідом щонайменше від шести місяців, частіше — від 1 до 1,5 року. Кандидатів без комерційного досвіду дедалі частіше взагалі не готові розглядати як джунів — лише як Trainee/Intern з відповідними фінансовими очікуваннями. Ось що показує свіжа аналітика Djinni:
Кандидатів без комерційного досвіду розглядають, втім — у меншості випадків. При цьому багато компаній зазначають: з одними лише ІТ-курсами за плечима та без досвіду шансів знайти хороше місце на проєкті як Junior Developer мало. Винятком є курси при конкретній IT-компанії.
Враховуючи кількість доступного матеріалу для самостійного навчання, мати додаткові сертифікації та підтвердження практичного досвіду (якщо некомерційного, то у вигляді портфоліо чи репозиторію з власними проєктами) – майже обов’язкова умова.
Ось, якими є вимоги роботодавців до фахівців тієї чи іншої спеціальності.
Hard skills
Junior Java Developer
До спільних вимог більшості компаній належать:
- знання Java 8;
- Spring Framework;
- базове знання Git;
- знання багатопотоковості;
- ознайомлення із сучасними хмарними сервісами;
- ознайомлення з різними типами баз даних.
Кілька компаній також згадують про:
- знання теорії ООП;
- базове розуміння Front-end розробки, зокрема Angular;
- базове знання тестування коду.
Більш детальні вимоги кожної з компаній наведені нижче.
- EPAM
- SoftServe
- Sigma Software
- Luxoft
- Intellias
- DataArt
EPAM
Junior Java Developer, окрім глибоких знань з Java, а саме об'єктноорієнтованого програмування (ООП), колекцій, обробки виняткових ситуацій, багатопотоковості, має вміти писати вебзастосунки як за сервлетною, так і спринговою технологіями із застосуванням різних реалізацій JPA для взаємодії з базами даних, а саме Hybernate, iBatis.
Junior Java Developer має вміти застосовувати принципи об'єктноорієнтованого програмування й патерни проєктування, оброблювати різні формати даних, а саме JSON й XML, покривати код модульними й інтеграційними тестами, використовувати Maven/Git, розуміти CI/CD. Цінується та заохочується ознайомленість із сучасними хмарними сервісами та Front-end розробкою, наприклад, JavaScript й Angular.
SoftServe
Junior Java Developer мусить розбиратися у серверних технологіях Java-стеку (Spring/Hibernate), а також мати хоча б базові знання з Front-end (Angular), вміти працювати зі Scrum та Git.
Sigma Software
Junior Java/Scala Engineer має знати мову програмування Java, Spring Framework та Database.
Luxoft
До Junior Java Developer немає вузьких вимог з доменної сфери, проте загальні вимоги такі: знання Java 8, Spring Framework та SQL, досвід комерційної роботи в індустрії розробки ПЗ від 1,5 року, досвід на вебпроєктах чи десктопі залежно від специфіки проєкту. Іноді вимагають знати багатопотоковість і якусь із сучасних “хмар” (AWS, Azure, рідше GCP).
Intellias
Junior Java Developer має знати синтаксис Java 8, орієнтуватись в об'єктноорієнтованому та функціональному програмуванні, розуміти List, Map, Set, Queue, Array тощо. Також знати синтаксис і запити на базовому рівні SQL, базово розуміти Git та тестування коду.
Варто володіти основами багатопотоковості в Java, мати базові знання зі Stream API, Java Networking.
Знання Linux: базові команди, shell scripting, розуміння дозволів. Базове орієнтування в тасктрекінг-системах та документ-системах (Jira, Confluence, Zephyr тощо).
DataArt
Для початку роботи на позиції Junior Java Developer кандидат повинен добре знати теорію ООП, основні патерни проєктування та вміти застосовувати ці знання на практиці. А ще добре орієнтуватися в можливостях Java Core (типи даних, Collections API, Streams API, Lambdas тощо), цікавитися оновленнями у версіях мови програмування, знати принцип роботи JMM (Java Memory Management).
Гарним плюсом буде розуміння роботи багатопотокових програм і те, як теоретично уникати проблем у них. Кандидат повинен уміти написати просту програму (наприклад, REST API для підтримки CRUD-операцій) із застосуванням сучасних фреймворків: Spring Framework, Hibernate, Maven/Gradle.
Щодо баз даних, то основними критеріями є початкові знання у нормалізації БД, індексації для прискорення пошуку, написанні нескладних запитів.
Junior-спеціаліст має знати, як писати читабельний код, а ще розуміти базові принципи програмування, поняття рефакторингу та чому потрібно писати чистий код. Мати уявлення про алгоритми й те, коли їх використовують.
Необхідні знання для Back-end розробників: SQL та NoSQL бази даних (на рівні самостійного налаштування бази для своїх потреб і виконання декількох запитів зі зв’язаними таблицями); розуміння, як БД працює з вашим застосунком; знання базових принципів оптимізації запитів.
Для Full Stack розробників: додати до попереднього переліку знання JavaScript з фреймворком ReactJs чи AngularJs.
Додатково Junior-спеціалісту потрібно розуміти, що таке HTTP-протокол, мати базові знання Git та принципів роботи з бранчами, вміти використовувати IDE для написання коду та дебагу. У тестуванні фахівцю варто знати, які типи тестів існують та що таке юніт-тести.
Гарним плюсом буде профайл кандидата на HackerRank, Codewars, LeetCode чи хоча б GitHub-репозиторій з власними проєктами. Головне, щоб проєкти були цікаві та можна було оцінити рівень їх виконання.
Залежно від проєкту важливо, щоб кандидат цікавився контейнеризацією та віртуалізацією. Знання основних Docker-команд буде очевидним плюсом. Добра ознака, якщо людина орієнтується в останніх трендах програмування.
Junior .NET Developer
До спільних вимог більшості компаній належать:
- володіння основами С#;
- знання платформи .NET;
- розуміння принципів ООП;
- базові знання Front-end (Angular/React/JavaScript).
Кілька компаній також згадують про:
- знання ASP.NET Web API;
- ознайомленість з різними типами баз даних;
- використання Git.
Більш детальні вимоги кожної з компаній наведені нижче.
- EPAM
- SoftServe
- Sigma Software
- GlobalLogic
EPAM
Junior .NET Developer повинен мати глибокі знання мови C# та платформи .NET, гарно розуміти та вміти застосовувати принципи ООП й SOLID, патерни проєктування, колекції, LINQ, багатопотоковість, обробку виняткових ситуацій.
Вміти писати та застосовувати юніт-тести, розробляти ASP.NET Web API та MVC вебзастосунки, взаємодіяти з базами даних як із ADO.NET, так і Entity Framework.
Junior .NET Developer повинен використовувати Git, мати базові знання HTML, CSS та JavaScript. Цінується та заохочується ознайомлення із сучасними хмарними сервісами та Front-end розробкою, наприклад, Angular чи React.
SoftServe
Junior .NET Developer, крім знань принципів ООП та Database (MS SQL Server), повинен розуміти Scrum та Git, а також Front-end розробку (Angular, React).
Sigma Software
Junior .NET Developer має знати мову програмування C# та платформу .NET (.NET Framework 4.x, .NET Core). Частково знати Front-end (зокрема, Angular) та розуміти принципи ООП та databases.
GlobalLogic
Junior .NET Developer має володіти основами С#, баз даних та JavaScript, ASP.NET Core, вміти працювати з даними та знати англійську на рівні Intermediate та вище.
Junior C++ Developer
До спільних вимог більшості компаній належать:
- знання C++, зокрема 11/14.
Кілька компаній також згадують про:
- знання середовища модульного тестування (GTest);
- розуміння системи збірки коду, зокрема CMake.
Більш детальні вимоги кожної з компаній наведені нижче.
- Luxoft
- Intellias
- GlobalLogic
Luxoft
Основні проєкти для C++/Embedded фахівців належать до automotive-домену. Цим і обумовлений перелік основних вимог: знання C++ 11/14, попередній досвід роботи з Python, практичні навички та знання версії системного контролю (наприклад, Git), розуміння щонайменше одного середовища тестування (GTest, GMock тощо), досвід роботи з автомобільними комунікаційними протоколами (CAN, LIN, Flexray, Ethernet, SOME/IP).
Безумовним плюсом будуть знання з Autosar Classic, досвід використання CMake, VSCode, Visual Studio, MISRA, E-sys, Carmen тощо.
Якщо розглядати перелік загальних вимог, то це освіта у галузі комп’ютерних наук, електротехніки або телекомунікаційної інженерії, розуміння розробки програмного забезпечення, переважно в автомобільній сфері, мінімальний досвід розробки програмного забезпечення в міжнародних великомасштабних проєктах, здебільшого в автомобільній сфері; відмінне володіння англійською мовою як в усній, так і в письмовій формі.
Intellias
Для посади Junior C++ Developer у нашій компанії кандидат має:
- розуміти концепції об'єктноорієнтованого програмування;
- мати базове розуміння CI/CD системи, GitLab, Jenkins;
- розуміти Agile-методології та SDLC;
- мати базовий досвід розробки програмного забезпечення для комерційних проєктів;
- знати кросплатформову C++ (бажано C++ 11), boost;
- знати Unit-тестування;
- мати базові знання в тасктрекінг-системах і документ-системах (Jira, Confluence, Zephyr тощо).
GlobalLogic
Junior C++ Developer має розуміти основи програмування, С++ та використовувати мову для розвʼязання актуальних бізнес-задач. Знати Linux Console та мати досвід роботи з Linux-оточенням. Володіти англійською на рівні, достатньому для роботи з технічною документацією.
Знати системи збірки коду (Make, CMake), керування версіями (Git), програми оптимізації пам’яті (Valgrind), засоби налагодження (GDB), середовища модульного тестування (GTest) та системи контейнеризації Docker.
Мати практику розробки через тестування. Розуміти поняття багатопотоковості та взаємодію між процесами (Inter Process Communication, IPC) під Linux. Знати керування пам’яттю та особливості С++ 11/14/17/20.
Junior JavaScript / Front-end / WEB Developer
До спільних вимог більшості компаній належать:
- HTML + CSS;
- JavaScript;
- фреймворків, зокрема React та Angular.
Кілька компаній також згадують про:
- Node.js;
- TypeScript;
- Git.
Більш детальні вимоги кожної з компаній наведені нижче.
- EPAM
- SoftServe
- Intellias
- DataArt
- Universe (Genesis)
EPAM
Junior JavaScript Developer повинен розуміти принципи роботи вебзастосунків, знати та вміти використовувати HTML-теги, зображати текстову інформацію, таблиці, списки, працювати з формами. Необхідними навичками є застосування CSS для форматування контенту, створення макетів сторінки, зокрема з адаптацією до екранів різного розміру.
Junior JavaScript Developer має знати синтаксис JavaScript, базові концепції ООП, алгоритми й структури даних, основні шаблони проєктування. Володіння Node.js, React чи Angular буде перевагою.
SoftServe
Для Junior JavaScript Developer треба знати HTML, CSS та JavaScript або Node.js, Framework (Angular or React), розуміти Scrum та Git.
При цьому стек для JavaScript та Node.js дещо різниться. У першому випадку необхідні знання JavaScript, TypeScript, React/Vue/Angular та HTML + CSS. У другому — знання JavaScript, HTML + CSS, Database та Nest.js.
Intellias
Для посади Junior WEB Developer маємо такі вимоги до хард-скілів кандидата:
- Понад рік досвіду роботи з HTML/CSS із використанням HTML/HTML5, CSS/SASS, плюсом буде досвід з Bootstrap;
- розуміння та досвід роботи зі Sketch, Zeplin, InVision або схожими програмами;
- знання розробки кросбраузерної та адаптивної верстки;
- досвід роботи з JavaScript;
- базові знання в тасктрекінг-системах та документ-системах (Jira, Confluence, Zephyr тощо.).
DataArt
Junior Javascript Developer повинен мати базові поняття типів та конструкцій мови програмування, розуміти ООП, володіти одним фреймворком (Angular, React), базово розуміти HTTP та мати навички роботи з HTML/CSS.
Universe (Genesis)
На посаду Junior Front-end Developer ми розглядаємо спеціалістів, які закінчили курси. Перевага, якщо у кандидатів була додаткова технічна освіта та знання математики. Серед теоретичних знань виділяємо TypeScript, React.js, Git та розуміння браузерних технологій — HTTP, cookie, local storage, cors тощо.
Інші мови програмування
У цьому розділі ми зібрали мови програмування, інформацію про які надала лише одна або дві компанії.
- Junior Ruby Developer
- Junior PHP Engineer
- Junior C Developer
- Junior Machine Learning Developer
- Junior Linux Kernel
- Junior Python Developer
- Junior Golang Developer
Junior Ruby Developer
Інформацію надають компанії SoftServe та DataArt.
Для Ruby-кандидата важливо мати практичний досвід з HTML, CSS та JavaScript і практичні навички з Ruby on Rails та RSpec, розуміння Scrum та Git.
Також Junior Ruby Developer має базово знати типи й конструкції мови програмування та ООП, реляційні бази даних і SQL. Важливо розуміти HTTP і concurrency/parallelism.
Junior PHP Engineer
Інформацію надає компанія Sigma Software.
Для Junior PHP Engineer варто знати Laravel Framework, частково Front-end - JavaScript (jQuery, Vue.js), а також ООП та шаблони проєктування. Важливими є розуміння CI/CD та Database і досвід роботи з Git та GitFlow.
Для Junior PHP Engineer/ WordPress Developer треба знати ООП та Laravel, розуміти CI/CD та Database і мати досвід роботи з Git та GitFlow. До цього стеку додаються знання WordPress CMS (розробка тем/плагінів/налаштування), WP React, Database, Apache, Nginx. А також Yarn/npm, SCSS, jQuery/JS; Laravel components & providers, Blade, Roots/Sage Acorn; Docker та Linux.
Junior C Developer
Інформацію надає компанія GlobalLogic.
Для Junior C/Embedded Developer потрібно володіти англійською на рівні, достатньому для роботи з технічною документацією (Intermediate або вище), базово знати С/С++ та будь-яку мову програмування.
Важливими є досвід роботи з Linux-оточенням, вміння працювати з системами контролю версій (Git, SVN, Mercurial тощо), базові знання електроніки, аналогової та цифрової схемотехніки.
А також середовище розробки C refresher, основи MCU та STM32 (аналогові інтерфейси, розширені теми та програми виробничого рівня).
Junior Machine Learning Developer
Інформацію надає компанія GlobalLogic.
Для Junior Machine Learning Developer треба знати Python, мати достатній рівень володіння фундаментальними математичними дисциплінами: лінійною алгеброю, математичним аналізом, дискретною математикою, теорією ймовірностей. Базово розуміти ML, структурування проєктів машинного навчання, а також знати:
- Tree-based models;
- Deep learning;
- Unsupervised learning;
- Reinforcement learning.
Англійська мова має бути на рівні Intermediate і вище.
Junior Linux Kernel
Інформацію надає компанія GlobalLogic.
Для Junior Linux Kernel треба знати мову С, а також Linux, Bash, Git, Makefile, GCC, CLANG.
Вміти працювати з ядром Linux, віртуальною файловою системою та інтерфейсом програмування, працювати з ресурсами, модулями, залежностями, завантаженням/вивантаженням, діагностикою, дебагінгом і драйвером символьного пристрою.
Також варто знати Device Tree, ACPI, керування часом, керування пам’яттю, обробку переривань, паралелізм і синхронізацію.
Junior Python Developer
Інформацію надає компанія DataArt.
Щоб працювати Python-розробником, варто ознайомитись із найбільш поширеними фреймворками: Django та Flask. Відносно недавно став набирати популярності FastAPI, але асинхронність в Python буває непростою і вимагає глибшого розуміння, коли та для чого її використовувати.
Для ознайомлення з Django можете використати офіційний посібник “Написання вашої першої програми Django”. Для ознайомлення з Flask - посібник Мігель Грінберг.
Junior Python Developer варто звернути увагу на роботу з базами. Важливо розібратися, як працюють реляційні бази, чим вони відрізняються, оскільки різні задачі потребують використання різних інструментів. Найпопулярнішим нині є PostgreSQL, також часто можна помітити MySQL, SQLite.
Варто звернути увагу на документоорієнтування баз даних. Наприклад, MongoDB та Redis останнім часом часто використовують як кеш.
Базове розуміння принципів роботи з Docker буде відчутним плюсом для кандидата. Це допоможе краще зрозуміти, як далі використовуватиметься продукт, і одночасно підвищуватиме ефективність команди.
Також варто згадати про Front-end. Зараз практично неможливо уявити роботу з вебсайтом без базових знань HTML та JavaScript. І якщо ви не плануєте розібратися з React, Vue або AngularJS, то вміння читати та розуміти код JS та базове знання HTTP і REST - невід’ємна частина веброзробки.
Junior Golang Developer
Інформацію надає компанія DataArt.
У компанії немає чітко визначених запитань для Junior/Middle/Senior спеціалістів цього стеку, натомість є загальні запитання. Якщо кандидат відповідає на всі, то може розраховувати на рівень Senior, 7/10 — Middle, 5/10 — Junior. Зазвичай послідовність запитань є такою:
- Що таке інтерфейс та як його імплементувати.
- Робота з масивами в Go.
- Тестування коду.
- Приклад коду з variable shadowing для тесту на уважність.
- Конкурентність, defer, select, ділянки видимості змінних, робота з пам’яттю.
- “Під капотом”: горутини, слайси, scheduler, stack/heap. Профілювання.
Junior-спеціалісту потрібно знати відповіді на запитання щонайменше щодо конкурентності. Якщо у людини є досвід роботи або хоча б пет-проєкти, то її розпитують про технології та їхнє розуміння.
Junior QA / АТ
До спільних вимог більшості компаній належать:
- знання основ тестування програмного забезпечення (дизайн та розробка тест-кейсів, використання QA-інструментів та технік, системи відстеження помилок);
- базове розуміння мережевих HTTP-протоколів;
- англійська мова на рівні Intermediate та вище.
Кілька компаній також згадують про:
- досвід роботи з API тестуванням;
- знання базових запитів мовою SQL;
- розуміння методології та фреймворків розробки ПЗ.
Для Junior Test Automation Engineer обов’язково знати одну з популярних мов програмування: Java, C#, JS тощо.
Більш детальні вимоги кожної з компаній наведені нижче.
Junior Manual QA
- SoftServe
- Intellias
- GlobalLogic
- Eleks
- Universe (Genesis)
SoftServe
Junior QA Engineer повинен володіти усною та письмовою англійською мовою на рівні Upper-Intermediate і вище, розуміти основні процеси тестування, вміти працювати з базами даних та знати SQL, а також методології та інструменти тестування.
Intellias
Junior QA Engineer має знати основи тестування програмного забезпечення (дизайн та розробка тест-кейсів, використання QA-інструментів і технік, системи відстеження багів), мати фундаментальне розуміння тестування у SDLC та досвід роботи з API-тестуванням. Також знати методології, інструменти та процеси програмного забезпечення Agile та QA, базово розуміти Linux, командний рядок і мережеві HTTP-протоколи, володіти тасктрекінг-системами та документ-системами (Jira, Confluence, Zephyr тощо).
GlobalLogic
Необхідні знання для Junior Manual QA:
- англійська мова на рівні Intermediate та вище;
- теорія тестування;
- вступ до вбудованого тестування (чим вбудоване тестування відрізняється від тестування іншого продукту): апаратні залежності та дефекти, відтворюваність тощо;
- тестування на основі моделі (HIL, PIL, SIL, MIL);
- вбудований набір інструментів тестування;
- вебтехнології (HTML, CSS, основи JavaScript);
- HTTP (запити, відповіді, коди відповідей, інструменти розробників);
- клієнт-серверна архітектура та основи вебпрограм (інтерфейс, серверна база даних, база даних). Підходи до тестування інтерфейсу, серверної бази та бази даних. Підходи та інструменти тестування API (Postman);
- кросбраузер або тестування для браузера.
Для Junior Embedded QA компанія вказує наступні пункти:
- володіння англійською на рівні, достатньому для роботи з технічною документацією (Intermediate або вище);
- базові знання Linux Console;
- базові знання Networking;
- теорія тестування.
Eleks
Junior Manual QA Engineer має вміти писати тест-кейси, хоча б на базовому рівні володіти тест-техніками. А також:
- розбиратися в типах тестування, розуміти основні відмінності між функціональними та нефункціональними тестами;
- описувати баги (складати дефект-репорти);
- вміти створювати чеклісти та обирати між тим, де їх краще застосовувати;
- вміти пріоритезувати баг-репорти та тест-кейси (бажано);
- розуміти вимоги замовника. Буде перевагою, якщо кандидат може оцінити часозатратність завдання;
- розуміти методології та фреймворки розробки ПЗ (Scrum чи Kanban) та їхній вплив на тестування;
- розуміти сам тест-процес і принципи тестування на базовому рівні;
- володіти англійською на рівні Upper-Intermediate.
Universe (Genesis)
Для посади Junior QA Engineer кандидат повинен мати шість місяців комерційного досвіду, знати принципи та методології тестування, розуміти основи роботи веб і мобільних застосунків, вміти створювати та підтримувати тестову документацію.
Junior QA Automation Engineer
- EPAM
- GlobalLogic
- Eleks
EPAM
Junior Test Automation Engineer має розуміти код, який тестуватиме. Для цього треба знати одну з мов програмування: Java, C# чи JS, залежно від обраної технології автоматизованого тестування. Крім цього, людина має розуміти Git, CI/CD, UI and API Testing.
Автоматизатору необхідно вміти запускати наявні тести та аналізувати результати, якщо тест падає, завести баг-репорт і донести команді проблему. Важливо вміти писати нові автотести до функціональності, використовуючи наявні тести як приклади.
GlobalLogic
Для Junior Automation QA необхідні базові знання будь-якої мови програмування та принципів ООП, розуміння сучасних комп’ютерних технологій та практичні навички роботи з ними (ОС, засоби розробки) а також англійська на рівні, достатньому для читання технічної документації та спілкування (Intermediate та вище).
Ще треба знати:
- Git;
- Linux;
- Selenium;
- HTTP;
- REST;
- SQL;
- Frameworks;
- API tests;
- Jenkins;
- Loggers;
- Cross-browser testing.
Eleks
Для Junior Automation QA Engineer необхідно:
- розуміти, який функціонал вартує автоматизувати, а який краще/швидше перевірити вручну;
- знати типи й рівні тестування;
- знати щонайменше одну мову програмування з найпопулярніших (C#, Java, JavaScript, TypeScript, Python);
- писати нескладні тести для вебаплікацій із застосуванням патерну page object;
- писати нескладний фреймворк, який базується на Page Object Model та XUnit (NUnit, TestNG чи similar);
- розуміти, що таке Back-end і як його можна тестувати;
- вміти тестувати прості HTTP-запити;
- запускати тести з використанням Continuous Integration сервера;
- аналізувати результати запуску тестів і виправляти знайдені помилки;
- працювати з Test Management та Bug Tracking Systems;
- комунікувати з QA-інженерами, лідом, узгоджувати плани покриття автотестами;
- знати базові запити мови SQL: Select, Joins, операції CRUD;
- знати принципи об’єктноорієнтованого програмування, вміти їх використовувати;
- знати техніки тест-дизайну і вміти їх застосовувати;
- володіти англійською на рівні Upper-Intermediate.
Junior DevOps
До спільних вимог більшості компаній належать:
- розуміти основні елементи операційних систем, їхні функції;
- знати концепції CI/CD;
- розуміти ключові принципи “хмар” і працювати з однією із платформ - AWS, Azure чи GCP;
- навички роботи з ОС Linux та Windows.
Компанії також згадують про:
- навички роботи із системами управління баз даних;
- базові знання контейнеризації;
- навички Monitoring та Configuration Management;
- володіння Bash/Python тощо.
Більш детальні вимоги кожної з компаній наведені нижче.
- EPAM
- SoftServe
- Sigma Software
- Luxoft
- Eleks
- Universe (Genesis)
EPAM
Для позиції Junior Systems Engineer кандидат має вміти автоматизувати повний цикл SDLC, мати практичні навички роботи з мережами, Linux/Windows, Containers (Docker, K8s), Public Cloud (AWS, Azure або GCP), писати скрипти на Bash, Python чи PowerShell, розуміти концепції CI/CD, IaC, Configuration Management, Monitoring та вміти працювати з відповідними інструментами, наприклад Jenkins, Terraform, Ansible тощо.
SoftServe
Для посади Junior DevOps у нашій компанії кандидат має знати принципи ООП, розуміти мережеві технології (IP-адресація, маски, маршрути, TCP та OSI рівні, основи багаторівневих мережевих протоколів, NAT, PAT, фаєрволи). Розуміти типи Cloud-моделей та ключові принципи Cloud. Важливо мати досвід у програмуванні в Linux чи Windows, а також із системами управління базами даних, базово знати контейнеризацію.
Sigma Software
Junior DevOps має знати AWS/Azure/GCP, Linux, інструменти CI/CD. А також DB (MySQL, PostgreSQL), NoSQL DB (Redis, MongoDB, DynamoDB, Cassandra) - і знати трохи більше, ніж просто як їх встановити.
Ще важливо володіти Bash/Python/Perl.
Luxoft
Для Junior Devops вимагають DevOps, CI/CD, Jenkins, Git, базово знати сучасні “хмарні” системи. Також мати досвід роботи на комерційних проєктах за спеціальністю від півтора року та добре володіти усно та письмово англійською мовою.
Eleks
Для Junior Devops Engineer необхідно:
- розуміти основні елементи операційних систем, їхні функції;
- базово знати концепцію Cloud, мати практичний досвід з однією із cloud platforms (зазвичай це AWS, Azure чи GCP), вміти побудувати просту інфраструктуру;
- розуміти прості адміністративні мережеві інструменти;
- Configuration management: мати досвід роботи з одним з інструментів (найчастіше опановують Ansible). Перевіряємо, чи людина може прочитати playbook; пояснити, що він робить, за потреби – мінімально модифікувати;
- розуміти, що таке віртуалізація й контейнеризація, чим ці поняття відрізняються, чим контейнери відрізняються від віртуальних машин;
- мати досвід з Web/App Servers і DB Administration буде плюсом;
- Scripting/Automation: розуміти синтаксис, вміти написати просту автоматизацію або розповісти, які задачі перед вами стояли;
- розуміти CI/CD-концепти, чим CI відрізняється від CD, значення і призначення, вміти налагодити CI-сервер;
- скіли Monitoring + Logging.
Universe (Genesis)
Для посади Junior DevOps спеціаліст повинен мати рік комерційного досвіду, знати Docker, Kubernetes, AWS Console, а також мати досвід з Git та Bash Scripting.
Soft skills
Пріоритетні soft skills в опитаних компаніях здебільшого збігаються. В основний перелік входять:
- вміння шукати та аналізувати інформацію;
- мотивація та відповідальність;
- готовність і бажання вчитися;
- вміння працювати як самостійно, так і в команді;
- англійська мова на рівні не нижче за Intermediate;
- привітність і добре розвинені комунікативні навички — для ефективного спілкування з командою та замовником;
- вміння конструктивно сприймати критику та працювати над помилками;
- здатність чітко висловлювати думку;
- критичне мислення;
- навички тайм-менеджменту та самоорганізації;
- вміння пріоритезувати задачі.
У EPAM наголошують, що нині один з основних soft skills - адаптивність, тобто здатність реагувати на зміни.
Кандидат у джуніори може певним чином уявляти собі роботу на конкретному проєкті, втім у реальності це може передбачати залученість до різних проєктів з різними командами та в умовах зміни поставлених раніше завдань. Це не повинно вибивати з робочого ритму
А у SoftServe нагадують: оскільки джуніори часто не мають досвіду роботи, soft skills можуть відіграти визначальну роль під час відбору кандидатів.
Резюме: критерії відбору кандидатів
Основні вимоги компаній до резюме кандидатів — структурованість, релевантність (відповідність технічних навичок вимогам вакансії), правдивість і грамотність.
Також бажано, щоб резюме не було задовгим — однієї, максимум двох сторінок цілком достатньо. Якщо компанія міжнародна, резюме ліпше писати англійською.
Те, що обов’язково прагнуть побачити у CV Junior-кандидата:
- опис hard і soft skills;
- інформація про комерційний досвід (якщо такий є). При цьому варто коротко описати сам проєкт, вашу роль у його реалізації та технології, які використовували у роботі;
- посилання на портфоліо — ним можуть бути, наприклад, пет-проєкти на GitHub;
- освіта. Це можуть бути навіть курси та тренінги;
- рівень володіння англійською та іншими мовами;
- контактні дані, включно з посиланням на LinkedIn або іншу зручну для спілкування соцмережу;
- коротке summary про себе.
Більш детально про критерії відбору кожної з компаній — далі у матеріалі.
- EPAM
- SoftServe
- Sigma Software
- Luxoft
- Intellias
- GlobalLogic
- Eleks
- DataArt
- Universe (Genesis)
EPAM
Якщо у вас немає комерційного досвіду, в EPAM радять показати інформацію, яка б підтвердила тяглість намірів і мотивацію стати джуніором в ІТ. Наприклад, зазначити проходження відповідних навчальних курсів, програм, стажувань, посилання на ресурси, які допомогли здобути базову освіту чи практичний досвід. Тобто фактично продемонструвати конкретні кроки, зроблені на шляху до позиції джуніора.
У компанії рідко беруть джунів з ринку — більшість спеціалістів цього рівня приєднуються до компанії після навчання в EPAM University, втім мотивація теж відіграє важливу роль при відборі кандидатів на навчання.
SoftServe
У компанії нагадують: важливо вказувати лише правдиву інформацію у резюме про досвід, знання та технології, оскільки на співбесіді експерт може ставити питання, відштовхуючись від резюме кандидата.
Неграмотність, відсутність структури — це те, що може зіпсувати враження про кандидата і навіть відсіяти його на етапі перегляду резюме
Sigma Software
У компанії, крім перелічених побажань до резюме кандидата, нагадують: не варто розписувати детально весь свій попередній досвід, не пов’язаний з ІТ. Достатньо зазначити це коротко, вказавши навички, яких ви там набули.
Luxoft
У компанії відбирають резюме за тим, чи є комерційний досвід роботи з необхідними технологіями. У компанії для позицій рівня Junior стажування не є валідним, також не розглядають резюме взагалі без досвіду чи з досвідом лише на навчальних проєктах. Резюме повинно бути чітко структурованим, вказаний термін роботи у попередній компанії, опис проєкту, на якому працював кандидат, технології, які він використовував на практиці. У розділі summary мають міститися ті технології, за якими кандидат має впевнені теоретичні та практичні знання.
Немає сенсу писати туди те, про що кандидат не має уявлення, не вивчав самостійно чи не використовує на практиці
Intellias
У компанії важливими критеріями відбору є відповідність технічних навичок вимогам вакансії, наявність комерційного досвіду (якщо це вимога позиції) і рівень знання англійської мови.
У компанії є програма Juniors Hiring Program, яка дає змогу кандидатам з мінімальним досвідом або взагалі без досвіду, але з великим потенціалом, отримати необхідні знання та практичні навички, працюючи з ментором на проєкті. На вакансії, створені під цю програму, часто розглядають кандидатів без комерційного досвіду, достатньо спеціалізованих курсів.
GlobalLogic
У компанії рекрутери зазвичай звертають увагу на те, чи є технічна освіта, додаткові курси (якщо йдеться про Trainee-позицію), далі йде рівень володіння англійською мовою. Фото не є обов'язковим. Якщо світлина у дуже неформальному стилі (фото зі спортзалу, до прикладу) або поганої якості — її краще не додавати.
Виграшно для компанії виглядають резюме, які мають таку структуру: назва компанії-роботодавця з датами співпраці, нижче назва проєкту, короткий опис продукту, перелік обов'язків/досягнень і технологій, з якими працював фахівець.
Eleks
У компанії зазначають, що резюме має відповідати вимогам позиції й містити релевантний досвід. Якщо людина подається на кілька напрямків, вона має робити окремі резюме на кожен з них (наприклад, окремо на дизайнера/-ку, окремо на тестувальника/-цю).
Крім перелічених вище критеріїв, для компанії плюсом буде супровідний текст про те, чому людина подається на вакансію, чому обрала саме її. Тут же кандидат може описати свої сильні сторони.
DataArt
У DataArt ще наголошують: якщо спеціаліст схитрував та приписав собі в резюме більше навичок, ніж є насправді, це одразу видно під час інтерв’ю.
Крім цього, “дизайнерські” резюме з великою кількістю візуалу (картинки, фото тощо) лише відволікають від суті. Краще надавати класичні резюме зі структурованою інформацією на 1-2 сторінки.
Важливим критерієм у резюме є актуальність технологій. Якщо потрібен кандидат на Python, а в резюме фреймворки інших мов і майже нічого актуального з Python-стеку, таке резюме може бути нерелевантним. Також варто вказати інформацію про досвід у своїх проєктах, згадати цікаві виклики тощо.
Вказані у резюме навички на кшталт “впевненого користувача ПК” (Windows, Chrome, Firefox, Word, Excel, Paint, PowerPoint тощо) виглядають несерйозно.
Universe (Genesis)
У компанії вважають, що за структурою необхідно ділити резюме на блоки, деталізувати досвід роботи (компанія, позиція, період роботи, обов’язки та досягнення).
Для джуніорів тут рекомендують надсилати супровідний лист. Варто прочитати опис вакансії і обов’язки та розписати, чому ви можете бути найкращим кандидатом на цю роль і хочете працювати саме в цій компанії.
Заголовок у резюме має збігатися з роллю, на яку ви подаєтесь. Наприклад, якщо шукаєте роботу Manual QA Engineer, то не пишіть у заголовку щось інше.
Співбесіда: критерії відбору
Передусім усі компанії згадують про класичну підготовку до співбесіди — для розмови варто знайти тихе місце зі стабільним інтернетом або ж, якщо є змога, подбати про альтернативне джерело інтернету на випадок вимкнення світла, перевірити справність камери та увімкнути її, подбати про зовнішній вигляд, щоб було не “по-домашньому”.
Під час спілкування для компаній важливі вмотивованість і проактивність кандидата.
У вас, найімовірніше, запитають, чому ви обрали вказаний напрям, які кроки вже зробили, аби розвиватися як фахівець, чи відвідуєте курси/тренінги за темою, чи слухаєте подкасти про неї, чи читаєте книжки тощо.
Можуть перевірити вашу обізнаність щодо історії самої компанії — згадати про цінності та проєкти, інформація про які є у відкритому доступі.
Важливо, аби ви також ставили влучні запитання інтерв’юеру про компанію та потенційну посаду — більшість компаній згадують про це як про позитивний фактор.
Одна з ключових характеристик кандидата — комунікабельність, може бути досить суб’єктивною при відборі кандидата рекрутером. Але важливо не відповідати “сухо”, аби з вас доводилося тягнути кожне слово.
Крім того, більшість компаній зазначають: якщо ви чогось не знаєте, краще чесно це визнати, аніж намагатися щось вигадати. Головне — показати бажання навчатися.
Більш детально про критерії відбору кожної з компаній — далі у матеріалі.
- EPAM
- SoftServe
- Sigma Software
- Luxoft
- Intellias
- GlobalLogic
- Eleks
- DataArt
- Universe (Genesis)
EPAM
Оскільки зараз переважає формат самонавчання та роботи онлайн, важливо розуміти мотивацію кандидата, чому він обрав вказаний напрям, наскільки усвідомлене це рішення, скільки зусиль доклав чи планує докладати в майбутньому, щоб розвиватись як фахівець.
Цікаво почути про попередній досвід: де і як були застосовані знання, можливо, є частковий досвід на поточній роботі чи у волонтерському проєкті, залученість у суміжні сфери, які навчальні ресурси використовував кандидат.
SoftServe
Співбесіду у нашій компанії зазвичай починають зі знайомства. Рекрутери спершу розповідають про компанію, вимоги для посади. Далі очікується, що кандидат розповість про себе і свій досвід. Тут ми зважаємо на такі моменти, як зацікавленість кандидата у розмові, відкритість, підготовленість до співбесіди. Часто кандидати хвилюються, і це нормально, але варто спробувати розслабитися і поставитися до співбесіди як до можливості випробувати свої сили, оцінити себе та отримати фідбек. Нерідко хвилювання заважає сконцентруватись на питаннях і не дає можливості проявити себе якнайкраще.
Справляють гарне враження кандидати, які добре готуються до співбесіди – й не лише до технічної, а й з HR: коли людина знає свої сильні та слабкі сторони, володіє інформацією про компанію і про те, чим вона займається, знає про наші проєкти, корпоративну соціальну відповідальність, клієнтів.
Sigma Software
Звісно, багато залежить від конкретної позиції та вимог до кандидата. Ми звертаємо увагу на те, чи людина проактивна, самостійна, готова брати відповідальність, вміє виходити з кризових ситуацій і розв'язувати проблеми, а не просто перекладати їх на свого керівника. Залежно від того, як відповідає кандидат, можна зробити певні висновки.
Також зазвичай ми дивимось на те, наскільки людина зацікавлена в зростанні в обраному напрямі, чи не розглядає фахівець можливість змінити вектор або технологію найближчим часом.
Оцінюємо навички комунікації, наскільки легко людина веде діалог, чи не боїться ставити запитання тощо.
Важливим є певний “метч” між кандидатом і технічним спеціалістом, що проводить співбесіду, адже зазвичай ці люди разом працюватимуть на одному проєкті, тому краще, щоб вони мали схожий набір цінностей та поглядів.
Як правило, на співбесіді кандидата спитають про професійний розвиток і чи докладає він зусиль для зростання самостійно – відвідує курси, проходить сертифікації, дивиться подкасти, читає книжки.
Luxoft
Критерії відбору стали наближеними до загальносвітового розуміння. Варто пам’ятати — кандидат, який не має практичного реального досвіду роботи, не може вважатися Junior, таких ми відносимо до рівня Intern з відповідними фінансовими очікуваннями.
На жаль, якість резюме кандидатів, що подаються на ролі Junior, погіршилася. Більшість людей не мають практичного досвіду, проте подають свої кандидатури до розгляду, очікуючи, що, пройшовши відповідне навчання, вони можуть претендувати на заробітну плату для фахівців з досвідом. Багато з них не готові до інтерв’ю, де є тестові завдання, не розуміють, що фахівець рівня Junior повинен самостійно вміти виконувати частину обов’язків на проєкті, розраховують на постійне менторство, маючи при цьому високі фінансові очікування.
Intellias
Мета HR-співбесіди - з’ясувати, чи складеться наша співпраця з кандидатом в майбутньому. Тому насамперед ми перевіряємо софт-скіли джуна та його мотивацію. Зокрема, важливо визначити, наскільки він комунікабельний і що його мотивує в роботі (очікування від компанії/проєкту, з якими технологіями хотів би працювати). Також важливо переконатися, чи готовий кандидат далі розвиватися як професіонал – вчити нові технології, у вільний час займатися самоосвітою, чи відвідує він спеціалізовані конференції, читає професійну літературу та статті, форуми, і головне, – чи знає, чого хоче досягнути в професійному та особистісному розвитку.
Щоб дізнатись більше інформації, ставимо уточнювальні запитання, як-от:
- Чому кандидат зараз у пошуку роботи?
- Що подобалось, а що ні в попередній компанії (якщо працював)?
- Що саме зацікавило в нашій вакансії?
- Якою є для вас ідеальна робота?
- Які задачі подобаються, з якими технологіями цікаво було б працювати?
- Чи був досвід роботи в команді?
- Більше подобається працювати самому чи в команді?
- Як бачите себе в компанії за 2-3 роки?
- Чи відвідуєте конференції, мітапи, тренінги?
- Чим займаєтесь у вільний від роботи час?
- Як ви дотримуєтесь work-life balance?
GlobalLogic
Перше, на що звертає увагу інтерв’юер, це доречний зовнішній вигляд кандидата. Оскільки більшість співбесід тепер відбуваються онлайн, важливо дбати ще про бекграунд і відсутність зайвого шуму під час співбесіди.
Наприклад, влітку бували випадки, коли хлопці виходили на відеоконференцію без футболок. Чи коли кандидати виходили на зв'язок з кафе або в машині з телефона. Окрім поганої якості звуку, в таких умовах важко або взагалі неможливо виконати тестове завдання.
Про мотивацію найкраще свідчить кількість влучних запитань, які ставить кандидат під час співбесіди — це означає, що він попередньо дізнався про компанію та проєкт. Якщо спеціаліст не зміг відповісти на якесь складне питання, то буде плюсом, якщо наприкінці співбесіди він поцікавиться в інтерв'юера, якою була правильна відповідь, або запропонує повернутись пізніше з правильним розв'язком тестової задачі.
Коли фахівець пасивний, тобто дуже стисло і сухо відповідає на питання, і з нього доводиться витягувати кожне слово — це поганий знак. Перевагу віддаємо більш залученим спеціалістам, що проявляють активну життєву позицію.
Eleks
Рекрутери звертають увагу на те, як людина комунікує, однак розуміють, що інтерв’ю (особливо перші) можуть бути стресом для кандидата/-ки, тому хвилювання і голос, що тремтить, не впливають на рекомендацію.
Додаткові запитання від кандидата дають рекрутеру змогу більше дізнатися про потенційного колегу, зіставити його/її цінності з цінностями компанії. Збіг у цінностях – це важливо для обох сторін.
Якщо співбесіда відбувається на конкретний проєкт, то рекрутерам бажано дізнатися і про хобі, уподобання людини. Це допоможе зрозуміти, наскільки їй буде комфортно в команді.
Рекрутерам важливо з’ясувати, чи є в кандидата бажання вчитися, наскільки він гнучкий. На співбесіді зі світчерами хочуть почути, чому людина вирішила перейти в іншу галузь, що вона для цього робила та що вивчала, скільки часу витрачає на опанування нової сфери.
Запізнення на співбесіду – це поганий маркер. У цьому випадку варто попередити про затримку чи перенести зустріч.
DataArt
Для нас важливо зрозуміти, наскільки комфортною буде співпраця з потенційним колегою. Найбільш показовими є вміння думати та намагання розв'язати задачу, на яку ще не знаєш відповіді. Важливо, як кандидат відповідає на запитання, як формулює думку.
Перед співбесідою варто подумати, чи можете ви розказати зі своєї практики про моменти, де ви щось вивчали та розбирались в конкретних проблемах, що з цього вийшло. Таку розповідь можна представити на початку співбесіди, коли запитують про загальний досвід.
Як варто поводитись, якщо ви не знаєте відповіді на запитання.
Добре, коли кандидат не боїться взяти хвилину на роздуми, щоб краще відповісти, але важливо не затягувати, оскільки це псує загальне враження. Особливо якщо таких пауз буде багато. Коли кандидат говорить, що чогось не знає, це нормально, особливо якщо він або вона зацікавлені у вивченні цієї технології, підходу тощо.
Важливими є прагнення до навчання та допитливість, бажання розв’язувати складніші задачі.
Інтерв’юеру ж варто заспокоїти кандидата, оскільки кожна співбесіда, особливо для молодших фахівців, зазвичай є стресом. Буде прикро втратити талановитого колегу через звичайну нервовість, тому не варто бути занадто формальним та суворим. До того ж часто людина виявляється продуктивнішою під час роботи, ніж на інтерв’ю.
Про формулювання відповідей.
Інколи кандидат розказує багато не на тему і доводиться його перебивати. Іноді, навпаки, людина відповідає кількома словами й доводиться ставити багато додаткових запитань, щоб почути бажану відповідь. Чудово, коли кандидат тримається золотої середини: формулює відповідь стисло в плані слів, але розлого в плані сенсу.
При цьому “прикрашати” свої досягнення не варто. Досвідчений інтерв'юер легко це побачить.
Радимо брати участь в open source проєктах, оскільки таким чином можна набути потрібні навички без комерційного досвіду. Єдине: читання статей та дослідження інформації на відкритих ресурсах може дати тільки теоретичні знання.
Важливо розуміти, чим цікавиться кандидат поза роботою, оскільки людина має зберігати work-life balance, дотримуватися графіків і таким чином не доводити себе до професійного вигоряння.
Universe (Genesis)
Спеціалісти без досвіду часто подаються на першу-ліпшу роботу. І багато хто взагалі не готується до співбесід з менеджером, не читає нічого про компанію і не готує запитання про задачі, команду або продукт. Для багатьох HR-менеджерів важлива небайдужість, щоб кандидат проявляв зацікавленість у вакансії.
Якщо спеціаліст чогось не знає з теорії, то краще відверто про це сказати, не намагатися прикрашати, бо менеджер завжди зможе оцінити реальні навички кандидата. Ми в команді дотримуємося думки, що якщо спеціаліст чогось не знає, але дуже хоче — то його можна навчити та підтягнути. Якщо ж він не поділяє наші цінності, то ми навряд чи зможемо спрацюватися
Текст: Марія Гурська
Верстка: Ігор Яновський
5 коментарів
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.