You are on page 1of 16

Конспект до Модуля 9:

Технічна складова

створення продукту

Після цього модуля ти зможеш:

перелічити техспеціалістів у продуктовій команді

перелічити обов’язки техспеціалістів

назвати основні мови програмування

пояснити, для яких цілей які мови найкращі


Коротко про головне:

технічні спеціалісти в IT-компаніях

Front-end Developer

Зони відповідальності front-end розробника:

створення інтерфейсу продукт

адаптивна та кросплатформна верстка всіх елементів інтерфейс

«поєднання» інтерфейсу та сервер

налаштування форм, кнопок, слайдерів та іншого функціонал

програмування інтерактивних елементів сайт

забезпечення необхідного рівня якості користувацького інтерфейсу та

досвіду взаємодії

Back-end Developer

Back-end — програмно-апаратна частина («внутрішня») продукту, яка


відбувається на стороні сервера та невидима користувачу (наприклад, коректні

переходи між сторінками сайту, збереження даних, коректність входу в

особистий кабінет, інтеграція з платіжним сервісом).

Зони відповідальності back-end розробника:

забезпечення роботи всіх «невидимих» функцій продукт

проєктування архітектури всього функціонал

інтеграція з платіжними сервісами або будь-якими іншими зовнішніми

сервісам

налаштування коректного відображення та зберігання даних у продукті,

переходів між сторінками та підвантаження нового контент

налаштування технологій резервного копіювання та відновлення

Full-stack Developer

Full-stack розробники можуть виконувати роботу як front-end-, так і back-

end-розробників.

Вони, як правило, не мають глибоких знань з усіх технологій, але можуть

самотужки реалізовувати певні завдання.

Компанії наймають full-stack-фахівців, коли, до прикладу, потрібно швидко

реалізувати MVP, перевірити гіпотезу або новий продукт. Тоді керувати всіма

процесами простіше одній людині.

Front-end Developer Back-end Developer


Це всі зображення, кнопки, тексти, віконця на Програмно-апаратна частина («внутрішня») продукту,
платформі, тобто «зовнішня» частина продукту. яка відбувається на стороні сервера та невидима
Цим займається front-end developer.
користувачу. Цим займається back-end developer.

Hard Skills Hard Skills


Знання основних мов програмування, Знання основних мов програмування —
HTML, CSS та JavaScript PHP, Node.js, Golang, Java, Python

Орієнтування в CSS-фреймворках Розуміння баз даних, роботи з MySQL

та UI-бібліотеках

Застосування патернів та принципів


програмування, фреймворків Nest,
Вміння працювати з препроцесорами CSS
Express, Symphony,Django тощо

Розуміння основних принципів JavaScript- Використовувати Git


фреймворків ReactJS, VueJS, AngularJS

Робота з API

Вміти користуватися системами збірки


застосунків (наприклад, Webpack)

Знання роботи веб,

(протоколів TCP, HTTP, HTTPS)

Використання Git

Знання з налаштовування серверів


(наприклад, Nginx)

Основи UI/UX-дизайну
Робота з Docker

Навички тестування продукту

So f t Skills
Командна робота

Вміння приймати й надавати


конструктивний фідбек

Ефективна комунікація

Вміння швидко адаптовуватись Дисципліна та структурованість в роботі

Зони відповідальності
Зони відповідальності

Забезпечити роботу усіх


Створення інтерфейсу продукту

“невидимих” функцій продукту

Адаптивна та кросплатформна
ерстка всіх елементів інтерфейсу
Проєктування архітектури усього функціоналу

Інтеграція з платіжними сервісами або


“Поєднання” інтерфейсу та серверу

будь-які інші зовнішні сервіси

Налаштування форм, кнопок, Налаштування коректного відображення та


слайдерів та іншого функціоналу

зберігання даних у продукті, переходів між


сторінками та підвантаження нового контенту

Програмування інтерактивних елементів сайту

