Чи має менеджер проектів бути програмістом? Чи має вміти програмувати? Ці дискусії тривають вже не одне десятиліття в ІТ індустрії. Й експерти сходяться на тому, що якщо глибоко розбиратись в певній мові програмування не обов'язково, то мати технічну основу – просто must have для ІТ спеціаліста. Саме тому ми запускаємо курс, який допоможе сформувати мінімальний набір технічних знань та процесів щодо розробки програмного забезпечення.
Аргументація продажу технічних рішень для замовника, зупинка технічного перфекціонізму талановитих розробників, контроль доцільності прийняття технічних рішень та організація взаємодії Dev та QA - це лиш невеликий перелік тем, які ми покриємо під час нашого курсу. Адже саме з такими задачами зіштовхуються проектні менеджери, бізнес аналітики, та всі, хто працює над розробкою продукту, але безпосередньо не займається програмуванням.
Тренінг допоможе:
- орієнтуватись в технічній термінології;
- оптимально формулювати команди технічних спеціалістів в залежності від типу продукту;
- ефективно делегувати задачі в залежності від компетенції спеціалістів;
- розуміти та слідкувати за доцільністю прийняття технічних рішень в ході виконання проекту;
- коригувати оцінку та виконання задач команди технічних спеціалістів;
- говорити однією мовою зі своєю командою;
- оптимізувати процес розробки програмного забезпечення;
- почуватися впевнено під час командних обговорень.
Програма тренінгу:
Тренінг складається з п'яти розділів (2 воркшопи по 8 години кожен). Розділи включають в себе теоретичні та практичні приклади, рекомендації по впровадженню та розбір кейсів.
Не дивлячись на складність та технічність програми, курс розрахований на базовий рівень, тому всі вправи та матеріали підібрані так, щоб ви максимально комфортно засвоювали нові технічні знання.
Кому буде корисний:
- Project Managers
- Product Owners
- Scrum Masters
- Tech/Team Leads
- Business analytics
- IT Sales Managers, HR Managers, Recruiters
Програма тренінгу:
1. Загальні поняття
Операційні системи:
- Поняття операційної системи (ОС)
- Сімейства ОС
- Порівняння ОС
- Цільове використання ОС: server, work station.
Типи розробки:
- Характеристики основних типів додатків: web application, desktop, embedded, mobile, game, enterprise.
- Ролі в команді. Застосування технологій в залежності від типу додатку
- Цикли розробки та тестування для популярних типів додатків
Мови програмування:
- Ключові поняття: мови програмування та framеworks, парадигми програмування, компіляція та інтерпритація
- Популярні мови програмування, класифікація та сфери застосування
- Особливості застосування Java, PHP, JavaScript
Інструменти розробки:
- Repositories та їх призначення. Ключові поняття та порівняльна характеристика. Дії над repositories
- Середовища для розробки (IDE). Огляд розповсюджених IDE. Аргументація застосування
- Користувацькі інтерфейси для роботи за базами даних. Призначення та переваги застосування.
- Інструменти для вимірювання якості програмного коду – code analizers. Впровадження та переваги застосування
- CMS як інструмент для розробки web додатків
Інтерфейси взаємодії:
- Поняття інтерфейсів взаємодії
- XML формат даних. Особливості та структура
- JSON формат даних. Особливості та структура
- Порівняння та особливості застосування REST, SOAP
Ролі в команді та сфери обов'язків технічних спеціалістів:
- Seniority. Компетенція junior,middle та senior спеціалістів. Розподіл задач та сфер обов'язків у відповідності до seniority
- Обов'язки, компетенція та комунікація всередині команди для - Back-end,Front-end,Full stack розробники, QA team: manual та automation, Team lead & tech lead, DevOps, Software architecture
2. Архітектура ПЗ
Рівні архітектури ПЗ: Business architecture, Information Architecture, Technology Architecture, Solution Architecture
- Поняття архітектури ПЗ та рівні архітектури ПЗ
- Особливості побудови, області застосування і предмет опису для кожного з типу архітектур.
- Командні ролі при побудові Business, Information, Technology, Solution аrchitectures.
Data Architecture
- Характеристика та порівняння RDB vs NoSQL баз даних. Особливості застосування RDB та NoSQL
- RDB. Основні поняття, проектування, сфери застосування. Реалізації RDB: Posqresql, MySQL, Sybase etc.
- NoSQL . Типи NoSQL (документарні, графові, пошукові). Основні поняття, проектування, сфери застосування. Реалізації NoSQL: Cassandra, MongoDB, Elasticsearch etc.
- Використання комбінованих рішень: RDB + NoSQL
Software architecture
- Архітектурні патерни monolit,microservices,client-server etc та особливість їх застосування.
- Критерії якісно побудованої архітектури
- Паттерни GoF, SOLID
- Прийняття архітектурних рішень: на старті проекту, в ході реалізації функціональності, в рамках виконання поточної задачі
- Перехід від одного типу архітектури до іншого
3. Continuous delivery & Continueus integration
- Поняття Continuous Delivery, Continuous integration. Технічні складові Continuous Delivery
- Переваги використання СI та альтернативні методи збірки та deployment продукту
- Ролі в команді що забезпечують налаштування та моніторинг роботи CI.
- Інструменти СI: Jenkins, Hadson. Ключові складові: jobs,pipeline,plugins/
- Переваги використання інфрастуктурних сервісів: Amazon Cloud, Azure, DigitalOcean, Google Cloud
- Контейнерні технології: Docker, Kubernetes etc.
4. Тестування
- Тестування за об'єктом: smoke, funtional,performance etc. Особливості застосування
- Види тестування за часом проведення: regression testing, acceptance testing. Особливості застосування
- Manual testing та Automation testing. Доцільність використання у відповідності до типу програмного продукту. Комбіноване тестування
- Огляд популярних інструментів тестування - Selenium,TestComplete etc
- Організація процесу ефективної взаємодії між розробниками, бізнес аналітиками та тестувальниками
- Тестова документація: check-lists, test cases, test plan. Необхідність та застосування
5. Development pactices and culture
- Огляд ХР практик. Доцільність використання в залежності від типу та циклу продукту.
- Переваги застосування ХР практик. Аргументація застосування клієнту та команді технічних спеціалістів.
- Мотивація та розвиток команди шляхом впровадження XP
- Механізми впровадження TDD, pair programing etc.
- Рефакторінг як необхідна складова розробки. Планування, способи впровадження.
- Технічний борг та планування його ліквідації.
- Алгоритм продажу технічних інвестицій.
Тренер:
Матусевич Ірина - менеджер, консультант, розробник програмного забезпечення. Спеціаліст з досвідом більше 10 років у галузі розробки програмного забезпечення, з яких 8 років – бекенд розробка.
Має практичний досвід в проектуванні, реалізації та впровадження інженерних практик в аутсорс проектах та продуктового характеру.
Учасник класичних і розподілених команд розробки.
Технічний досвід:
Back-end & Fron-End розробка програмного забезпечення.
Проектування та розробка прототипу програмного забезпечення з подальшим впровадження в існуючі рішення. Адаптація застарілих програмних рішень під сучасні потреби клієнту. Побудова фреймворків тестування веб сервісів та функціонального тестування веб рішень (HTML,Flex). Допомагає набути необхідних технічних навичок для управлінців в сфері ІТ, для більш ефективної взаємодії з командою технічних спеціалістів та замовниками.
Вартість:
Early bird (до 01 червня) - 5800 грн.
Just in Time (до 30 червня) - 6500 грн.
Last Call (з 01 липня) - 7500 грн.