Налаштування технологій резервного


копіювання та відновлення

ВикористанняЗабезпечення необхідного
рівня якості користувацького інтерфейсу
та досвіду взаємодії

Інструменти Інструменти

Full-stack Developer фахівці, які можуть виконувати роботу як


front-end-, так і back-end-розробників.

Зони відповідальності

Проєктувати як клієнтську, так і серверну частини продукту

Повністю планувати роботу, розгортати й тестувати продукт

Контролювати якість, запускати в продакш ресурс

DevOps Engineer
DevOps = Development + Operations

Девопси з’явилися, щоби згуртувати всіх навколо спільної мети — швидкого


релізу продукту без баґів. Їхню місію можна описати так: автоматизувати
процеси та створити єдине операційне середовище для команд.

Зони відповідальності DevOps-інженера:


автоматизація та оптимізація процесів на стороні розробк
створення єдиного операційного середовища для коман
оцінювання інфраструктури проєкт
допомога в розгортанні продукт
стеження за продуктивністю процесів та за виправленням знайдених баґів

QA Engineer
QA = Quality Assurance.

QA-інженери займаються забезпеченням якості продукту, виявляють помилки,


дефекти та допомагають покращувати процеси. QA-інженери поділяються на
Manual QA, Automation QA та General QA.

Manual QA проводять тестування вручну. Їхнє завдання — перевірити якість


роботи інших спеціалістів.

Automation QA займаються написанням скриптів, які автоматично перевіряють,


чи все працює, як треба. Зазвичай такі тести запускають на постійній основі
або ж під час оновлення.

General QA — це ті, хто вміють як автоматизувати тести, так і можуть зробити


тестування вручну.

Зони відповідальності QA-інженера:


проведення всіх видів тестування продукт
виявлення та опис баґів продукту, аналіз знайдених проблем, контроль
процесу їх усуненн
ведення тестової документації, програми bug-трекінг
написання чеклістів, тест-кейсі
розробка сценаріїв та процедур тестуванн
участь у процесі формування вимог до продукту
DevOps Engineer
Спеціалісти, основне завдання яких можна
описати так: автоматизувати процеси та створити
єдине операційне середовище для команд.

Hard Skills
Знання основ топології сіток, Розуміння основних сервісів: баз
основних протоколів стеку TCP/IP даних, вебсерверів, проксі,
(IP, TCP, UDP, HTTP/HTTPs)
балансувальників навантаження

Знання мов програмування — Python, Розуміння концепції API


JavaScript/TypeScript чи Go
(REST, gRPC, GraphQL)

Уміння працювати з операційною


Опанування CI/CD

системою Linux

Знання концепції Infrastructure-as-a-Code,


Розуміння життєвого циклу програми (SDLC)

системи моніторингу й агрегації логів

Навички роботи з хмарними провайдерами

S oft Skills
Ефективна комунікація
Командна робота
Стресостійкість

Критичне мислення Вміння швидко адаптовуватись


Прийняття рішень

Зони відповідальності
Автоматизовувати та оптимізовувати Стежити за продуктивністю процесів
процеси на стороні розробки
та за випраленням знайдених багів.

Оцінка інфраструктури проєкту


Створювати єдине операційне
середовище для команд

Допомога в розгортанні продукту

Iнструменти
QA Engineer
Спеціаліст, який слідкує за виконанням вимог
до продукту: запускає тести та застосовує
інші підходи для перевірки його якості.

Hard Skills
Навички роботи з таск-менеджерами,
Володіння сучасними інструментами
тестовою документацією та системами
тестування для проведення ручного
bug-трекінгу (Jira/YouTrack)
та автоматизованого тестування

Знання основ мов програмування Розуміння життєвого циклу

(наприклад, Java, Python, C#, or Ruby)


та етапів розробки ПЗ (PDLC)

Знання SQL, мов HTML, даних JSON Уміння працювати з протоколом HTTP

Soft Skills
Командна робота Ефективна комунікація
Критичне мислення

Уміння давати та Прийняття рішень

приймати фідбек Уважність до деталей

Зони відповідальності
Проводити усі види тестування
Писати чеклисти, тест-кейси

Виявляти та описувати баги продукту,


аналізувати знайдені проблеми, Вести тестову документацію, програми
контролювати процес їх усунення
bug-трекінгу

Розробляти сценарії та Брати участь в процесі формування


процедури тестування вимог до продукту

Iнструменти
Data Scientist
Фахівці аналізують дані і «тренують» ML-модель, яка може визначати певні
типи закономірностей. Зокрема, розпізнавати і класифікувати об’єкти на
картинках та відео, рекомендувати товар в онлайн-магазині та друзів у
соцмережах.

Зони відповідальності Data Scientist:


аналіз Big Dat
тренування ML-моделі для перевірки гіпотез та реалізації бізнес-цілей
продукт
проєктування користувацьких функці
збір даних, аналіз поведінки користувачі
створення гіпотез, прогнозу поведінки користувачі
візуалізація зібраних даних для подальшого опрацювання командою

Mobile Developer
Mobile-розробники займаються створенням застосунків для різних операційних
систем, враховуючи їхню специфіку. Найпопулярніші ОС серед користувачів — це
Android та IOS. Для кожної із цих систем є власні розробники — Android
Developers та IOS Developers.

GameDev
GameDev — окремий напрям в ІТ-сфері, який фокусується на розробці ігор. Тобі
можуть бути відомі компанії EA games, Sony Entertainment, Blizzard, які є
GameDev продуктовими компаніями.

До GameDev спеціалістів зазвичай зараховують unity-розробників, game-


художників та game-дизайнерів. У продуктових GameDev-командах також можуть
бути й інші фахівці — тестувальники, дизайнери, розробники.

Unity Developer — розробники ігор, які працюють із «рушієм гри» Unity.

Зони відповідальності unity-розробників:


створення мультимедійних цифрових ігор для різних платфор
продумування концепту гри з командо
участь у тестуванні гри, налаштуванні підтримки та оновлень
Game Artist — фахівці, які відповідають за створення всіх візуальних
елементів гри (стилю, персонажів, ігрового оточення).

Зони відповідальності game-художників:


участь у створенні загального стилю гри, її концепт
розробка попередніх ескізі
створення 2D- або 3D-ігрових моделей з ескізі
створення візуальної історії гри

Game Designer — спеціалісти, які займаються розробкою логіки гри, ігрових


правил, механік та сюжету.

Зони відповідальності game-дизайнерів:


створення концепту гри, її наративів, ігрових механік та рівні
робота над ігровими інтерфейсам
постійне покращення ігрового досвіду користувачі
побудова економіки гри, розробка моделей монетизаці
участь у маркетингу гр
прописування ігрових сценаріїв, правил та логіки гри

Основне про мови програмування


PHP, Node.js, Golang, Java, Python — мови програмування бекенду
HTML, CSS — це не мови програмування
HTML — мова гіпертекстової розмітки, за допомогою якої формують «скелет»
сторінки. А CSS — каскадна таблиця стилів, вона формує стилі сторінок і
надає сайту форми та вигляду
JavaScript — прототипна мова програмування, яка робить елементи
інтерактивними, забезпечує взаємодію з користувачами та сторонніми
сервісами, з пошуковиками, системами трекінгу тощо
За рейтингом TIOBE нині найпопулярнішою мовою є Python
Основа розробки застосунків під платформу iOS Android — Java і Kotlin
Основа розробки застосунків під платформу iOS — Objective-C (побудована на
C) і Swift
Unity-розробники, які використовують Unity як інструмент у своїй роботі,
працюють із мовою C#.
Фахівці, які аналізують дані і «тренують» ML-модель,

Data Scientist яка може визначати певні типи закономірностей.


Зокрема, розпізнати і класифікувати об’єкти на
картинках, рекомендувати товар в онлайн-магазині тощо.

H a r d Skills
Дискретна математика, статистика,
Знання мов програмування — Python

теорія ймовірності

(зокрема, бібліотеки Pandas, Numpy,

scikit-learn, LightGBM, CatBoost,

TensorFlow) або R, а також SQL

Розуміння основних алгоритмів


(для роботи з даними)
машинного навчання

Soft Skills

Ефективна комунікація
Критичне мислення
Креативність

Прийняття рішень Командна робота Стресостійкість

Зони відповідальності

Тренування ML-моделі для перевірки гіпотез


Збір даних, аналіз поведінки користувачів

та реалізації бізнес-цілей продукту

Аналіз Big Data Створює гіпотези, прогнозує


поведінку користувачів

Візуалізація зібраних даних для подальшого


Проєктування користувацьких функцій
опрацювання командою

I нст р у м е нти
GameDev Specialists

Unity Developer

Знати основи програмування на C#, добре знати ООП


(об’єктно-орієнтоване програмування) та ознайомитися з
механізмом .Net на базовому рівні
Hard Skills

Розуміти принципи роботи Unity (орієнтуватися в


документації)
Знання програмної складової роботи з Unity: С# класи
ігрового фреймворку (MonoBehaviour, SceneManager,
Application тощо), їхню структуру, можливості та
застосування
Знання тригоноиметрії, дискретної математики, лінійної
алгебри
Розбиратися в особливостях роботи Android та iOS.

Креативніст
Skills

Командна робот
Soft

Любов до ігор
відповідальності

Створювати мультимедійні цифрові ігри для різних платформ


Продумування концепту гри з командо
Долучатися до тестування гри, займатися підтримкою та
оновленнями.
Зони
Інструменти

GameDev Specialists

Game Artist

Навички гейм арту та анімації


Знання принципів графічного дизайну, UX/UI-дизайну
Знання основ роботи зі світлом, перспективою, спеціальних
ефектів
Сильні навички малювання, здатність візуалізувати та
проєктувати з абстрактних ідей
Глибокі знання ігрових жанрів і останніх трендів в іграх
Вміння працювати з розкадровками
Навички 3D моделювання, сторітелінгу

Креативніст
Уміння швидко адаптовуватис
Командна робот
Ефективна комунікаці
Дисциплінованість

Брати участь у створенні загального стилю гри, її концепту


Розробляти попередні ескізи
Створювати 2D або 3D ігрові моделі з ескізів
Створювати візуальну історію гри.

NUKE
GameDev Specialists

Game Designer

Знання теорії ймовірності, статистики, математики


Знання ігрової аналітики, ігрових метрик
Навички роботи з Google Sheets та Excel
Знання психології користувачів
Знання основ маркетингу
Володіння інструментами аналізу ринку та потреб
користувачів
Глибокі знання ігрових жанрів і останніх трендів в іграх.

Любов до іго
Командна робот
Аналітичне та критичне мисленн
Ефективна комунікаці
Прийняття рішень

Створювати концепт гри, її наративи, ігрові механіки та


рівні
Працювати над ігровими інтерфейсами
Постійно покращувати ігровий досвід користувачів
Будувати економіку гри, розробляти моделі монетизації
Брати участь у маркетингу гри
Прописувати ігрові сценарії, правила та логіку гри.

Hammer
Editor

Корисні матеріали та джерела


Обов’язково
Довідник для джуна. Чого бракує кандидатам-розробникам —
розповідають СTO компаній Genesi
Front-End, DevOps та інші професії в програмуванні. Великий
ґайд для тих, хто хоче стати розробником. Спрощений варіант
публікації ти можеш прочитати в Instagra
Frontend vs Backen
5 міфів про тестування. Спростовує QA-техлід компанії AM
Front-end vs Design: розробник як останній рубіж поганого
дизайн
«Tech for non-tech: як говорити з розробниками однією
мовою
Особливості тестування мобільних додаткі
Тестування в ігра
Як це — бути першим QA Engineer на проєкті. Вибудовуємо
процес тестування з нул
Як стати Junior Unity Developer: з чого починати кар’єру та
як уникати помило
Різниця між Junior, Middle, Senior Artist у геймдеві: як
визначити свій рівень і прокачатись

Додатково
Genesis Crew: тімлід та back-end-розробник Олександр
Михайлюта, який літає на параплан
Genesis Crew: Антон Чередниченко — техлід та спортсме
Що почитати й подивитись: добірка каналів про геймдев від
українських спеціалісті
Підбірка інструментів у роботі QA Enginee
Що подивитися, почитати та послухати — front-end editio
6 міфів про нейромережі та машинне навчання. Спростовує
Machine Learning Engineer компанії PlantI
Як команді взяти максимум від джему? Пояснюємо на прикладі
Genesis Game Jam 2.
Співбесіда з PHP. 250+ запитань для Junior, Middle та
Senior
Поняття
Front-end — це всі зображення, кнопки, тексти, віконця на
платформі, тобто «зовнішня» частина продукту. Цим займається front-
end developer.

Back-end — програмно-апаратна частина («внутрішня») продукту, яка


відбувається на стороні сервера та невидима користувачу (наприклад,
коректні переходи між сторінками сайту, збереження даних,
коректність входу в особистий кабінет, інтеграція з платіжним
сервісом). Цим займається back-end developer.

Full-stack розробники — фахівці, які можуть виконувати роботу як


front-end-, так і back-end-розробників. Вони, як правило, не мають
глибоких знань з усіх технологій, але можуть самотужки
реалізовувати певні завдання.

DevOps Engineer (Development + Operations) — технічні фахівці


продуктової команди, які з’явилися, щоби згуртувати всіх навколо
спільної мети — швидкого релізу продукту без багів. Їхню місію
можна описати так: автоматизувати процеси та створити єдине
операційне середовище для команд.

QA Engineers (Quality Assurance Engineers) — спеціалісти, які


займаються забезпеченням якості продукту, виявляють помилки,
дефекти та допомагають покращувати процеси. QA-інженери поділяються
на Manual QA, Automation QA та General QA.

Manual QA — спеціалісти, які проводять тестування вручну. Їхнє


завдання — перевірити якість роботи інших спеціалістів.

Automation QA — фахівці, які займаються написанням скриптів, які


автоматично перевіряють, чи все працює, як треба. Зазвичай такі
тести запускають на постійній основі або ж при оновленні.

General QA — це тестувальники, які вміють як автоматизувати тести,


так і можуть зробити тестування вручну.

Data Scientist — фахівці, які аналізують дані і «тренують» ML-


модель, яка може визначати певні типи закономірностей. Зокрема,
розпізнати і класифікувати об’єкти на картинках та відео,
рекомендувати товар в онлайн-магазині та друзів у соцмережах.
Поняття
Mobile-розробники — спеціалісти, які займаються створенням
застосунків для різних операційних систем, враховуючи їхню
специфіку. Найпопулярніші ОС серед користувачів — це Android та
IOS. Для кожної із цих систем є власні розробники — Android
Developers та IOS Developers.

GameDev — окремий напрям в ІТ-сфері, який фокусується на розробці


ігор. Тобі можуть бути відомі компанії EA games, Sony
Entertainment, Blizzard, які є GameDev продуктовими компаніями.

Unity Developer — розробник ігор, який працює з «рушієм гри» Unity.

Game Artist — фахівці, які відповідають за створення всіх


візуальних елементів гри (стилю, персонажів, ігрового оточення).

Game Designer — спеціалісти, які займаються розробкою логіки гри,


ігрових правил, механік та сюжету.

You might also like