Part 1. Техническая часть        5

📌 BA        9

📌 QA (Quality Assurance)        10

📌 DEVOPS        12

📌 CI/DC        20

📌 GIT        22

📌 Hosting        23

📌 Порты        24

📌 Серверы        25

📌 Базы данных        28

📌 Postman        29

📌 Swagger        29

Архитектурные стили API        29

Part 2. Project Management: Theory        30

📌 PMBoK 7th Edition        30

📌 Agile        43

Основные модели разработки ПО        44

● Code and fix — модель кодирования и устранения ошибок;        44

● Waterfall Model — каскадная модель, или «водопад»;        44

● V-model — V-образная модель, разработка через тестирование;        44

● Incremental Model — инкрементная модель;        44

● Iterative Model — итеративная (или итерационная) модель;        44

● Spiral Model — спиральная модель;        44

● Chaos model — модель хаоса;        44

● Prototype Model — прототипная модель        44

Формулы для расчета показателей эффективности проекта в тройственном ограничении        50

📌 EMV        50

📌 EAD        50

📌 Каналы связи        50

📌 Риски: RAID-анализ        51

*Подготовка к PMP        51

Part 3. Блок 1. Кейсы и ситуативные вопросы        52

📌 Вопросы        52

📌 Top 7 Super Fast Cases Before the Interview        58

Part 3. Блок 2. Тестовые задания для РМ        59

Part 4. Понятийный уровень. Основы программирования        59

Part 5. Общие темы для “погуглить” самостоятельно        61

Part 6. Полезные ресурсы        64

📌 Курсы и статьи        64

📌 Кейсы для практики        64

📌 Книги        65

📌 Telegram-каналы по проектному менеджменту        66

📌 Подкасты        66

📌 Сертификация для проектных руководителей        67

Бесплатная сертификация для руководителей проектов        67

Для общего развития, на посмотреть | Курсы с бесплатными сертификатами        67

Платная сертификация для руководителей проектов        67

Part 7. Основы Блокчейн        68

● ASIC – Интегральная схема, разработанная специально для выполнения определённой задачи, в данном случае для майнинга, с чем справляется гораздо более эффективно, чем GPU или FPGA        69

Part 8. Основы AI        70

Part 9. Основы WEB & Digital        72

Part 10. Инструменты для IT Project Manager        74

📌 Поиск вакансий        75

Part 11. Интервью на позицию IT Project Manager        77

📌 Вопросы на позицию Руководителя IT проектов        79

📌 Сервис для тренировки ответов на интервью на английском для Project Manager: Interview Warmup - Grow with Google        80

Как менеджеру пройти техническое собеседование: 37 часто задаваемых вопросов        80

📌 12 главных пунктов, по которым задают вопросы на техническом собеседовании        80

📌 Жизненный цикл продукта        81

📌 Методологии        81

📌 Бизнес-анализ        82

📌 Техническая документация        82

📌 Инструменты проекта        83

📌 Архитектура        83

📌 Клиент-сервер        85

📌 REST        85

📌 Фреймворки и библиотека        86

📌 Кросс-платформа        87

📌 Тестирование        88

Part 12. Interview Tips to Get a Job Offer        89

📌 Карьерная консультация        90

📌 Советы перед встречей с экспертом        90

📌 Общие советы перед собеседованием        92

📌 Что хочет видеть работодатель//нанимающий менеджер в кандидате.
Мотив:        92

📌 Фразы которые помогут очеловечить вашу речь, разбавить диалог и придать переговорам расслабленный формат        93

📌Рефлексия/Выводы/Инсайты:        93

📌Задания        94

📌 Для резюме        94

📌 Сервисы для создания Резюме (AI)        95

Вебинар: 5 секретов поиска работы внутри страны и за рубежом        95

Вопросы для компании        102

📌 Ожидания от кандидата        103

📌 Прочее        103

📌 О проекте        103

📌 О позиции        103

📌 О команде        103

Part 13. Карта компетенций IT Project Manager        104

Part 14. Траектории развития в смежные области для PM        106

Руководство для IT Project Manager

Привет, дорогой друг, читатель и начинающий IT Проджект Менеджер!

Этот документ уже помог большому количеству PM начать свой путь в IT. Надеюсь, что и для тебя найдется полезная информация здесь. Я бы назвала этот документ – выжимкой всех главных материалов по теме Проектного Менеджмента.

Удачи в изучении новой и интересной специальности PM в IT!

Советы и напутствия к собеседованию:

  • Давай четкие ответы, подготовленные заранее. Отвечай без сомнений (даже, если не уверен – старайся придумать вариант ответа и представить свою логику рассуждений)
  • Отвечай структурировано и логично (техника STAR (situation, target, action, result) может помочь)
  • Подавай себя уверенно, следи за речью: подготовленная, живая (не монотонная). Проявляй заинтересованность в диалоге, не утомляй длинными историями не по теме
  • Отвечай на вопрос, который задают. Приводи интересные примеры из практики и сложные кейсы в своей работе. Демонстрирую свой уровень профессионализма
  • Отвечать с позитивным настроем
  • Перед интервью - несколько раз просмотри свое резюме, подготовь самопрезентацию, проговори ее до начала интервью 2 раза

Что можно сделать для подготовки перед интервью:

  • Чтение статей по типу: «Как пройти собеседование»
  • Повторить основные термины по сфере
  • Посмотреть видео прохождения интервью – насмотренность на примерах
  • Кейсы и их решения
  • Практика ответов на вопросы и проработка самопрезентации

Контакты автора Руководства по всем вопросам:

LinkedIn: https://www.linkedin.com/in/nadia-firsova/ 

 TG: https://t.me/nadia_firsova   

 TG канал: https://t.me/pro_pm 

Желающим донатить: https://www.donationalerts.com/r/nadiafirsova 

Part 1. Техническая часть

📌Ссылка на Техническую Базу Знаний: Developer Roadmaps 

В чем отличие backend от frontend?

Frontend включает в себя все, что видят пользователи: цвета, шрифты, изображения, графики, таблицы и кнопки. Frontend-разработчики реализуют удобный для пользователей интерфейс с помощью кода. Также они отвечают за адаптивность сайтов и веб-сервисов, которые должны правильно отображаться на экранах всех размеров.

Статья: https://telegra.ph/Frontend-i-Backend-razrabotka-v-chem-raznica-05-16 

Frontend-язык: только 1 - JavaScript

HTML – это стандартизированный язык гипертекстовой разметки документов для просмотра веб-страниц в браузере; CSS (каскадные таблица стилей).

Backend хранит и упорядочивает данные, а также следит за тем, чтобы на стороне клиента все работало хорошо. Backend скрыт от глаз пользователей.

Backend-языки: Ruby, PHP, Python, Java, Node.js, C#, Go, Visual Basic.


Чем языки программирования отличаются друг от друга?

У языков программирования тоже есть своды правил — спецификации. В них определены стандарты синтаксиса и семантики, т.е. комбинаций символов и их значений. Для самих символов тоже есть правила — стандарты кодирования.

В зависимости от тех или иных свойств или функций ЯП делят на разные группы.

Например, по типам выполняемых задач или по принципу организации.

Каждый из языков подходит под определенную область:

  • веб-разработка — PHP, JavaScript, Python, Ruby и др.
  • мобильные приложения — Swift, Objective-C, Java, и т.д.

Их применяют для достижения разных целей, у них разная степень сложности. Например, синтаксис JavaScript на порядок сложнее синтаксиса Python.

Есть три типа языков:

  • языки программирования ( C++, Visual Basic, Java, C#)
  • языки разметки (HTML, XML, CSS) (назначение — представление данных)
  • скриптовые языки (JavaScript, PHP, Python) (используются в качестве посредников между программами при генерации данных)

Все они обладают своим собственным функционалом, не сходным с другими.

В чем разница между статической и динамической типизацией?

Статическая типизация означает проверку типов перед запуском программы, динамическая — проверку типов, когда программа запущена.

Связь между backend и frontend частями в разработке происходит следующим образом:

1. Frontend отправляет пользовательскую информацию в Backend.

2. В Backend информация обрабатывается

3. После обработки данные возвращаются и принимают понятный для пользователя внешний вид.
*Полезное видео: Backend web development - a complete overview 

Что такое стек?

Это набор инструментов, которые команда применяет при работе в проектах.

Он включает в себя языки программирования, фреймворки, системы управления базами данных, компиляторы и другие инструменты.

 

Дженерик (обобщенное программирование) – парадигма программирования, заключающаяся в таком описании данных и алгоритмов, которое можно применять к различным типам данных, не меняя само это описание.

SOAP и REST

SOAP и REST — это два стиля API, которые подходят к вопросу передачи данных с другой точки зрения.

SOAP — это стандартизированный протокол, который отправляет сообщения с использованием других протоколов, таких как HTTP и SMTP.

SOAP и REST позволяют создавать собственный API.

API означает интерфейс прикладного программирования. Это позволяет передавать данные из приложения в другие приложения. API получает запросы и отправляет ответы через интернет-протоколы, такие как HTTP, SMTP и другие. Многие популярные веб-сайты предоставляют общедоступные API-интерфейсы для своих пользователей, например, Google Maps имеет общедоступный REST API, который позволяет настраивать Google Maps с вашим собственным контентом. Есть также много API, которые были созданы компаниями для внутреннего использования.

Спецификации SOAP являются официальными веб-стандартами.

В отличие от SOAP, REST — это не протокол, а архитектурный стиль. Архитектура REST устанавливает набор рекомендаций, которым необходимо следовать, если вы хотите предоставить веб-службу RESTful, например, существование без сохранения состояния и использование кодов состояния HTTP.

Поскольку SOAP является официальным протоколом, он поставляется со строгими правилами и расширенными функциями безопасности, такими как встроенная совместимость с ACID и авторизация. Более высокая сложность требует большей пропускной способности и ресурсов, что может привести к снижению времени загрузки страницы. REST был создан для решения проблем SOAP. Поэтому у него более гибкая архитектура.

Он состоит только из простых рекомендаций и позволяет разработчикам реализовывать рекомендации по-своему. Он допускает различные форматы сообщений, такие как HTML, JSON, XML и простой текст, в то время как SOAP допускает только XML. REST также является более легкой архитектурой, поэтому веб-сервисы RESTful имеют более высокую производительность. Из-за этого он стал невероятно популярным в эпоху мобильных устройств, где даже несколько секунд имеют большое значение (как по времени загрузки страницы, так и по доходам).

Методы HTTP-запроса

Запросы: https://devanych.ru/technologies/metody-http-zaprosa 

GET - запрашивает содержимое конкретного ресурса, получает данные и никак не должен изменять эти данные.

OPTIONS - определяет возможности и используемые методы веб-сервера. В ответном сообщении должен быть добавлен заголовок Allow с перечислением всех поддерживаемых сервером методов.

HEAD - похож на GET, но не возвращает тело ответа, а только стартовую строку и заголовки. Используется для получения метаданных, а также проверки и валидации ресурса.

POST - создает новый ресурс из переданных данных в запросе.

PUT - изменяет содержимое запроса по-указанному URI.

PATCH - похож на PUT, но применяется только к фрагменту ресурса.

DELETE - удаляет конкретный ресурс по-указанному URI.

TRACE- возвращает служебную отладочную информацию о том, какие данные добавляют или изменяют прокси-серверы в запросе.

CONNECT - запускает двустороннюю связь с запрошенным ресурсом. Метод обычно используется для открытия прозрачного TCP/IP-туннеля.

  • безопасные (GET, HEAD, OPTIONS) — не изменяют данные, их можно выполнять в любой последовательности;
  • идемпотентные (GET, HEAD, PUT, DELETE, OPTIONS, TRACE) — при повторном выполнении результаты будут ожидаемо одинаковыми;
  • не идемпотентные (POST, PATCH) — при повторном выполнении результаты будут разными, если, например, отправить POST-запрос на создание элемента несколько раз подряд, то он может создать несколько элементов с одинаковыми данными.

JSON & XML

Для передачи информации как в интеграции, так и для сайтов используются определённые форматы данных. JSON и XML используются для получения и отправки данных с веб-сервера.

JSON (JavaScript Object Notation) — простой формат обмена данными, основанный на языке программирования JavaScript. Использует человеко-читаемый текст для передачи объектов данных.

JSON использует читаемый текст для хранения и передачи данных, содержащих массивы и значения пар атрибутов. Текст JSON можно легко преобразовать в объект JavaScript внутри JSON, а затем отправить на сервер. Он основан на JavaScript и эффективно используется с множеством языков программирования.

XML — это обширный язык разметки, созданный для переноса данных. Он определяет некоторый стандартный набор правил для кодирования файлов в читаемом формате. Цель разработки этого XML — сосредоточиться на простоте и удобстве использования в Интернете.

Socket - это действительно программный интерфейс. Это абстрактное понятие, которое, в большинстве случаев, используется для коммуникации программ в сети.

Socket = IP+порт

WebSocket - это протокол обмена данными (как, например, http, ftp, ssl и т.д.). Этот протокол идет поверх (передается посредством) протокола TCP.

При работе по протоколу WebSocket вы будете использовать обычные сокеты для соединения. Так же как и при работе с другими протоколами будут использованы сокеты (и для работы с http, с ftp и др.).

Протокол WebSocket создавался для того, чтобы можно было поддерживать длительные неразрывные соединения между браузером (который является клиентом) и веб-сайтом (который является сервером).

WebSocket — это двунаправленный протокол связи между клиентом (браузером) и сервером, позволяющий обмениваться сообщениями в режиме реального времени

Он устанавливает одно соединение и передает ответ на единственный запрос в тот момент, когда ответ появился — без дополнительных запросов, как у HTTP-протокола. Запросы и ответы приходят без задержек и сетевой нагрузки.

Подходит для маркетплейсов, бирж, игровых приложений, чатов, соцсетей, интернета вещей, push-уведомлений.

AJAX - Ajax использует протокол HTTP и может отправлять запросы с использованием методов POST / GET от клиента к серверу. В Ajax при отправке запроса сервер отправляет ответ для этого запроса, а соединение заканчивается.

AJAX - запрос → ответ. Создает соединение с сервером, посылает заголовки запроса с некоторыми данными, получает ответ с сервера, закрывает соединение. Запросы отправляются часто. Поддерживается во всех основных браузерах

Как плюс: просто реализовать, данные можно сжать.

Как минус: слишком много ненужных запросов. А также большие задержки между созданием и получением данных. Сервер отсылает данные не тогда, когда они появились, а когда прилетит новый запрос.

Long poll - запрос → ожидание → ответ. Создает соединение с сервером, как AJAX, но оставляет соединение открытым некоторое время (не сильно большое). Сервер НЕ реагирует на запрошенную информацию и ждет, пока не появится новой информации. Пока соединение открыто - клиент ждет данные с сервера. Как только что-то новое появилось у сервера - он отсылает ее клиенту. Клиент получив новую информацию или если истекло время ожидания НЕМЕДЛЕННО отсылает другой запрос серверу, запуская процесс ожидания на нем снова. Как правило, соединение обычно переустанавливают раз в 20-30 секунд, чтобы избежать возможных проблем, например с HTTP-прокси. Поддерживается во всех основных браузерах.

Как плюс: малое количество запросов (по сравнению с обычным AJAX)

Сервером называют компьютер, который предоставляет какой-то сервис (или несколько сервисов) в частной сети или интернете. Другие устройства — их ещё называют клиентами — могут подключаться к серверу через разные порты, чтобы получить этот сервис. Серверы обычно называют по имени сервиса, который они предоставляют. Например, если сервер принимает запросы через 80-й порт и отдает клиентам веб-страницы, такой сервер обычно называют веб-сервером. Также существуют файловые серверы, почтовые серверы, серверы аутентификации, серверы баз данных, серверы приложений и тому подобные.

Клиент — это устройство, которое подключается к серверам, чтобы пользоваться их сервисами или ресурсами. Клиентом может быть компьютер, веб-сайт, ПО или встроенная система. Например, когда вы заходите на веб-сайт, ваш браузер становится клиентом. По аналогии с именованием серверов, клиенты тоже называются в зависимости от сервиса, которым они пользуются: бывают email-клиенты, веб-клиенты, клиенты баз данных или клиенты онлайн-чатов.

Монолитная клиент-серверная архитектура не лишена недостатков. Сбои в монолитных системах влияют на всю систему, а сопровождать их довольно сложно. При микросервисном подходе разработчики разбивают большую монолитную систему на небольшие сервисы — микросервисы. Так называют слабосвязанный изолированный сервис, отвечающий за какой-то процесс.

База данных — это компонент, в котором хранятся сведения различных типов. Есть разные типы баз данных: SQL, облачные, «ключ — значение» (key-value), графовые и иерархические (documented). Серверы баз данных позволяют клиентам взаимодействовать с базами данных по специальным протоколам.

📌 BA

Бизнес-аналитик - собирает и структурирует требования к продукту, делая их понятными для всех участников проекта.

!!! В чем разница между системным аналитиком, бизнес аналитиком и Data Analyst?

Системный аналитик работает с требованиями к программному обеспечению (ПО), автоматизированной или информационной системе, тогда как бизнес-аналитик не ограничивается только этими корпоративными активами, а обеспечивает возможность проведения изменений в организации, которые принесут пользу заинтересованным сторонам (стейкхолдерам) через выявление их потребностей и обоснование оптимальных решений.

Если же необходимо проанализировать так называемые «сырые данные» из разных источников и представленные в разных форматах, то Data Analyst выполняет целый комплекс специальных операций

  • сбор данных;
  • подготовка данных к анализу (выборка, очистка, сортировка);
  • поиск закономерностей в информационных наборах;
  • визуализация данных для быстрого понимания имеющихся результатов и будущих тенденций;
  • формулирование гипотез по улучшению конкретных бизнес-метрик за счет изменения других показателей.

Иногда аналитик больших данных (Big Data) также занимается разработкой и тестированием моделей машинного обучения (Machine Learning). Однако, в большинстве случаев, Machine Learning является областью ответственности другого Big Data специалиста – исследователя или ученого по данным (Data Scientist)

Тест-кейс — это такое описание проверки работы системы, которое может выполнить любой человек из команды, будь то тестировщик, разработчик, аналитик или даже бизнес-заказчик.

Тестировщик создает тест-кейс, чтобы проверить, работает ли определенная фича должным образом, и чтобы подтвердить, что функционал, UI/UX и другие параметры системы удовлетворяют всем соответствующим стандартам, руководствам и требованиям клиентов

В чем связь бизнес аналитика и QA?

Бизнес аналитик подготавливает требования, которые должны быть у системы, программы, проекта. QA, в свою очередь, проверяет, что работа функционала соответствует условиям, которые написаны в требования.

📌 QA (Quality Assurance)

Выделяют 4 основных уровня тестирования:

  • Компонентное/модульное тестирование (Component/Unit Testing)
  • Интеграционное тестирование (Integration Testing)
  • Системное тестирование (System Testing)
  • Приемочное тестирование (Acceptance Testing)

Пирамида Тестирования

Дымовые тесты (Smoke Tests): выполняются каждый раз, когда мы получаем новый билд (версию), проекта (системы) на тестирование, при этом считая её относительно нестабильной. Нам нужно убедиться что критически важные функции AUT (Application Under Test) работают согласно ожиданиям. Идея данного вида тестирования заключается в том, чтобы выявить серьезные проблемы как можно раньше, и отклонить этот билд (вернуть на доработку) на раннем этапе тестирования, чтобы не углубляться в долгие и сложные тесты, не затрачивая тем самым время на заведомо бракованное ПО.

Санитарное тестирование: используется каждый раз, когда мы получаем относительно стабильный билд ПО, чтобы определить работоспособность в деталях. Иными словами, здесь проходит валидация того, что важные части функциональности системы работают согласно требованиям на низком уровне.

Ре-тест: проводится в случае, если фича/функциональность уже имела дефекты, и эти дефекты были недавно исправлены

Регрессионные тесты: собственно то, что занимает львиную долю времени и для чего существует автоматизация тестирования. Проводится регрессионное тестирование AUT тогда, когда нужно убедиться что новые (добавленные) функции приложения / исправленные дефекты не оказали влияния на текущую, уже существующую функциональность, работавшую (и протестированную) ранее.

Юнит-тесты - это тесты белого ящика, которые проверяют отдельные части кода, такие как функции, методы и классы. Они должны быть написаны на том же языке, что и тестируемый продукт и храниться в том же репозитории. Они часто прогоняются как часть сборки, чтобы сразу же увидеть успешно ли завершается тест или нет.

Интеграционные тесты - это тесты черного ящика, которые проверяют, что интеграционные точки между компонентами продукта работают корректно. Тестируемый продукт должен быть в активной фазе и развернут на тестовом окружении. Тесты сервиса часто являются именно тестами интеграционного уровня.

End-to-end тесты - это тесты черного ящика, которые проверяют пути выполнения системы. Их можно рассматривать как многошаговые интеграционные тесты. Тесты для веб-интерфейса часто являются именно end-to-end тестами.

📌 DEVOPS

DevOps -  это подход, методология и даже культура и философия процесса разработки, при котором программисты, тестировщики и системные администраторы могут работать над продуктом быстрее и эффективнее.

Подход помогает снизить ошибки при передаче проекта от разработчиков к тестировщикам и сисадминам и наладить между ними взаимодействие.

В основе лежит идея, что разработка, тестирование и эксплуатация цифровых продуктов — это единый, бесшовный и циклический процесс.

Это набор практик, нацеленных на активное взаимодействие и интеграцию специалистов по разработке и эксплуатации.

Нацелена на то, чтобы помогать организациям быстрее создавать и обновлять программные продукты (популяризация термина DevOps в 2009 г.).

Ссылка на презентацию: http://samokhvalov.info/blog/pictures/DevOps%20%D0%BE%D1%82%20%D0%90%20%D0%B4%D0%BE%20%D0%AF.pdf  

chmod (от англ. change mode) — команда для изменения прав доступа к файлам и каталогам, используемая в Unix-подобных операционных системах

Архитектура веб-сервиса, которая позволит переключаться между версиями по распространенным схемам развертывания:

Обе схемы используют пару бэкендов: «синий» и «зеленый».

Сначала на одном из бэкендов (например, на «синем») размещается стабильная версия, доступная пользователям, а другой («зеленый») используется для тестирования следующей версии. Когда тестирование окончено, бэкенды меняются ролями:

  • При сине-зеленом развертывании весь пользовательский трафик одномоментно перераспределяется с одного бэкенда на другой. Сине-зеленое развертывание (blue-green deployment) — это метод внесения изменений в веб-сервер, приложение или сервер базы данных, путем замены чередующихся промышленных и промежуточных серверов.
  • При канареечном развертывании переключение происходит постепенно, начиная с части пользователей.

После этого основным становится «зеленый» бэкенд, а на «синем» бэкенде можно тестировать следующую версию сервиса. Также, пока на «синем» бэкенде остается предыдущая версия, на нее можно откатить сервис, снова поменяв бэкенды ролями.

Канареечный релиз (canary release) — это метод снижения риска внедрения новой версии в эксплуатацию путем предоставления изменения небольшому подмножеству пользователей с нарастанием до состояния, когда это изменение становится доступным для всех.

Балансировщик нагрузки (Load Balancer) — сервис, помогающий серверам эффективно перемещать данные, оптимизирующий использование ресурсов доставки приложений и предотвращающий перегрузки. Он управляет потоком информации между локальным или облачным хранилищем и конечным устройством — ПК, ноутбук, планшет или смартфон.

С помощью инструмента Docker девопс организует упаковку кода в контейнеры. Примерно как обычные грузовые контейнеры, которые благодаря стандартным габаритам укладываются, как конструктор, на палубе любого сухогруза. Только внутри виртуальных контейнеров — код, который «едет» на сервер, чтобы там исполняться. Девопс настраивает систему управления контейнерами — Swarm. Она следит за их состоянием, совместной работой, распределяет нагрузку.

Контейнеризация помогает:

  • увеличить скорость выкладки кода на сервер, так как контейнер при запуске уже готов к работе
  • быстро вернуться к предыдущей версии, если в новой обнаружились проблемы: закачиваем старые контейнеры — и снова все работает
  • В итоге программисты сосредоточены на своей главной задаче: пишут код. А девопс помогает пройти весь остальной путь: собирает проверенные коды в контейнер, отправляет его на сервер и добавляет к уже работающей программе

Преимущества DevOps:

  • увеличение скорости развертывания ПО
  • более частые релизы
  • ускорение бизнес-процессов в целом

  • Оркестрация - система, обеспечивающая управление контейнерами. Автоматическое размещение, координация и управление сложными компьютерными системами и службами. С ее помощью можно автоматизировать развертывание, масштабирование и корректировку работы соответствующих приложений. Стандартом в области современной оркестрации признан инструмент Kubernetes. Это продукт с открытым исходным кодом, совместимый с несколькими рабочими средами, в том числе и Docker.

Docker — это платформа контейнеризации и среда выполнения, а Kubernetes — платформа для запуска и управления контейнерами в нескольких контейнерных средах выполнения.

  • Контейнеризация - технология, которая помогает запускать приложения изолированно от основной операционной системы.
  • Виртуализация - запуск одной или нескольких систем в рамках другой операционной системы на одной вычислительной машине. Это способ, при котором виртуальная среда запускается прямо из ядра хостовой операционной системы. В данном случае изоляцию ОС и приложений поддерживает контейнер — программная единица. Технология открывает возможности более простого управления рабочими нагрузками, повышает производительность и доступность ресурсов.

Основное различие контейнеров и виртуальных машин заключается в том, что виртуальные машины виртуализируют весь компьютер вплоть до аппаратных уровней, а контейнеры — только программные уровни выше уровня операционной системы.

  • Контейнер представляет собой исполняемый пакет программного обеспечения, способный работать вне хостинговой операционной системы

Окружения среды разработки:

  • Local - компьютер разработчика
  • Development - сервер разработки выступающий как песочница, где разработчик может выполнить unit-тестирование
  • Integration - основа для построения CI, или для тестирования сайд-эффектов разработчиком
  • Testing/Test/Internal Acceptance - окружение в котором выполняется тестирование интерфейса. Команда контроля качества проверяет что новый код не будет иметь влияния на существующую функциональность системы после деплоя нового кода в тестовое окружение.
  • Staging/Stage/Model/Pre-Production/Demo - зеркало прод окружения
  • Production/Live - серверы конечных пользователей/клиентов

Мерж реквест / Пул реквест - мерж-реквест или пулл-реквест создаётся в системе управления git-репозиториями. Это запрос на мерж одной ветки в другую, подобно задаче, назначаемый на какого-либо исполнителя. GitHub и Bitbucket используют термин «пулл-реквест», потому что первое необходимое действие — сделать пулл предлагаемой ветки.

Деплой - это развертывание/помещение исполняемого кода на сервер, где он будет работать.

Deploy - это целый процесс действий, которые делают программный продукт готовым к использованию:

  • выпуск;
  • установка;
  • активация;
  • адаптация;
  • обновление;
  • исправление ошибок и другие.

Docker — больше, чем сами контейнеры. Это обширный набор инструментов для разработчиков, позволяющий создавать, публиковать, запускать и управлять контейнерными приложениями. Это платформа, которая позволяет упаковать в контейнер приложение со всем окружением и зависимостями, а затем доставить и запустить его в целевой системе.

Создание образов - docker Build создает базовый образ контейнера, который включает все необходимое для запуска приложения — его код, двоичные файлы, сценарии, зависимости, конфигурацию, переменные среды и другое. Для определения и запуска много контейнерных приложений применяется инструмент docker compose.

Docker daemon - сервис, через который осуществляется взаимодействие с контейнерами

Docker client - интерфейс командной строки управления Docker daemon

Docker image - файл (образ), из которого разворачиваются контейнеры

Docker container - развернутое из образа приложение

Docker registry - репо с докер образами

Docker file - инструкция для сборки образа

Kubernetes (K8s) — портативная платформа оркестрации контейнеров с открытым исходным кодом. Этот инструмент используется для автоматизации развертывания контейнерных приложений на разных хостах, а также планового масштабирования и управления ими.

Для чего нужен Kubernetes

  • Управление контейнерами на нескольких хостах одновременно.
  • Оптимизация ресурсов используемого оборудования.
  • Автоматическое развертывание и обновления приложений.
  • Подключение и добавление хранилищ для запуска приложений с отслеживанием состояния.
  • Масштабирование контейнерных приложений и их ресурсов на лету.
  • Декларативное управление службами, что гарантирует полный контроль над развернутыми приложениями.
  • Автоматический контроль работоспособность и восстановление приложений с помощью функций автозапуска, автозамены, авторепликации и автомасштабирования.

Виртуальная машина — это полноценная операционная система внутри другой ОС, с собственным ядром и другими изолированными ресурсами. Контейнер — не готовый «компьютер», а лишь изолированный механизм для запуска одного приложения.

В отличие от аппаратной виртуализации, контейнеризация обеспечивает разделение ресурсов не на аппаратном уровне, а на базе ядра операционной системы. Контейнеры более легковесны, менее требовательны и полностью зависимы от «материнской» ОС, чем VM.

Контейнер приложения — экземпляр исполняемого программного обеспечения (ПО), который объединяет двоичный код приложения вместе со всеми связанными файлами конфигурации, библиотеками, зависимостями и средой выполнения.

Смысл и главное преимущество технологии в том, что контейнер абстрагирует приложение от операционной системы хоста, то есть остается автономным, благодаря чему становится легко переносимым — способным работать на любой платформе

Зачем нужна контейнеризация

  • Контейнеры решают критически важную проблему переносимости кода. Они сводят на нет возможные противоречия между собственной локальной средой разработки и производственной средой приложения.
  • Упаковка в контейнеры позволяя отделить код от базовой инфраструктуры, в которой он работает. В производственной среде этот контейнер можно запускать на любом компьютере, на котором есть платформа контейнеризации. В продакшене код будет работать также хорошо, как и на машине программиста.

Преимущества контейнеризации

  • Контейнеризация стала ключевым техническим компонентом для обеспечения непрерывного развертывания и уменьшения жизненного цикла инновации продукта. Благодаря тому, что предприятия разбивают монолитную архитектуру своих производств на гибкие контейнерные микросервисы, время вывода на рынок начинает отсчитываться не в месяцах, а в днях.
  • Упрощение конфигурирования приложений. Стандартный контейнер Docker универсален. Упакованное в него приложение может работать без дополнительных настроек где угодно — на персональном компьютере (ПК, Mac, Linux), в облаке, на локальных серверах и даже на пограничных устройствах.
  • Контейнерная технология крайне эффективна как средство повышения эффективности разработки. Небольшие группы могут разрабатывать и упаковывать свои приложения на локальных устройствах (например, ноутбуках), а затем развертывать его в практически любой тестовой или производственной среде. Время и усилия, сэкономленные при тестировании и развертывании, кардинально меняют правила игры во всем процессе автоматизации производства.
  • Контейнеры легко воспроизвести, поэтому их удобно использовать для автоматического масштабирования приложений.

Что такое inode в Linux?

Индексный дескриптор в файловой системе, который хранит метаданные о файлах, за исключением имени файла. В дескрипторе хранится: длина файла в байтах, id устройства с файлом, id пользователя владельца файла, id группы файла, режим файла (права доступа), timestamp последнего изменения файла, счётчик хардлинков, указатели на блоки файла.

Что такое POSIX?

Набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой (системный API), библиотеку языка C и набор приложений и их интерфейсов. Создан для совместимости различных Unix-подобных дистрибутивов.

📌 CI/DC

Как выполняется настройка CI/СD, процесс: Настройка GitLab CI/CD - Losst

Continuous Integration, Continuous Delivery — непрерывная интеграция и доставка — это технология автоматизации тестирования и доставки новых модулей разрабатываемого проекта заинтересованным сторонам (разработчики, аналитики, инженеры качества, конечные пользователи).

Pipeline - организованный процесс миграции кода из репозитория до конечного сервера через ci/cd.

Процесс пуша кода по средам разработки: build  test staging  prod

Разница между Continuous Delivery и Continuous Deployment


Этапы CI/CD

Написание кода. Каждый из разработчиков пишет код своего модуля, проводит ручное тестирование, а затем соединяет результат работы с текущей версией проекта в основной ветке. Для контроля версий используется система Git, либо аналогичные решения. Когда участники команды опубликуют код своих модулей в основной ветке, начнется следующий этап.

Сборка. Система контроля версий запускает автоматическую сборку и тестирование проекта. Триггеры для начала сборки настраиваются командой индивидуально — фиксация изменений в основной ветке проекта, сборка по расписанию, по запросу и т.д. Для автоматизации сборки используется Jenkins, либо аналогичный продукт.

Ручное тестирование. Когда CI система успешно проверила работоспособность тестовой версии, то код отправляется тестировщикам для ручного обследования. При этом тестовая сборка получает номер кандидата для дальнейшего релиза продукта (например, v.1.0.0-1).

Релиз. По итогам ручного тестирования сборка получает исправления, а итоговый номер версии кандидата повышается (например, после первого исправления версия v.1.0.0-1 становится v.1.0.0-2).

Развертывание. На этом этапе рабочая версия продукта для клиентов автоматически публикуется на production серверах разработчика. После этого клиент может взаимодействовать с программой и ознакомиться с ее функционалом

Поддержка и мониторинг. Конечные пользователи начинают работать с продуктом. Команда разработки поддерживает его и анализирует пользовательский опыт.

Инструменты для CI/CD

GitLab: среда позволяет управлять репозиториями проекта, документировать функциональность и результаты доработок и тестов, а также отслеживать ошибки и работать с CI/CD pipeline.

Docker: система автоматического развертывания проектов. Поддерживает контейнеризацию и позволяет упаковать проект вместе со всем окружением и зависимостями в контейнер, который можно перенести на Linux-систему.

Circle-CI: продукт также использует бесшовную интеграцию с GitHub. Предлагается веб-интерфейс для отслеживания версий сборок и ведения задач. Также решение поддерживает отправку оповещений по почте, slack.

Jenkins: довольно популярный инструмент в DevOps среде. Заслужил свою репутацию благодаря работе с различными плагинами, позволяющими гибко настраивать CI/CD процессы под требования разработки конкретного продукта. Jenkins система с открытым исходным кодом, то есть продукт доступен для просмотра, изучения и изменения, создан на  Java. Дженкинс позволяет автоматизировать часть процесса разработки программного обеспечения, без участия человека. Данная система предназначена для обеспечения процесса непрерывной интеграции программного обеспечения. Jenkins является бесплатным инструментом, обладающим огромными возможностями в виде тысяч плагинов, которые постоянно добавляются и обновляются.

Преимущества Jenkins:

-режим работы сразу в двух и более средах;

-повышенная надежность развертываемого программного обеспечения;

-уменьшение ошибок, связанных с человеческим фактором;

-уменьшение затрат на персонал.

-упрощение рабочего процесса (нет необходимости нанимать дорогостоящую команду опытных специалистов)

Непрерывная интеграция (Continuous Integration, CI) это процесс разработки программного обеспечения, смысл которого заключается в постоянном соединении рабочих копий в общую линию разработки, и выполнении постоянных автоматизированных сборок проекта для быстрого выявления возможных ошибок и решения интеграционных проблем.

📌 GIT

Что такое система контроля версий?

Это сервис или программа, в которой хранятся данные о продукте, чтобы в любой момент можно было вернуться к любому этапу его создания. Самый известный сервис для этого — Git.

Каждый раз, когда вы делаете коммит, то есть сохраняете состояние своего проекта в Git, система запоминает, как выглядит каждый файл в этот момент, и сохраняет ссылку на этот снимок. Для увеличения эффективности, если файлы не были изменены, Git не запоминает эти файлы вновь, а только создает ссылку на предыдущую версию идентичного файла, который уже сохранен. Git представляет свои данные как, скажем, поток снимков.

Код-ревью — это процесс проверки кода, который позволяет: выявить → ошибки, пропуски, уязвимости и стилистические недочеты (с точки зрения проекта или принятых в команде правил).

Основные команды Git:

  • push
  • pull
  • merge
  • rebase
  • fetch

Git pull отличается от git fetch 

git pull — это шоткод для последовательности двух команд: git fetch (получение изменений с сервера) и git merge (сливание в локальную копию).

При использовании fetch, git собирает все коммиты из целевой ветки, которых нет в текущей ветке, и сохраняет их в локальном репозитории. Однако он не сливает их в текущую ветку. Это особенно полезно, если вам нужно постоянно обновлять свой репозиторий, но вы работаете над функциональностью, неправильная реализация которой может негативно сказаться на проекте в целом. Чтобы слить коммиты в основную ветвь, нужно использовать merge.

Ссылка на README GIT, консольные команды:

GitHub - cyberspacedk/Git-commands: Шпаргалка по консольным командам Git

Git Flow - альтернативная модель ветвления Git, в которой используются функциональные ветки и несколько основных веток. Эта модель была впервые опубликована и популяризована Винсентом Дриссеном. В Git-flow используется больше веток, каждая из которых существует дольше, а коммиты обычно крупнее.

В соответствии с этой моделью разработчики создают функциональную ветку и откладывают ее слияние с главной магистральной веткой до завершения работы над функцией. Такие долгосрочные функциональные ветки требуют тесного взаимодействия разработчиков при слиянии и создают повышенный риск отклонения от магистральной ветки. В них также могут присутствовать конфликтующие обновления.

Последовательность действий при работе по модели Gitflow:

  • Из ветки main создается ветки develop, release
  • Из ветки develop создаются ветки feature
  • Когда работа над ветками feature и release  завершается, они сливается в ветку develop
  • Если в ветке main обнаруживается проблема, из main создается ветка hotfix
  • Когда работа над веткой hotfix завершается, она сливается с ветками develop и main

📌 Hosting

Виртуальный хостинг (Shared) - сервер, на котором расположено множество сайтов. Они используют одинаковое программное обеспечение и имеют равные возможности. На одном сервере может находиться около тысячи сайтов. Как правило, на таком хостинге располагают небольшие веб-ресурсы, не требующие больших мощностей и дискового пространства. Благодаря своей низкой стоимости и отсутствию необходимости в администрировании сервера, виртуальный хостинг — самый распространенный выбор среди пользователей.

Виртуальный выделенные сервер (VPS-сервер)

VPS отличается от виртуального хостинга тем, что владелец такого сервера может  устанавливать и настраивать любое программное обеспечение. По сути, управление VPS-сервером не отличается от управления физическим сервером. Сайту на VPS  выделены определенные ресурсы в соответствии с тарифом.

Выделенные физический сервер (Dedicated)

Пользователю дается отдельный сервер в дата-центре под самостоятельное управление с возможностью устанавливать любую операционную систему, менять программное обеспечение под свои нужды. Такой хостинг используется для масштабных ресурсоемких проектов с высокими требованиями и хорошо подойдет для крупных интернет-магазинов с высокой посещаемостью или, например, онлайн-игр.

Облачный хостинг (Cloud hosting)

Облачный хостинг — объединённая система серверов, на которых располагаются клиентские сайты. Таким образом, выделяемые для клиента мощности не ограничиваются одним сервером, а распределяются сразу между несколькими серверами.  Это обеспечивает бесперебойную работу ресурса вне зависимости от выхода из строя какого-то одного сервера. Кроме повышенной производительности, облачный хостинг привлекает клиентов и другими преимуществами. Во-первых, пользователь платит только за те ресурсы, которые использовал — цена услуги зависит от объемов потребления мощностей. Во-вторых, на облачном хостинге при изменении нагрузки выделенные ресурсы увеличиваются или уменьшаются автоматически.

Colocation — размещение оборудования клиента в дата-центре провайдера

Colocation буквально переводится как «соразмещение», что точно описывает этот вид хостинг-услуг. Ваш сервер располагается на технологической площадке провайдера (дата-центре), который обеспечивает его высокоскоростным интернет-каналом и заботится о прочих необходимых условиях содержания.

📌 Порты

В компьютерах есть два вида портов — физические и программные (или сетевые):

Физический порт — это разъем на компьютере, с помощью которого можно подключить флешку, сетевой кабель, принтер, наушники и так далее. Физический порт обменивается электричеством с устройством, который вставлен в этот порт.

Сетевой порт — то число, которое записывается в заголовках протоколов транспортного уровня сетевой модели OSI. Оно используется для определения программы или процесса-получателя пакета в пределах одного IP-адреса.Порты позволяют определить сетевые приложения, работающие на компьютере, множество которых может быть запущено одновременно. Основными сетевыми программами могут быть:

  • WEB-сервер – предоставляет трансляцию данных с веб-сайтов;
  • Сервер почты – позволяет обмениваться электронными письмами;
  • FTP-сервер – обеспечивает передачу информации.

Порт отображается в виде 16 битного числа от 1 до 65535, которое доступно приложениям для того, чтобы обмениваться трафиком.

Для чего нужны порты?

Основным предназначением сетевых портов является прием и передача данных определенного вида, а также устранение ошибки неоднозначности при попытке установить связь с хостом по IP-адресу. Для обеспечения трансляции данных с веб-сервера необходимо указать IP адрес хоста и номер порта, определяющий программу веб-сервера.

Физические порты при подключении определяют, к какой программе относятся данные, которые получает сетевая плата. Например, для использования порта одновременно сетью и интернетом пользуются разные программы:

  • ОС запрашивает обновления безопасности на сервере;
  • браузер загружает страницу в соцсети;
  • различные мессенджеры отправляют и принимают сообщения;
  • фоном пользуетесь видеозвонком, который тоже отправляет видеоданные;
  • различные облачные диски синхронизируют данные.

Ссылка на статью: Что такое порты, какие бывают и зачем они нужны? — FenixHost на vc.ru 

📌 Серверы

Для чего нужны серверы?

Основное направление — поддержка интернет-ресурсов. Количество задач, возлагаемых на сервер велико. Вот несколько сценариев, в которых необходимы подобные устройства:

  • хостинг сайтов;
  • разработка веб-приложений;
  • платформа для приема и отправки электронных писем;
  • хранение файлов;
  • создание общего рабочего пространства для сотрудников одной фирмы;
  • создание шлюзов (proxy или VPN), заменяющих информацию о подключившемся компьютере на другую;
  • добыча криптовалюты

Подбор серверных систем происходит по сформулированным запросам заказчиков. Благодаря широкому ассортименту не просто с ходу подобрать подходящее устройство, чтобы оно удовлетворяло пожеланиям клиента и оперативно справлялось с поставленными задачами, поэтому ориентируются на:

  • мощность;
  • габариты;
  • надежность;
  • управляемость;
  • масштабируемость;
  • бюджет;
  • готовность к работе

Сервер базы данных

С данным типом устройств есть возможность обрабатывать данные, которые хранятся совместно, при этом по правилам структурированные и организованные. Самые популярные инструменты для управления базами данных:

  • MySql;
  • MS SQL Server;
  • Apache;
  • Oracle.
  • Эти средства нужны, если бизнес процессы организации требуют отдельный вычислительный ресурс, когда подготавливают и обрабатывают данные.

Серверная система будет с определенными параметрами, которые зависят от некоторых нюансов:

  • количество пользователей;
  • масштаб базы данных;
  • характер обращений;
  • динамика запросов.

Узел должен быть надежным и отказоустойчивым, чтобы доступность данных была на необходимом уровне.

Брандмауэры, файрволлы

Защитные системы, блокирующие отрицательное воздействие из интернета. Исходящие данные проходят без проблем. А обратная связь организована сложнее: полный анализ поступающего информационного потока. Сервер определяет опасные, вредоносные данные и извлекает их из общей информационной массы. Сегодня такие экраны отлично выполняют свои функции, защищают от атак, вирусов, которые так и норовят проникнуть из интернета и украсть информацию или все сломать.

📌 Базы данных

Ссылка на полезный ресурс: https://telegra.ph/Pochemu-SQL--ehto-must-have-dlya-menedzhera-v-IT-11-02

Система управления базами данных (СУБД) является субъектом управления и программой, а база данных объектом управления и собственно данными, которыми управляет СУБД.

*Кратко:

  • БД - это данные хранимые в структурированном виде. Обычно в виде набора файлов.
  • СУБД - это программа или библиотека, которая умеет с этими файлами работать.

Примеры NoSQL: Mongodb, Redis, Oracle Database, Firebird, Interbase, MS SQL Server,

📌 Postman

Postman — это HTTP-клиент для тестирования API. HTTP-клиенты тестируют отправку запросов с клиента на сервер и получение ответа от сервера. API (Application Programming Interface) — это интерфейс для обмена данными с сервера между двумя приложениями или компонентами ПО. Тестировщикам Postman помогает в проектировании дизайна API и создании mock-серверов (имитаторов работы приложения).

📌 Swagger

Swagger – это язык описания интерфейса для описания RESTful API, выраженных с помощью JSON. Swagger используется вместе с набором программных средств с открытым исходным кодом для проектирования, создания, документирования и использования веб-служб RESTful.

Архитектурные стили API

Part 2. Project Management: Theory

Methodologies, Time Management, Risk management, People Management

*Сборник примеров документации для работы PM: PM — Яндекс Диск (yandex.ru) 

📌 PMBoK 7th Edition

  • 5 этапов:
  • Инициация
  • Планирование
  • Исполнение
  • Контроль & Мониторинг
  • Завершение
  • 8 доменов:
  • Stakeholders
  • Team
  • Development Approach and Life Cycle
  • Planning
  • Project Work
  • Delivery
  • Measurement
  • Uncertainty
  • 10 областей знаний:
  • Integration Management
  • Scope Management
  • Time Management
  • Cost Management
  • Quality Management
  • People Management
  • Communication Management
  • Risk Management
  • Procurement Management
  • Stakeholder Management
  • 12 принципов:
  • Stewardship
  • Team
  • Stakeholders
  • Value
  • System Thinking
  • Leadership
  • Tailoring
  • Quality
  • Complexity
  • Risk
  • Adaptability and Resilience
  • Change

Basics:

Video about PM: Project Management Tutorial: 11 Years of Experience in 45 Minutes 

Заинтересованные стороны. Была область знаний, а стал домен. Ничего, по сути, не изменилось.

Команда. Раньше PMBOK Guide не различал людей и асфальтоукладчики. Теперь авторы увидели различие и выделили команду в отдельный домен. Это выделение напрашивалось давно уже. Так что здесь явное улучшение.

Неопределенность. Была область «управление рисками», а стал домен неопределенность. Яйца в профиль.

Поставка результатов. Были две области знаний «Содержание» и «Качество», зачем-то разделенные. Отчасти логика была, т.к. тема качества развивается в отдельных стандартах. Но с точки зрения практики отделение было нелогичным. Сейчас все стало на свои места – есть один домен, в котором нужно думать о продуктах и их качестве.

Жизненный цикл. Раньше эта тема отделялась от областей в красивую логику. Теперь это стало одним из доменов. Мне кажется, это менее удобным. Возможно, просто нужно привыкнуть. Радует, что тема жизненного цикла проработана глубже. Хотя ребята сами запутались и инкрементный подход проиллюстрировали неверно.

Планирование. Раньше был управленческий цикл из 5 шагов. Конечно, инициация и завершения были довольно куцыми, но вместе с ними последовательность была целостной, законченной. Теперь остались только три самых наполненных действиями шага – планирование, выполнение и мониторинг.

Выполнение. Был шаг управленческого цикла, теперь отдельный домен

Измерение прогресса. Был шаг управленческого цикла «мониторинг и контроль», теперь отдельный домен. Справедливости ради, стало больше четкости, т.к. речь идет только про метрики слежения за прогрессом.

PMBOK, как описано в Руководстве, распознает 49 процессов, которые делятся на пять основных групп процессов и десять областей знаний, типичных для большинства проектов

Что такое скрам?

Фреймворк для разработки проектов, который помогает командам правильно приоритизировать задачи и работу над продуктом. Его основа — итеративная разработка и получение регулярной обратной связи от заказчиков и пользователей. В 2002 году был создан Scrum Alliance во главе с Кеном Швабером и Джефом Сазерлендом. А в 2009 году Кен Швабер официально вышел из Scrum Alliance и основал собственную компанию – Scrum.org. Важным шагом на пути к популяризации Scrum стал выпуск Скрам Гайда в 2010 году, который с момента публикации прошел несколько редакций – 2011, 2013 и 2016 год.

Mind Map

Разница Scrum и Kanban

Разница: SLI SLA SLO

Разница понятий DOD и DOR

Методы приоритезации задач

  1. RICE (Reach — охват, Impact — влияние, Confidence — достоверность, Effort — усилия)
  2. ICE (Impact — влияние, Confidence — уверенность, Ease — легкость реализации)
  3. Value vs Effort («ценность против усилия»)
  4. Модель Кано
  5. Story mapping («карта историй»)
  6. MoSCoW
  7. Cost of delay («стоимость задержки»)
  8. Buy a feature («купи функцию»)
  9. WSJF (Weighted Shortest Job First, «сначала — более важная и короткая работа»)

Чем Scrum отличается от Waterfall? Какие ещё есть методологии и фреймворки, как их использовать?

По сути это Спиральный и Каскадный метод разработки.

Scrum относится к спиральному методу разработки, постоянно увеличивая ценность продукта из итерации в итерацию (спринт). Инкрементный подход, опираемся на полученные знания для планирования следующей итерации. Ценностью данного подхода является постоянное улучшение продукта, в условиях минимальной формализации и отсутствием фиксированных сроков.

Waterfall (Предиктивный ЖЦ) относится к каскадным методам разработки, иначе говоря продукт распиливается на определённые вехи, каждый кусок оценивается по объему работ и фиксируется сроками и критериями приемки, переход между вехами возможен только в случае полного достижения критериев предыдущей. На практике возврат к предыдущей вехе приминяется, при этом происходит переоценка проекта и отодвигание сроков (увеличение затрат).

В каких случаях проекта выбирать скрам, а в каких – ватерфол?

В первую очередь, нужно оценить проект по следующим параметрам:

  • Бюджет
  • Сроки
  • Объем и сложность
  • Ожидания заказчика
  • Тип проекта и индустрия
  • Команда
  • Организация
  • Заинтересованные стороны
  • Инструменты

Почему скрам НЕ работает на гос проектах?

  •  Scrum совершенно не подходит в случаях, если высока цена ошибки. То есть разработка отказоустойчивого железа или ПО не должна подразумевать, что его используют на самых критических важных объектах. Иначе говоря, Scrum не подходит для постройки ядерного реактора, дата-центра или самолета.
  •  Обязательно должна быть обратная связь, а заказчик обязан вовлекаться в процесс. Иначе говоря, заказчик должен быть заинтересованным, реагировать на результат или же принимать продукт. Это подходит для программ, сайтов.
  • При низкой квалификации команды, нехватке бюджета, ресурсов и так далее, система тоже не будет функционировать. Ведь Scrum-методология заточена на максимальную эффективность за короткое время, а не долговременную разработку.
  • Ограничения по части специализации используемых методов. Это следствие пункта 1: если нет возможности экспериментировать и проверять решения, то система будет неэффективной.
  • Ограничение по части общения между членами команды, бюрократизация процесса. Здесь все просто — система просто погрязнет в бумагах, согласованиях и так далее. То есть исчезнет сам смысл Scrum-методики.
  • Большое число исключений — следствие пунктов 2, 4 и 6. Если цена ошибки высока, а денег нет, при этом все этапы нужно согласовывать, тогда в методологии нет смысла.

Поэтому Scrum не подходит для государственных проектов и заказов, строительства, военных задач (кроме упомянутого в начале статьи тактического планирования и нанесения удара).

Что такое Agile? Какие у него принципы?

Это гибкий подход к управлению проектами. Работа разделена на множество

итераций, и на каждом этапе могут вноситься изменения.

📌 Agile

4 важных принципа: Manifesto for Agile Software Development 

1. Люди и взаимодействие важнее процессов и инструментов.

2. Работающий продукт важнее исчерпывающей документации.

3. Сотрудничество с заказчиком важнее согласования условий контракта.

4. Готовность к изменениям важнее следования первоначальному плану.

Что такое Scrum и какие есть там роли?

Scrum — это фреймворк гибкой разработки ПО, основанный на принципах Agile.

Scrum подходит для небольших команд!

Кроме разработчиков в scrum-команду входят: Product Owner: он общается с заказчиком и управляет бэклогом.
Scrum-мастер: он следит за соблюдением принципов Scrum и убирает препятствия для эффективной работы.

В проекте также участвуют пользователи, стейкхолдеры, и клиент, если это заказная разработка.

Что такое спринт? Из чего он состоит?

Это интервал в неделю или две, за который команда выполняет запланированный

объем работы. В каждом из них есть фазы дизайна, разработки, тестирования и демо фичи заказчику. В начале каждого спринта разработчики планируют задачи — новые, либо доработку старых.

Каждый день проходят 15-минутные собрания — члены команды обсуждают, что удалось сделать вчера, что нужно сделать сегодня и что может этому препятствовать. Спринт завершается ретроспективой — оценкой эффективности команды. Также в конце заказчики дают обратную связь по продукту, и если есть доработки, команда добавляет их в следующий спринт.

Что такое груминг бэклога?

Это встреча команды, на которой обсуждаются и оцениваются задачи на ближайшие несколько спринтов. Как правило, на 2-3 спринта вперед.

Что такое рабочий флоу (Work flow)?

Это последовательность рабочих операций. Включает в себя общие задачи команды, шаги по их реализации, коммуникацию со стейкхолдерами, инструменты, постановку целей и результаты работы.

Что такое kick-off?

Kick-off — это первая встреча тех, кто работает над проектом.

На внутреннем kick-off участники команды знакомятся с проектом и между собой.

Менеджер должен рассказать, как будет строиться работа и распределяться

обязанности.

Внешний kick-off — это первая встреча с клиентом. Он проходит после встречи с командой. На нем присутствуют менеджер по продажам, проджект с командой и заказчик. На нем заказчик знакомится с командой и узнает, как будет строиться работа. Также на внешнем kick-off оговаривают, насколько клиент планирует контролировать проект.

Основные модели разработки ПО

  • Code and fix — модель кодирования и устранения ошибок;

  • Waterfall Model — каскадная модель, или «водопад»;

  • V-model — V-образная модель, разработка через тестирование;

  • Incremental Model — инкрементная модель;

  • Iterative Model — итеративная (или итерационная) модель;

  • Spiral Model — спиральная модель;

  • Chaos model — модель хаоса;

  • Prototype Model — прототипная модель

Agile:

  • экстремальное программирование (Extreme Programming, XP);
  • бережливая разработка программного обеспечения (Lean);
  • фреймворк для управления проектами Scrum;
  • разработку, управляемую функциональностью (Feature-driven development, FDD);
  • разработку через тестирование (Test-driven development, TDD);
  • методологию «чистой комнаты» (Cleanroom Software Engineering);
  • итеративно-инкрементальный метод разработки (OpenUP);
  • методологию разработки Microsoft Solutions Framework (MSF);
  • метод разработки динамических систем (Dynamic Systems Development Method, DSDM);
  • метод управления разработкой Kanban

Ссылки:

Структура: Портфель, программа, подпрограмма, проекты

Пример WBS:

Пакет работ

Описание пакета работ является логическим продолжением структуры разбивки работ. В структуре разбивки работ (WBS) определяются и отображаются код WBS, название, даты, ответственность и ход выполнения пакетов работ.

Задача описания пакета работ - точно определить, какие меры должны быть приняты в ходе обработки пакета работ и каким должен быть конечный результат пакета работ.

Любая важная информация может быть определена как содержание описания пакета работ, например, оценка рисков, персонал и бюджетные ресурсы, материалы, оборудование, инфраструктура. Фактическое содержание описания пакета работ должно быть переопределено от проекта к проекту и зависит от некоторых существенных характеристик (размер, сложность, состав команды, опыт команды).

Процесс управления релизами

Чем Задача отличается от Фичи?
Фича
— это дополнительная функция или особенность продукта. Различают несколько видов:

- "базовая фича", которая является неотъемлемой частью продукта — например, возможность ответить на сообщение в мессенджере или поставить лайк в инстаграме;

- "киллер-фича" — это то чем мы значительно отличаемся от конкурентов;

- "вау-фича" - то, чего наш клиент не ждет, но такая функция может его покорить и сделать нашим клиентов навсегда.

Фича описывает сам функционал и как с ним будет взаимодействовать пользователь, какую ценность он получит.

Задача - про исполнение. Вы решили сделать определенную фичу, и в свою очередь вы уже описываете требования к реализации этой фичи для исполнителя, т.е исполнителю вы уже ставите задачу.

Стили лидерства

Traditional / Servant Leader

Стили руководства

Типология D.I.S.C

Impact Mapping

Это инструмент для декомпозиции цели развития продукта через призму влияния на ее достижение клиентов, инвесторов и других заинтересованных лиц.

  • Для формирования бэклога
  • Для определения рисков
  • Для выявления конфликтов интересов заинтересованных лиц
  • Для генерации гипотез по развитию продукта

WSJF — это система оценки задач по формуле: Cost of Delay / Job size. Cost of Delay считает деньги, которые бизнес потеряет, если задача не будет выполнена вовремя.

Приоритезация задач, когда вокруг все “сложно”.

Формулы для расчета показателей эффективности проекта в тройственном ограничении

📌 EMV

Для расчета риска, EMV (expected monetary value) = P*I

P - probability (вероятность возникновения риска);

I - impact (влияние риска)

📌 EAD

Оценка по трем точкам, EAD (estimated activity duration) = (P+4M+O)/6

SD= (P-O)/6
Range= EAD +/-SD*N

Оценка по среднему: (P+M+O)/3

Оценка прогресса по методу EVM

  • PV (по плану)
  • EV (по факту)
  • По деньгам (AC)

Отслеживание сроков:

SPI (сроки, индекс, %) = EV/PV

SPI (сроки, отклонения) = EV - PV

Отслеживание:

CPI (бюджет, индекс, %) = EV/АС

CPI (бюджет, отклонения) = EV - АС

📌 Каналы связи

Сколько каналов связи коммуникации у вас есть в команде:

N*(N-1)/2

Юнит-экономика и метрики

Юнит-экономика: простой способ оценить прибыль бизнеса и его потенциал. Разбор методики 

Как управлять релизом, как выбрать наиболее приоритетные фичи: RICE и ICE Scoring: простые техники приоритизации для продвинутых менеджеров продукта / Хабр 

  • RICE
  • ICE

Ссылка для расчетов: Hygger 

📌 Риски: RAID-анализ

RAID is a project planning technique for identifying key project Risks (R), Assumptions (A), Issues (I), and Dependencies (D). Project teams should complete an initial analysis at the beginning of the project and then monitor the issues

RAID analysis focuses on four key areas:

  • Risks – events that can have an adverse impact if they occur.
  • Assumptions – things you assume are in place which contribute to the success of the project.
  • Issues – current matters that need to be considered and addressed by the group.
  • Dependencies – other projects or triggers that your project depends on, or are a beneficiary of your project outcomes.

Подготовка к PMP

Тесты:

  1. Tons of Free PMP Practice Questions
  2. PMP® Exam Prep | Free PMP Practice Exam Questions | Simplilearn
  3. 200 Free PMP Exam Questions | No Signup Required
  4. Примеры вопросов PMP - CoderLessons.com
  5. Экзамен PMP: опыт и рекомендации
  6. Free PMP Practice Questions (oliverlehmann.com) 
  7. PMP Questions & Answers - YouTube
  8. https://www.eduhubspot.com/simulator/pmp/tests/introduction 
  9. Free PMP Practice Exam Questions - 120 Sample Test Questions (project-management-prepcast.com)

Part 3. Блок 1. Кейсы и ситуативные вопросы

  1. Top 57 Project Management Interview Questions And Answers 
  2. Top 65 Project Manager Interview Questions With Answers for 2023 
  3. Case Study: https://career.guru99.com/ 
  4. Мои Кейсы c разбором:
  1. Part I: CASE STUDY for IT PM (Part 1)
  2. Part II:CASE STUDY for IT PM (Part 2)

📌 Вопросы

  • Расскажи про самый сложный проект?
  • Ваши сильные/слабые стороны, как специалиста. Что вам помогает в работе? Чему еще планируете научиться? Где есть пробелы?
  • Есть ли какой-то план развития на ближайшие 3-5 лет? К чему стремитесь в карьерном плане?
  • Расскажи про самую большую команду?
  • Какими проектами ты управлял? Что делал в этих проектах?
  • Приходилось ли управлять другими менеджерами?
  • Какие курсы и тренинги проходили? Какие книги по управлению читали?
  • Опишите свой обычный рабочий день последние полгода.
  • Как вы улучшили процесс управления проектами на предыдущем рабочем месте?
  • Когда в последний раз вы делегировали обязанности не должным образом и каковы были последствия?

Как можно ускорить проект?

Ответы Junior:

  • Отказаться от бесполезных задач
  • Делать наиболее важные задачи в начале проекта
  • Пересмотреть подход к решению проблемы в проекте
  • Исключить задержки в коммуникациях
  • Увеличить объем ресурсов за счет сверхурочной оплачиваемой работы

*** Ответ на Middle/Senior будет подкреплен конкретикой, примерами и дополнительными деталями!

Как мотивировать свою команду разработки на проекте?

  • Интересные задачи, понятный и долгосрочный проект;
  • Комфортное рабочее место, высокотехнологичный инструментарий;
  • Компетентное руководство;
  • Корпоративное обучение, перенятие опыта, участие в конференциях, перспективы для развития;
  • Комфортная психологическая атмосфера, моральное удовлетворение от результатов работы;
  • Участие в принятии решений, признание личного вклада;
  • Соцпакет (оплачиваемые отпуска, больничные, ДМС);
  • Бесплатные обеды;
  • Бесплатный спортзал, интересные выездные корпоративы;
  • Возможность удаленной работы, гибкий график.
  • Прозрачный и понятный для всех подход,
  • Минимум бюрократии
  • Минимальная субъективность в оценках
  • Открытость, честность и результативность

*Live-собес с Иваном Дорониным: 🔴 Live-cобес: Project Manager 

Что делать, если вы не успеваете к срокам?

  • Можно попробовать сдвинуть сроки
  • Выкинуть часть функционала по согласованию с заказчиками
  • Привлечь людей с других проектов или фрилансеров (спорный кейс - исполнителей можно дополнять только в том случае, если он успеет быстро погрузиться и действительно принести вэлью проекту и помочь)

Дальше, обычно, ситуация конкретизируется, появляются дополнительные ограничения: «срок сдвигать нельзя», «есть очень важные фичи, а есть не очень» и т.п. Параллельно интересуется «как вы будете выкидывать фичи?», «будете предупреждать сразу или тянуть до последнего?» и т.п.

Что будете делать, если не успеваете протестировать?

-Надо посадить программистов тестировать - это подход из методологии Kanban. -Садиться и самому тестировать функционал.

-Поговорить с заказчиком, выбрать самые важные, которые можно успеть.

-Подключить людей с другого проекта.

Заказчик хочет получить релиз через месяц, а разработчики оценили работу в 6 месяцев.

Надо посмотреть, что запланировали разработчики. Возможно, они хотят сделать сложную архитектуру, которая в данном случае абсолютно не нужна, а время съест много.

 

Почему уходите из прошлой компании?

Есть стандартный вариант ответа «На этом месте работы я достиг своего потолка, дальнейшего развития не предвидится, а я хочу двигаться дальше». Не стоит говорить плохо о старом месте работы.

 

Чем хотите заниматься? Какая работа вам интересна?

Надо придумать ответ заранее, желательно с учетом специфики вакансии. Например, мне нравится делать востребованные продукты и релизить их в срок.

 

Человек хочет увольняться, но не хочет передавать дела. Как его стимулировать?

Дополнительное условие – материальная стимуляция вам недоступна, то есть вы не можете выписать ему премию или оставить в подарок корпоративную страховку на год. Надо пообещать увольняющемуся хорошую рекомендацию для его будущего работодателя.

 

Сегодня вечером вы уезжаете в отпуск, а тут все сломалось.

Например: «Когда я куда-либо уезжаю, я всегда оставляю вместо себя замещающего и эту проблему будет решать он».

Какое соотношение тестировщиков и программистов вам кажется оптимальным? Это зависит от проекта, но обычно достаточно 2 разработчика на 1 тестировщика, либо в случае потребности в очень высоком качестве 1 к 1.

Что такое реестр рисков?

Это документ, содержащий все выявленные риски проекта, включая список обязательных и потенциальных действий.

Что такое юзабилити?

Это оценка удобства взаимодействие пользователя с интерфейсом. Например,

насколько комфортно работать с сайтом или приложением: все ли понятно, легко ли найти нужные данные и ориентироваться в структуре.

 

Планирование:

  • Как ты планируешь проект?
  • Тебе нужно запланировать проект у которого есть жесткий дедлайн и скоуп, который обязательно нужно успеть.  Как ты будешь планировать?
  • Как ты построишь процесс оценки бэклога?
  • Как ты конвертируешь оценку работ в план?
  • Как вычислишь длительность проекта?
  • Какие фазы/виды работ ты включишь в свой проект? (не только разработка тестирование)

Как ты будешь готовиться к релизу? (приемка, план развертывания, стабилизация)

  • Планирование. Весь путь продукта начинается с его планирования и стратегии, а планирование релиза позволяет рассчитывать и определять количество спринтов или итераций. На этом этапе происходит начальная приоритезация, предварительная оценка затрат и анализ взаимозависимостей. К планированию привлекаются аналитики и заказчик. Планирование включает ожидания серьезных изменений в продукте, которые могут быть отражены в дорожной карте
  • Согласование. На этом этапе получается подтверждение ресурсов от исполнителей и заказчиков, происходит оценка бюджета релиза. Содержание релиза финально согласуется со всеми заинтересованными сторонами.
  • Документирование. Этот процесс закрепления и систематизации всех процедур, где отражены, например, последние данные о новых фичах.
  • Коммуникация и поддержка. Для каждого менеджера продукта очень важно не только успешно выпустить продукт или обновление, но и обеспечить налаженное взаимодействие с командой поддержки.
  • Статусы готовности. Статус релиза отражается в актуальном состоянии вашего плана. Актуализация статуса помогает снизить риски и обеспечить связь с заинтересованными сторонами.
  • Тестирование/Корректировки. В процессе управления релизом не обойтись без регулярных проверок и корректировок, которые помогают достигать порядка и достижения финальной цели.
  • Развертывание. На этом этапе изменения передаются в эксплуатацию. Выходит новая версия продукта или сам конечный продукт

Проект уже идет, как ты поймешь успеваешь к релизу или нет? Какие метрики?

Метрики проекта по методике Google:

Happiness (Счастье)

— пользовательское удовлетворение;

— ощущение, что продуктом легко пользоваться;

— net promoter score.

Engagement (Вовлечение)

— количество визитов пользователя в неделю;

— количество фото, загружаемых юзером в день;

— количество лайков и шэров.

Adoption (Принятие)

— обновления до новой версии;

— созданные пользователем подписки;

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

Retention (Возвращаемость)

— количество пользователей, остающихся активными с течением времени

— churn

— повторные покупки

Task Success (Успех ключевых задач)

— успешные поиски;

— время загрузки фотографии;

— полностью заполненный пользователем профиль

!!! Метод освоенного объема (Earned Value Technique, Earned Value Management) — Система методик, объединенных под общим названием, использующихся для измерения и контроля эффективности выполнения проектов. Метод основан на использовании ряда числовых показателей, рассчитываемых по ходу проекта.

Презентация: Управление стоимостью проекта - презентация онлайн 

Количественные метрики релиза:

Чтобы понять, как у вас дела, достаточно измерить скорость vs качество вашей работы

  • Скорость команды или составная метрика: пользовательские истории, сделанные в течение этой итерации/не завершенные, но запланированные/перенесенные в следующую итерацию.
  • Количество дефектов, найденных за итерацию/vs пробравшихся в итоге на продакшн
  • Распределение дефектов по типам/компонентам и источникам

Качественные метрики релиза:

  • Отношение количества сделанных пользовательский историй к общему числу историй в проекте
  • Отклонение от запланированной даты релиза
  • Технический долг

Проектные метрики:

  • срок реализации (допустимые отклонения от базового плана)
  • выполнение бюджета (допустимые отклонения)
  • плановый и фактический срок реализации
  • причины сдвигов по времени.

Важно: если проект велся корректно, то любое смещение срока реализации должно было фиксироваться запросом на изменение. Подобные решения РМ не принимает — он может только все подготовить, предложить опции дальнейших действий, но последнее слово остается за спонсором.

  • отчет по расходам (сколько планировали и сколько в итоге потратили)
  • риски (нужно указать, какие контрмеры были эффективны, а какие — нет)

Планирование:

  • Как ты будешь измерять прогресс, если не весь бэклог декомпозирован?
  • Какие показатели ты включишь в отчет? А на фазе приемки?
  • Клиент часто уточняет скоуп проекта, что ты будешь делать с этим?
  • Как ты построишь коммуникацию с клиентом при утверждении новых элементов скоупа проекта?
  • Как отличить новый скоуп от простой детализации требований?
  • Что делать если изменений слишком много?

 Финансы:

  • Что такое бюджет проекта?
  • Как рассчитать прогноз выручки? (что такое эффективная реализация персонала?)
  • От чего зависят затраты проекта? (какие затраты включаются в овертаймы, а какие нет?)
  • Как повысить прибыльность проекта?
  • Какие риски с деливери несут манипуляции с прибыльностью?
  • Какие пункты контракта влияют на прибыльность?

 Кризисы:

  • Вы не успели к дедлайну, ваши действия?
  • Серьезные дефекты на продакшене, твои действия?
  • Эскалация по любому другому вопросу, что будешь делать?

 Управление ПМом:

  • Как оценить качество работы ПМа?
  • Клиент или команда эскалируют на подчиненного ПМа, твои действия?
  • Как будешь собеседовать ПМа?
  • Приходилось ли набирать людей?
  • Как проводили собеседования?
  • Как отбирали кандидатов?
  • Приходилось ли увольнять?  
  • Как происходил пересмотр зарплаты?

 Что такое юзер стори?

Это короткое описание фичи в формате ответа на вопрос: «Кто, что и зачем делает?».

Это объяснение фичи с точки зрения конечного пользователя.

Например, для Google Maps это будет так: «Как пользователь, я хочу ввести город, улицу и номер дома в строку поиска, чтобы найти расположение нужного дома на карте»

Что такое критерии приемки проекта?

Это условия, при которых юзер стори можно считать готовой и полностью работающей. Они нужны, чтобы команда сделали именно то, что просил заказчик.

**Для Google Maps критерии будут выглядеть так: На странице есть строка и кнопка поиска. Поиск выполняется, если пользователь вводит город, улицу и номер дома. Когда поиск выполнен, на карте появляется точка, показывающая расположение адреса. Это похоже на описание, только оно включает любые детали юзер стори. А без критериев фича не заработает, или заработает, но не выполнит сценарий юзер стори.

📌 Top 7 Super Fast Cases Before the Interview

Кейс 1

Ваш проект должен получить достаточно большие инвестиции, а главный разработчик Антон сообщает, что намерен покинуть проект и компанию. При разговоре с ним вы узнаете, что у разработчика три проблемы:

Устал от однообразных задач.

Не устраивает ЗП. Конфликт с коллегой.

Ваши действия, чтобы убедить Антона остаться?

Кейс 2

Вы закончили эстимейт проекта, осталось согласовать его с клиентом. Однако фичу, которую вы оценили в 40 часов работы, клиент требует сделать за 25. Заказчик аргументирует это тем, что его знакомому выполнили похожую таску за такой же срок (25 часов).

Как ускорить разработку?

Кейс 3

Вы недавно начали новый проект. Команда хорошо справляется, однако у разработчика-джуна Александра есть проблема. Ему постоянно не хватает времени. Из-за чего страдает общая производительность.

Что вы будете делать?

Кейс 4

Вы работаете в компании около 6 мес. На данный момент у вас три проекта по разработке различных приложений и четвертый – поддержка готового продукта. В определенный момент вы отдаете себе отчет, что не успеваете, из-за чего страдает качество разработки.

Что вы будете делать, чтобы улучшить ситуацию?

Кейс 5

У вас таска: провести код-ревью базы для клиента. Однако, в вашем распоряжении всего один джун. Остальные команды загружены.

Ваши действия?

Кейс 6

Вы сопровождали проект три месяца и через два дня у вас первый релиз. Трудно избавиться от волнения: в продукте много фич и возможно какая-то из них сломается.

Как будете готовиться к релизу?

Кейс 7

Вы начали новый проект. К этому моменту с командой было оговорено, что каждый день сотрудники должны трекать время в Jira и подробно описывать, на что они его потратили.

Через неделю вы замечаете, что разработчик Юлия не делает этого. Когда вы подняли этот вопрос на дейли, она ответила, что не видит потребности в трекинге времени.

Ваши действия?

Part 3. Блок 2. Тестовые задания для РМ

  1. PM Test Task
  2. ТЗ проджект-продакт
  3. Вопросы из тестовых заданий для Менеджера Проектов: https://maksim-belyaev.notion.site/c438b67a8128400da293d6e3740ce631 
  4. Business Cases - 3 тестовых задания для ПМа
  5. Следующий ход: решаем кейсы проектного менеджера
  6. Тестовые задания по проджект-менеджменту: тренажер для подготовки к собеседованию 
  7. Список с тестовыми заданиями: https://bychko.ru/test-q/ 

Part 4. Понятийный уровень. Основы программирования

Логика и алгоритмы

  • Типы данных и их виды (строка, целое число, булевое значение)
  • Основные структуры данных
  • Функции, операции
    Условия (else, if, elif, else if, switch)
    Циклы (while, for, for in, break)
  • События
  • Прокси сервер, reverse прокси
  • API
  • HTTP запрос
  • Виды протоколов, уровни
  • Конфиги, логи
    Сниппет
  • Сокеты, web socket

Архитектура Web приложений:

  • Понятие URL и документа
  • Виды документов: HTML, CSS, JS, JSON
  • Абсолютные и относительные URL
  • Правила разрешения URL-ов
  • Гиперссылки
  • Клиент-серверная архитектура

WEB-клиенты:

  • Консольные утилиты. Telnet
  • Библиотеки в ЯП. libcurl, urllib
  • Браузер
  • Фичи браузера: куки, сессии, Referer
  • Основной сценарий работы
  • Классические web приложения: SPA, MPA, PWA

Язык разметки HTML:

  • Основы разметки
  • DOCTYPE - сокращенно DTD, представляет собой набор правил, используемых для объявления документов определенного типа.
  • Блочные и строчные теги
  • Таблицы и списки
  • Гиперссылки и формы

CSS (язык описания стилей): 

  • Синтаксис
  • Селекторы
  • Псевдоклассы и псевдоэлементы
  • Приоритеты стилей и каскадирование
  • Основные стили
    Позиционирование
  • Box-model - это алгоритм расчёта размеров каждого отдельного элемента на странице, которым браузеры пользуются при отрисовке.

Сетевые протоколы

  • DNS
  • Домены и зоны, делегирование
  • Рекурсивные запросы
  • TCP
  • Понятие порта
  • TCP handshake
  • TCP клиент и сервер
  • TLS

Протокол HTTP

  • Назначение и ключевые особенности
  • Синтаксис запроса и ответа
  • Методы запросов
  • HTTP заголовки
  • Коды ответа

Web-сервера

  • Файлы и процессы сервера
  • Внутренняя архитектура сервера
  • Примеры конфигурации
  • Понятие location
  • Методы обработки сетевых соединений

Архитектура frontend - backend

  • Задачи frontend сервера
  • Reverse proxy
  • Проксирование запросов
  • Application сервера
  • Протоколы CGI, FastCGI, WSGI

MVC фреймворки

  • Компоненты MVC
  • Конфигурация проектов
  • Маршрутизация URL
  • Обратная маршрутизация URL

Работа с СУБД

  • Реляционная модель данных
  • Проектирование баз данных

Обработка форм

  • GET и POST формы
  • Общий сценарий обработки
  • Перенаправления в HTTP
  • Описание форм в Django
  • CSRF

Сессии и Авторизация

  • Basic HTTP Authorization
  • Механизм Cookie
  • Установка и получение cookie в HTTP
  • Авторизация с использованием cookie

Part 5. Общие темы для “погуглить” самостоятельно

  • Компиляторы, интерпретаторы, ассемблеры
  • Программы и языки программирования
  • Основы алгоритмов для руководителя IT-проекта
  • Основы сетей и их протоколов
  • Клиент-серверная архитектура
  • Браузер и другие виды клиентов
  • Общие принципы построения архитектуры проектов
  • Этапы создания приложения
  • Типы задач разработчиков
  • Алгоритм оценки приложения
  • Декомпозиция

Начало проекта

  • Планирование проекта
  • Управление требованиями к ПО
  • Команда, проект, распределение ролей в команде
  • Бюджет проекта
  • Управление рисками
  • Коммуникация на проекте
  • Управление качеством
  • Основы управления процессом тестирования на проекте
  • Реализация проекта. Мониторинг и контроль. Проектная отчетность и создание документации
  • Проект, его структура и необходимые документы
  • Продукт vs Проект
  • Устав, роли и разделение труда
  • Содержание проекта

Методы сбора требований

  • Как и когда собирать требования проекта
  • Категории требований
  • Требования к требованиям
  • Утверждение требований

Иерархическая структура работ

  • Что такое ИСР (WBS)
  • Форматы ИСР
  • Пакеты работ
  • Стандарты создания ИСР
  • Как и когда создавать ИСР

Оценка проекта

  • Процесс оценки
  • Методы оценки проекта
  • Виды оценок

Управление качеством проекта

  • Планирование управления качеством
  • Обеспечение качества
  • Контроль качества

Сроки и расписание проекта

  • Глоссарий расписания проекта
  • Диаграмма Ганта
  • Метод критического пути

Риски

  • Идентификация рисков
  • Качественный анализ рисков
  • Количественный анализ рисков
  • Планирование реагирования на риски
  • Контроль рисков

Стоимость и бюджет проекта

  • Оценка стоимости
  • Определение бюджета
  • Контроль стоимости

Управление изменениями

  • Прогнозирование изменений
  • Методологии управления изменениями
  • Оформление change requests
  • Работа с возражениями
  • Адаптация в условиях VUCA (Volatility, Uncertainty, Complexity, Ambiguity).

Управление заинтересованными сторонами проекта

  • Определение заинтересованных сторон
  • Управление вовлечением заинтересованных сторон
  • Планирование управления заинтересованными сторонами

Прогресс проекта

  • Мониторинг и управление работами проекта
  • Milestones или вехи проекта
  • Отчетность по исполнению
  • Администрирование контрактов

Завершение проекта

  • Критерии завершенности и метрики успешности проекта
  • Exit check-list проекта
  • Ретроспектива

Инструменты руководителя проекта

  • Календарь
  • Jira, Trello, Confluence

Гибкие методологии разработки ПО

  • Agile, Scrum
  • Kanban
  • XP
  • LEAN

Управление командой

  • Что такое команда проекта
  • Устав команды
  • Как набирать команду проекта

Постановка и контроль задач

  • Как и какие задачи нужно ставить
  • SMART
  • Делегирование
  • Управление временем

Основы коммуникации

  • Матрица компетенций проектного менеджера
  • Коммуникации с клиентом
  • Ведение переговоров и управление конфликтами
  • Передача проекта
  • Управление третьими сторонами
  • Деловая переписка

Фасилитация

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

Переговоры и конфликты

  • Что такое конфликты и зачем нужны переговоры
  • Агрессия
  • Техники отказа

Деловая коммуникация

  • Правила деловой переписки
  • Пирамида деловой переписки
  • Форматирование и структура письма

Командное развитие

  • Коучинг в проектном управлении
  • Реализация стратегии
  • Персональная мотивация и развитие

Что дальше?

  • Сертификаты (PMI, Scrum Alliance)
  • Networking и как его построить

Part 6. Полезные ресурсы

📌 Курсы и статьи

  1. Управление проектами: полное погружение в PMBOK-7 – Stepik 
  2. Подготовка к экзамену PMP | Ivan Selihovkin 
  3. КартаЗнаний - ресурс, для подготовки PMP сертификации
  4. Видео-инструкция о том, как подготовиться к PMP:Как получить сертификат Project Management Professional PMP PMI
  5. МЕНЕДЖЕРЫ в IT: Project, Product, Delivery / Вход в Project Management в 2023 году / Аффтарпати #7
  6. https://redcamp.super.site/ - курс для ПМ (методологии, основы IT)
  7. Technically.dev 
  8. Agile vs. Scrum vs. Kanban: what's the difference? | Zapier
  9. The Secret History of Agile Innovation
  10. A Brief History of Lean 
  11. History of PMI | Project Management Institute  
  12. Foundation of Project Management - Google
  13. Project Management - Yalantis
  14. Project Management - Skills Up
  15. В. Бычко Об управлении проектами: https://bychko.ru/category/menedzhment/ 
  16. IT Management Stash
  17. Как правильные вопросы на старте помогают сэкономить клиенту деньги на проекте: https://telegra.ph/YA-zhe-menedzher-zachem-mne-arhitektura-03-19 
  18. Чего разработчики ждут от РМ-а, а РМ — от разработчиков? https://telegra.ph/CHego-razrabotchiki-zhdut-ot-RM-a-a-RM--ot-razrabotchikov-03-19 

📌 Кейсы для практики

  1. Как передавать дела на время отпуска – версия 2.0 – Передача дел | Управление проектами.Ру 
  2. PMI, Scrum, Kanban - управленческий блокнот от Ивана Селиховкина - YouTube   
  3. О Scrum, PMI и Kanban, выжимка из видеокурса и книг И. Селиховкина: Brief Summary Курс Ивана Селиховкина
  4. Полезный документ с примером Proposal Example:  Proposal example 
  5. PM Glossary:  https://web.telegram.org/cc40b493-fe0e-4d1e-b2d0-97b4bfcba694 
  6. Skill Map: Skill Map.jpg
  7. 5 секретов поиска внутри страны: Бонусы «5 секретов роста в карьере» 

!!! vc.ru большие подборки для проджектов и продактов:

  1. Нескучно жить: подборка ресурсов для проджект-менеджеров — Карьера на vc.ru
  2. Подборка полезных ресурсов для проджект-менеджеров. Глава I: курсы и сайты — Личный опыт на vc.ru
  3. Большая подборка для менеджера digital-проектов: 100+ полезных материалов для обучения и роста — Карьера на vc.ru
  4. Большая подборка каналов для продакт менеджеров — Карьера на vc.ru 

📌 Книги

  1. Марк Розин | “Успех без стратегии”
  2. Джо Оуэн | “Как управлять людьми”
  3. Джим Кемп | “Сначала скажите “Нет”
  4. С. Колосов | “Проджект менеджер маминой подруги”
  5. Гэвин Кеннеди | “Договориться можно обо всем” - о современной тактике и стратегии ведения переговоров с секретами и хитростями
  6. Фергус О’Коннел | “Как успешно руководить проектами. Серебряная пуля”.
  7. Генри Форд | “Моя жизнь, мои достижения”
  8. Ли Якокка | “Карьера менеджера”
  9. Георгий Щедровицкий | “Оргуправленческое мышление: идеология, методология, технология”
  10. Дмитрий Ершов | “Без ТЗ: Как запустить сервис и ничего не упустить”
  11. Дэн Кеннеди | “Жесткий менеджмент. Заставьте людей работать на результат”.
  12. Алексей Каптерев | “Мастерство презентации. Как создавать презентации, которые могут изменить мир”
  13. Павел Безручко | “Без воды. Как писать предложения и отчеты для первых лиц”
  14. Кали Ресслер и Джоди Томпсон | “Офис в стиле фанк”
  15. Бен Хоровиц | “Легко не будет”
  16. «Вальсируя с медведями» | Том ДеМарко
  17. «Человеческий фактор» | Том ДеМарко
  18. “Deadline” | Том ДеМарко
  19. Искусство управления IT проектами» | С. Беркун
  20. «Цель. Процесс непрерывного совершенствования» | И. Голдрат
  21. Джефф Сазерленд. “Scrum. Революционный метод управления проектами” - о том, как организовать слаженную командную работу.
  22. Дэвид Андерсон. “Канбан: альтернативный путь в Agile”
  23. Роб Фитцпатрик “Спроси маму”
  24. “Проект Феникс” | Д. Ким
  25. “Антихрупкость. Как извлечь выгоду из хаоса” | Н. Талеб
  26. “Чёрный лебедь. Под знаком непредсказуемости” | Н. Талеб
  27.  Рэй Далио. | “Принципы”
  28. “Как пасти котов. Наставление для программистов, руководящих другими программистами” | Дж. Ханк Рейнвотер
  29. “Клиенты на всю жизнь” | Карл Сьюэлл и Пол Браун
  30. “Alibaba и умный бизнес будущего” | Цзэн Мин - о бизнес-модели компании. Alibaba Group, о принципах и особенностях  смарт-бизнеса.
  31. “Бизнес без МВА” | под редакцией М. Ильяхова
  32. “Мифический человеко-месяц”
  33. “How To Speak Tech“
  34. “Это так не работает“ | М. Бакингем, Э. Гуделл
  35. “Дело не в кофе: Корпоративная культура Starbucks” | Говард Бехар
  36. “Управление проектами от А до Я”.
  37. “Практики регулярного менеджмента. Управление исполнением, управление командой” | Безручко Павел С.
  38. “Управление в условиях кризиса” | Ицках Адизес
  39. “Ген директора. 17 правил позитивного менеджмента по-русски”
  40. “Руководство по DevOps” | Джен Ким
  41. “Совершенный софт” | Леве Джувел
  42. “Переговоры с монстрами”  | Рызов Игорь
  43. “Гении и аутсайдеры. Почему одним все, а другим ничего?” | М. Гладуэлл
  44. “Думай как Илон Маск”  | О. Варол
  45. “Принцип ставок”  | Э. Дьюк
  46. Правила Лучших СЕО | Уильям Торндайк
  47. Хороший плохой босс | Стефан Стерн, Кэри Кулер
  48. Правила команды | М. Поташев, П. Ершов
  49. Харизма — Как влиять, убеждать и вдохновлять| О. Фокс Кабейн
  50. Как работает Google | Э. Шмидт, ЖД. Розенберг
  51. Как разговаривать с кем угодно, когда угодно и где угодно | Ларри Кинг
  52. Бизнес-хаки | Деловая среда
  53. Система МОСТ | Никита Карелин

📌 Telegram-каналы по проектному менеджменту

  1. https://t.me/ProYpravlenca
  2. https://t.me/temno
  3. https://t.me/psilonsk
  4. https://t.me/proProject1 
  5. https://t.me/pm_and_it
  6. https://t.me/analytics_today
  7. https://t.me/valerierozov
  8. https://t.me/zhizaIT 
  9. https://t.me/pm_god 
  10. https://t.me/OpenManagement 
  11. https://t.me/ekstrapolyatsiya_menedzhmenta 
  12. https://t.me/selihovkin
  13. https://t.me/PM_Events
  14. https://t.me/its_capitan 
  15. https://t.me/pm_sovet 
  16. https://t.me/prodneupal 
  17. https://t.me/IraRumIra
  18. https://t.me/badTechProject 
  19. https://t.me/biznesgryzha
  20. https://t.me/prodneupal
  21. https://t.me/badTechProject
  22. https://t.me/simon_said
  23. https://t.me/it_always_sunny
  24. https://t.me/dzenpm
  25. https://t.me/PmpRu
  26. https://t.me/toxic_manager
  27. https://t.me/mvp_meleh
  28. https://t.me/lcg_recruiting
  29. https://t.me/itpminfo

📌 Подкасты

  1. Project Management Podcast: Project Management for the Masses with Cesar Abeid, PMP
  2. “The PM Podcast with Cornelius Fichtner" – освещает различные аспекты управления проектами и предоставляющий экспертные советы и истории успеха.
  3. "Projectified with PMI" – подкаст от Project Management Institute (PMI), который исследует различные темы в области управления проектами и включает интервью с опытными профессионалами.
  4. "The Lazy Project Manager" - основан на книге Питера Тейлора "The Lazy Project Manager", где автор делится своими подходами к управлению проектами более эффективно и эффективно.
  5. Серебряная Чпуля. Подкаст про Agile. Здесь будут темы близкие тимлидам, проджектам и продактам
  6. Потом доделаю. Рассказы о том, как укладываться в дедлайны, работать в команде и быть лучше.

Подборка подкастов: https://habr.com/ru/companies/sbermarket/articles/751056/ 

📌 Сертификация для проектных руководителей

Статья по сертификации для проектного руководителя от Ивана Селиховкина, полный разбор: https://iselihovkin.com/blog/tpost/alnomide91-sertifikatsii-chto-vibrat-menedzheru-pro

Бесплатная сертификация для руководителей проектов
  • Список из 34 курсов: https://proity.ru/business/free-management-courses/
  1. Sigma White Belt: https://www.sixsigmacouncil.org/six-sigma-white-belt-certification/
  2. Google Project Management Certificate: https://www.coursera.org/professional-certificates/google-project-management   (можно податься на оплату вам курса, подав заявку).
    Как получить Financial Aid: https://vc.ru/life/600159-gayd-kak-besplatno-poluchit-obuchenie-na-coursera
Для общего развития, на посмотреть | Курсы с бесплатными сертификатами
  1. Stepik "Управление проектами. От теории к практике": https://stepik.org/course/119619/promo
  2. «Как стать продакт- или проджект-менеджером» от «Нетологии»: https://go.redav.online/e2adab04e0957431?dl=https%3A%2F%2Fnetology.ru%2Fprograms%2Fproduct-project-marathon 
  3. pmclub: «Бесплатный курс по управлению проектами» от Дмитрия и Валерии Ильенковых: https://pmclub.pro/courses/pm-101 
  4. «Управление продуктом» от Академии Яндекса: https://www.youtube.com/playlist?list=PLEs8EuAPI73Bs0R9bcWYtPJ94aWVrPYqd 
  5. «Эффективное делегирование» от GeekBrains: https://go.acstat.com/f779a0b125e6e9d0 
  6. «Управление проектами» от НИУ ВШЭ: https://openedu.ru/course/hse/PRMN/ 
Платная сертификация для руководителей проектов
  1. Курсы Селиховкина: PMP exam preparation course, Управление проектами и продуктами PMI, Scrum, Kanban method: https://selihovkin.teachable.com/ 
  2. PMP: https://www.pmi.org/certifications/project-management-pmp
    подготовка к PMP: @PmpRu
  3. PRINCE: https://www.prince2.com/eur/prince2-examination-format
  4. PSM I, PSM II, PSM III: https://www.scrum.org/assessments/professional-scrum-master-i-certification 
  5. Six Sigma Yellow, Green, Black, Master Belt: https://www.sixsigmacouncil.org/six-sigma-yellow-belt-certification/
  6. KPM (Kanban Project Management): https://kanban.university/ 

Part 7. Основы Блокчейн

  • Блокчейн  распределенная база данных, которая содержит информацию обо всех транзакциях, проведенных участниками системы
  • Блок - набор данных, являющийся звеном цепи блокчейна
  • FinTech  это предоставление финансовых услуг и сервисов с использованием инновационных технологий, таких как «большие данные» (Big Data), искусственный интеллект и машинное обучение, роботизация, блокчейн, облачные технологии, биометрия и других
  • Бридж  это звено между двумя блокчейнами, которое помогает перемещать токены из одной сети в другую
  • Эндпоинты – адреса в сети, URI: последовательность символов, идентифицирующая абстрактный или физический ресурс. Uniform Resource Identifier — унифицированный идентификатор ресурса. Иногда конечную точку, или URI называют путем (path) —> путем до ресурса
  • Конфиги - совокупность консольных команд; текстовый файл с расширением .cfg и загружаемый перед игрой
  • Логи - это файл с информацией о действиях ПО или пользователей
  • «Биржевой стакан» (order book) — это список всех ордеров, как на покупку, так и на продажу, на отдельно взятой платформе
  • API - (программный интерфейс приложения) — описание способов (набор классов, процедур, функций, структур), которыми одна компьютерная программа может взаимодействовать с другой программой.
  • Маркетмейкеры (MM) – фирма - брокер / дилер, берет на себя риск приобретения и хранения на своих счетах ценных бумаг определенного эмитента с целью организации их продаж
  • Yield Farming  движение, участники которого стремятся выжать из своих инвестиций максимальную прибыль за счет DeFi-протоколов
  • Frontend (FE) – клиентская сторона пользовательского интерфейса к программно-аппаратной части сервиса
  • Тестнет  альтернативная цепочка криптовалюты исключительно для разработчиков
  • Мейннет - реальная сеть, в которой происходят все реальные транзакции.
  • Сервер – выделенный или специализированный компьютер для выполнения сервисного программного обеспечения
  • Solana – блокчейн-сеть для быстрых транзакций с высокой пропускной способностью, которая использует уникальный способ упорядочивания транзакций для повышения скорости
  • Solidity язык программирования для написания смарт-контрактов
  • TRON – это децентрализованная операционная система на основе блокчейна с открытым исходным кодом, функциональностью смарт-контрактов, принципами подтверждения ставки в качестве алгоритма консенсуса и собственной криптовалютой, известной как Tronix (TRX)
  • Шардинг - это разделение сети блокчейна на индивидуальные сегменты (шарды). Каждый шард содержит уникальный набор смарт-контрактов и балансов счетов
  • Каналы состояния – это решение второго уровня, позволяющее участникам совершать бесконечное множество приватных транзакций вне основного блокчейна
  • Сайдчейны — технология, позволяющие токенам и другим цифровым активам одного блокчейна безопасным образом использоваться в другом блокчейне и затем (в случае необходимости) быть возвращенными в оригинальный блокчейн
  • SDK (software development kit, «комплект для разработки программного обеспечения») — набор средств разработки, позволяющий специалистам по программному обеспечению создавать приложения для определённого пакета программ, программного обеспечения базовых средств разработки, аппаратной платформы, компьютерной системы, игровых консолей, операционных систем и прочих платформ
  • Cosmos SDK (Cosmos Software Development Kit) — платформа и набор инструментов для программистов, облегчающие написание кода
  • Форк — это использование программного кода одной системы для разработки другого проекта
  • Коин – это виртуальная монета, именно она и считается полноценной криптовалютой, валюта блокчейна
  • Токен - это цифровой актив, который выпускается на определенном блокчейне компанией с целью использования как главного платежного инструмента
  • Смарт-контракт — компьютерный алгоритм, предназначенный для формирования, управления и предоставления информации о владении чем-либо. Чаще всего они реализуются с применением технологии блокчейна.
  • BTC цифровая или криптовалюта, которая работает исключительно в интернете. Ее относят к новому поколению, поскольку выпуск и курс никто не контролирует, а производство осуществляется на компьютерах пользователей, которые подключились к системе
  • Альткоин  это альтернативные криптовалюты, разработанные ради того, чтобы побороть монополизацию биткоина, а также для решения проблемы масштабируемости, децентрализации и безопасности, в которых погряз биткоин
  • Convex - это протокол для оптимизации урожайности за счет упрощения процесса повышения кривой. Convex позволяет поставщикам ликвидности Curve получать комиссию за торговлю и требовать увеличения CRV без привязки к собственной CRV
  • Uniswap – это децентрализованный сетевой торговый протокол на Ethereum, который использует пулы ликвидности и форму автоматических маркет-мейкеров (AMM) вместо книг заказов
  • DeFi — это финансовые инструменты в виде сервисов и приложений, созданных на блокчейне. Главная задача децентрализованных финансов стать альтернативой банковскому сектору и заменить традиционные технологии нынешней финансовой системы протоколами с открытым исходным кодом
  • PancakeSwap - это децентрализованная биржа (DEX), работающая в сети Binance Smart Chain, что делает ее первой в своем роде. На ней имеется множество функций, которые позволяют зарабатывать токены платформы (CAKE) и других проектов, а также выигрывать денежные призы
  • Пулы ликвидности — это пулы токенов, заблокированных в смарт-контрактах, которые обеспечивают ликвидность на децентрализованных биржах, с целью нивелировать проблемы, вызванные неликвидностью, типичной для таких систем
  • ASIC  Интегральная схема, разработанная специально для выполнения определённой задачи, в данном случае для майнинга, с чем справляется гораздо более эффективно, чем GPU или FPGA

  • DApp- децентрализованное приложение. Набор смарт-контрактов. Данные хранятся на блокчейне, присутствует система стимулирования в виде токенов, работа подобного приложения осуществляется в автономном режиме
  • DAO  децентрализованная автономная организация. Сложная система, функционирующая на основании запрограммированных правил.
  • EVM  виртуальная машина Эфириума. Каждая нода блокчейна использует EVM для достижения глобального консенсуса
  • Нода  это любой компьютер, подключенный к блокчейн-сети. Ноды децентрализованной сети контактируют посредством P2P-протоколов для обмена информацией о блоках и транзакциях
  • Стейкинг — это способ пассивного заработка, при котором пользователи хранят монеты на алгоритме Proof of Stake (PoS) и обеспечивают работоспособность блокчейна
  • Минт  это создание в различных криптовалютах новых блоков в блокчейне на основе подтверждения доли владения с возможностью получить вознаграждение в форме новых единиц и комиссионных сборов
  • Майнинг  название процесса нахождения новых блоков было выбрано не случайно: невольно возникают ассоциации с процессом добычи золота
  • Приватный ключ – строка символов, которая обеспечивает вам доступ к токенам, хранящимся на конкретном кошельке
  • Публичный адрес - представляет собой криптографический хэш публичного ключа. Аналог адреса электронной почты, который вы можете смело отправлять других людям
  • Оракулы - поставщики данных из реального мира в блокчейн
  • KYC — Know Your Customer или Know Your Client (Знай своего клиента). Это принцип деятельности финансовых институтов (банков, бирж, букмекерских контор, инвестиционных и паевых фондов), обязывающий их идентифицировать личность контрагента, прежде чем проводить финансовую операцию
  • AML — Anti-Money Laundering (противодействие отмыванию денег). Если быть совсем точным, то аббревиатура должна была быть длиннее, AML CFT CWMDF — anti-money laundering and counter-terrorist financing and counter-weapons of mass destruction financing (противодействие отмыванию денег, полученных преступным путем, противодействие финансированию терроризма и финансированию создания оружия массового уничтожения).
  • Multi-Signature (множественная подпись) - является дополнительным средством безопасности: для проведения транзакции требуется как ключ отправителя, так и ключи нескольких посторонних участников.
  • Атака большинства a.k.a. Атака 51% - умышленно нанесенный блокчейну вред со стороны группы людей, обладающих более чем 50% всех вычислительных мощностей.
  • Хэшрейт совокупная вычислительная мощность компьютеров в сети, поддерживающих работоспособность блокчейна.
  • Халвинг - процесс уменьшения скорости генерирования новых единиц криптовалюты. В частности, это относится к периодически происходящему событию, последствием которого является уменьшение награды майнеров за успешно добытый блок.

Part 8. Основы AI

  • Глубокое обучение - совокупность методов машинного обучения, основанных на обучении представлениям, а не специализированных алгоритмах под конкретные задачи
  • Федеративное обучение – это методика заключения модели в защищенную среду и ее обучение без перемещения данных куда-либо
  • Большие данные – обозначение структурированных и неструктурированных данных огромных объёмов и значительного многообразия, эффективно обрабатываемых горизонтально масштабируемыми программными инструментами
  • Компьютерное зрение – теория и технология создания машин, которые могут производить обнаружение, отслеживание и классификацию объектов
  • Сверточные нейронные сети – специальная архитектура искусственных нейронных сетей, предложенная Яном Лекуном в 1988 году и нацеленная на эффективное распознавание образов, входит в состав технологий глубокого обучения
  • Генеративно-состязательные сети (GAN) - алгоритм машинного обучения без учителя, построенный на комбинации из двух нейронных сетей, одна из которых генерирует образцы, а другая старается отличить правильные образцы от неправильных.
  • Гомоморфное шифрование – форма шифрования, позволяющая производить определенные математические действия с зашифрованным текстом и получать зашифрованный результат, который соответствует результату операций, выполненных с открытым текстом.
  • Биометрия - область изучения физических характеристик человека с целью их дальнейшего использования для проверки и подтверждения личности.
  • Обработка естественного языка (Natural Language Processing) - общее направление искусственного интеллекта и математической лингвистики. Оно изучает проблемы компьютерного анализа и синтеза текстов на естественных языках. Применительно к искусственному интеллекту анализ означает понимание языка, а синтез — генерацию грамотного текста.
  • Алгоритм Chat GPT – чат-бот с искусственным интеллектом, разработанный компанией OpenAI и способный работать в диалоговом режиме, поддерживающий запросы на естественных языках.
  • Виртуальная реальность (VR) – созданный техническими средствами мир, передаваемый человеку через его ощущения: зрение, слух, осязание и другие.
  • Дополненная реальность (AR) – результат введения в зрительное поле любых сенсорных данных с целью дополнения сведений об окружении и изменения восприятия окружающей среды.
  • Смешанная реальность (MR) – является следствием объединения реального и виртуальных миров для созданий новых окружений и визуализаций, где физический и цифровой объекты сосуществуют и взаимодействуют в реальном времени.
  • Нейрокомпьютерный интерфейс (Brain-computer Interface, BCI) – система, созданная для обмена информацией между мозгом и электронным устройством.
  • XR-реальность (расширенная реальность, Extended Reality) –  это более обширный термин, который объединяет все иммерсивные технологии, которые расширяют реальность, т.е. VR, AR и MR вместе – это XR.
  • Суперкомпьютер – специализированная вычислительная машина, значительно превосходящая по своим техническим параметрам и скорости вычислений большинство существующих в мире компьютеров.
  • Генеративный искусственный интеллект — это тип системы искусственного интеллекта, способной генерировать текст, изображения или другие медиаданные в ответ на подсказки.
  • Квантовый компьютер — вычислительное устройство, которое использует явления квантовой механики для передачи и обработки данных. Квантовый компьютер оперирует не битами, а кубитами, имеющими значения одновременно и 0, и 1
  • Технологическая сингулярность — гипотетический момент в будущем, когда технологическое развитие становится в принципе неуправляемым и необратимым, что порождает радикальные изменения характера человеческой цивилизации.
  • GDPR (General Data Protection Regulation, или Общие правила защиты данных) – это свод предписаний для компаний, которые собирают и обрабатывают данные пользователей Евросоюза в сети Интернет

Part 9. Основы WEB & Digital

  • Digital - интернет-пространства для распространения или обмена информацией различными способами.
  • Seo - Это большой комплекс работ по увеличению видимости сайта по поисковым запросам в выдаче поисковых систем.
  • CMS - приложение для управления сайтом и/или его содержимым. Позволяет пользователю, который не владеет языками программирования или разметкой HTML, редактировать содержимое сайта. CMS расшифровывается как Content Management System, переводится — система управления контентом. Как правило, CMS реализовано в виде веб-приложения, однако, это может быть и программа, которая устанавливается на операционную систему

*Работа CMS заключается в предоставлении возможности изменения содержимого базы данных в удобном визуальном редакторе. Таким образом, она позволит оперативно отредактировать данные не только владельцу веб-ресурса, но и техническому специалисту, а ее установка повысит удобство работы в большинстве случаев.

Примеры наиболее популярных систем управления:

  • WordPress
  • 1С-Битрикс
  • Joomla
  • Drupal
  • OpenCart
  • MODx
  • Magento
  • TYPO3
  • Tilda
  • Домен - это имя сайта (доменное имя, доменный адрес) — это, простыми словами, «название» сайта. Понятия «домен» и «сайт» часто путают, но это не одно и то же. Сайт — это веб-страницы, которые отображаются в интернете, т. е. контент. А домен сайта — это его уникальный «адрес». Если у вашего сайта не будет домена, пользователи просто не найдут к нему дорогу и не увидят содержимое.
  • CSS – это формальный язык, служащий для описания оформления внешнего вида документа, созданного с использованием языка разметки (HTML, XHTML, XML). Название происходит от английского Cascading Style Sheets, что означает «каскадные таблицы стилей».
  • CSS можно охарактеризовать простыми словами как набор правил, описывающих, как должен выглядеть элемент.

Что происходит, когда пользователь вводит запрос в браузер?

Пользователь вводит в браузере адрес сайта > браузер ищет IP адрес сервера (такая информация хранится в распределенной системе серверов — DNS)

Перед тем, как обращаться к DNS, браузер пытается найти запись об IP-адресе сайта в ближайших местах, чтобы сэкономить время:

  • Сначала в своей истории подключений. Если пользователь уже посещал сайт, то в браузере могла сохраниться информация c IP-адресом сервера.
  • В операционной системе. Не обнаружив информации у себя, браузер обращается к операционной системе, которая также могла сохранить у себя DNS-запись. Например, если подключение с сайтом устанавливалось через одно из установленных на компьютере приложений.
  • В кэше роутера, который сохраняет информацию о последних соединениях, совершенных из локальной сети.

Не обнаружив подходящих записей в кэше, браузер формирует запрос к DNS-серверам, расположенным в интернете.

Например, если нужно найти IP-адрес сайта mail.vc.ru, браузер спрашивает у ближайшего DNS-сервера «Какой IP-адрес у сайта mail.imperium.im?».

Сервер может ответить: «Я не знаю про mail.imperium.im, но знаю сервер, который отвечает за imperium.im». Запрос переадресовывается дальше, на сервер «выше», пока в итоге один из серверов не найдет ответ об IP-адресе для сайта.

Как только браузер узнал IP-адрес нужного сервера, он пытается установить с ним соединение. В большинстве случаев для этого используется специальный протокол — TCP.

TCP — это набор правил, который описывает способы соединения между устройствами, форматы отправки запросов, действия в случае потери данных и так далее.

После установки соединения браузер отправляет специальный запрос, в котором просит сервер отправить данные для отображения страницы. В этом запросе содержится информация о самом браузере, временные файлы, требования к соединению и так далее.

Задача браузера — как можно подробнее объяснить серверу, какая именно информация ему нужна.

В общении браузера и сервера выделяют два типа запросов. GET-запрос используется для получения данных с сервера — например, отобразить картинку, текст или видео. POST-запрос — используется для отправки данных из браузера на сервер, например, когда пользователь отправляет сообщение, картинку или загружает файл.

Сервер получил запрос от браузера с подробным описанием того, что ему требуется. Теперь ему нужно обработать этот запрос. Этой задачей занимается специальное серверное программное обеспечение — например, nginx или Apache. Чаще всего такие программы принято называть веб-серверами.

Веб-сервер в свою очередь перенаправляет запрос на дальнейшую обработку к программе-обработчику — например, PHP, Ruby или ASP.NET. Программа внимательно изучает содержимое запроса — например, понимает, в каком формате нужно отправить ответ и какие именно файлы нужны. И собирает ответ.

Когда ответ сформирован, он отправляется веб-сервером обратно браузеру. В ответе как правило содержится контент для отображения веб-страницы, информация о типе сжатия данных, способах кэширования, файлы cookie, которые нужно записать и так далее.

Браузер распаковывает полученный ответ и постепенно начинает отображать полученный контент на экране пользователя — этот процесс называется рендерингом.

Сначала браузер загружает только основную структуру HTML-страницы. Затем последовательно проверяет все теги и отправляет дополнительные GET-запросы для получения с сервера различных элементов — картинки, файлы, скрипты, таблицы стилей и так далее. Поэтому по мере загрузки страницы браузер и сервер продолжают обмениваться между собой информацией.

Параллельно с этим на компьютер как правило сохраняются статичные файлы пользователя — чтобы при следующем посещении не загружать их заново и быстрее отобразить пользователю содержимое страницы.

Как только рендеринг завершен — пользователю отобразится полностью загруженная страница сайта


Part 10. Инструменты для IT Project Manager

ПО для трека прогресса и отображения задач, таск-системы:

  • Asana
  • Jira
  • Trello
  • Redmine
  • Mantis
  • ClickUp
  • Todoist
  • GanttPro

ПО для коммуникаций

  • Slack
  • Mattermost
  • Telegram
  • Rocket.chat

ПО для составления схем

  • MindManager  
  • XMind  
  • Miro
  • FlowMapp
  • Canva

ПО для хранения документации

  • Notion
  • GoogleDocs
  • Slite  


Git:

  • BitBucket
  • Gitlab
  • Github

Design:

  • Figma
  • CMS no-code platforms: Tilda

📌 Поиск вакансий

TG-channels:

Sites: 

  • LinkedIn https://www.linkedin.com
  • WeWork
  • Career Builder
  • IdeaList
  • ZipRecruiter
  • GulfTalent
  • Angel.co
  • Bayt.com
  • Jobble
  • Trud.com
  • teamblind.com - сайт с анонимными отзывами и обсуждениям различных компаний от их сотрудников
  • levels.fyi - данные по з/п в различных компаниях с разбивкой по уровням и локации
  • interviewing.io - платформа, где можно тренировать навыки для интервью с сотрудниками из MAANG и др. компаний
  • RemoteJobs
  • We work remotely.com
  • Remote jobs (In Google Search)
  • https://www.pracuj.pl/ - удобный ресурс, в котором можно найти отдельный раздел с вакансиями в ИТ. Имеется мобильная версия сайта, позволяющая всегда быть в курсе «горячих» вакансий и быстро на них реагировать.
  • No Fluff Jobs  - распространенный в Европе сайт по поиску работы в ИТ. Можно также смотреть не только польские вакансии, но и из других стран с удаленным сотрудничеством.
  • Just Join IT  - данный ресурс подходит именно для поиска работы в ИТ и имеет множество фильтров
  • Praca.pl  - крупный джобборд не только для ИТ сферы, также можно найти вакансии для разных направлений и уровней
  • Skillshot  - сайт с вакансиями в Game Dev.
  • Inhire.io

📌 Артефакты проекта

  • Устав проекта, паспорт проекта
  • WBS/ИСР
  • SRS (Software Requirement Specification) // SOW  - ТЗ, спецификация, требования
  • RFA “Request for Application” (информация, полезная при передаче проекта другому ПМу): о чем проект/сроки/команда/клиент/пожелания к руководителю проектов // Файл Handover при передаче дел (Наименование проекта, Статус, Задача, Контакты, Сроки, Замечания)
  • Краткая характеристика стейкхолдеров по методологии DISC
  • Project Scope // Roadmap
  • Stakeholder Map - Реестр заинтересованных сторон, матрица влияния стейкхолдеров
  • Project/Product Vision
  • Continuity Business Plan // Feature List // Backlog - для будущих идей и масштабирования проектов
  • Follow-up // Summary - документ с договоренностями после разговора/созвона/встречи
  • Meeting Notes (Kick off Meeting, Planning Meeting, Stand-up Meeting, Retrospective)
  • Реестр рисков (Risk Register)
  • Risk Chart
  • Журнал изменений (Change Requests)
  • SLA - Service Level Agreement соглашение об уровне оказываемых услуг – это документ, который составляется между двумя сторонами (потребитель – исполнитель) и отражает условия предоставляемых услуг
  • Daily Plan, Dev Plan (план активности команды и трек прогресса - для клиентов)
  • Gantt Chart

Задачи, которые выполняет ПМ регулярно

(с) Анна Огудина @anogudina  

Part 11. Интервью на позицию IT Project Manager

Вопросы + Опорные пункты для практики ответов

Группы вопросов:

  • Как ты делаешь? Расскажи на примерах
  • Ситуационные вопросы
  • Поведенческие кейсы и проигрывание ситуаций с уточняющими вопросами
  • Про опыт и реальные кейсы на практике

Что спрашивают на интервью?

Самый сложный проект?

Что говорить:

  • Масштаб проблем, с которыми ты работал как ПМ
  • Что в понимании ПМа “сложно”?
  • Важно! Рассказать, как этой сложностью управляли и справились

Самая большая команда, которой управляли?

Что говорить:

  • С каким масштабом, структурой команды работал ПМ
  • Отметить организаторские, управленческие, лидерские навыки на примере
  • Как организовал команду
  • Были ли в подчинении менеджеры, тимлиды
  • Какие scaled фреймворки использовали

Ваш опыт управления проектами?

  • Опыт в разных бизнес-доменах
  • Опыт в различных технических областях
  • Опыт в работе с различными контрактными моделями

Задачи, которые решали на проектах?

  • Какую конкретную роль и функцию выполнял? Что делал на проектах?
  • Какая была зона ответственности? Масштаб Пример
  • Руководили ли скоупом/сроками и бюджетом? Пример

Опыт управления другими менеджерами?

  • В какой роли управлял другими?
  • Позволяло ли это в вашей компании оргструктура?
  • Какая зона ответственности была при управлении другими ПМ`ами: отвечали за менторство или за качество деливери?

Как вы оцениваете качество работы подчиненных ПМов?

  • Насколько системно подходите к оценке подчиненных?
  • Какой стиль лидерство используете?
  • На каких критериях фокусируетесь?
  • Понимание успешного/провального проекта
  • Метрики для оценки качества работы ПМов (при работе с клиентами, командой, выполнение финансовых целей)

Мотивация других ПМов?

  • Как ПМ строит систему мотивации (материальную/нематериальную)?
  • Что по вашему мнению заряжает людей?
  • Какие критерии и методы материальной мотивации использовали? (квартальные/годовые), как рассчитывали бонусы для каждого?
  • Ваши инструменты для мотивации команды? Что мотивировало вашу команду?

Отработка эскалации в старшей роли?

  • Насколько успешно умеешь отрабатывать острые ситуации с командой и клиентами?
  • Как будете общаться со своим ПМом?
  • Насколько глубоко будете вмешиваться в его работу?
  • Как найти баланс, чтобы решить ситуацию и не нарушить право менеджера управлять командой?
  • Как будете строить коммуникацию с эксалирующей стороной?
  • Как будете выходить из кризисной ситуации и какое поведение вам свойственно в этой ситуации?
  • Как будете строить процесс собеседования?
  • Рассказать о структуре собеседования
  • Какие критерии будете использовать для оценки ПМа по пунктам: решение кризисов, управление проектами, командой?

📌 Вопросы на позицию Руководителя IT проектов

🔸Менеджмент🔸

1. Плюсы и минусы Scrum

2. В чем принципиальное отличие Scrum от Kanban?

3. Что такое Agile и Waterfall, чем отличаются и для каких проектов подходят?

4. Как вы оцениваете задачи/сроки на проекте?

5. Какие способы мотивации команды знаете?

6. Что такое проект? Этапы реализации проекта?

7. Чем проджект менеджер отличается от продакт менеджера?

8. Основные артефакты проекта

9. Как вы прорабатываете требования к проекту? Опишите по шагам ваши действия.

10. Как управлять рисками проекта?

🔸Кейсы🔸

1.  Самый масштабный проект, которым гордитесь

2. Вспомните ситуацию, когда вам надо было кого-то в чем-то убедить

3. Что вы бы сделали, если заказчику не понравился бы результат работы, а времени на доработки уже нет?

4. Что делать, если команда не успевает сдать проект в срок, а дедлайн очень жесткий?

5. Приведите пример конфликтной ситуации/проблемы, и как вы из нее вышли?

6. Пример неудачи на проекте

🔸Тех. часть🔸

1. Что такое backend и frontend? Что такое клиент-сервер?

2. СУБД и БД, в чем отличие?

3. API

4. Что такое REST, SOAP?

5. Жизненный цикл ПО: планирование и анализ, сбор требований, проектирование, разработка, тестирование, развертывание, сопровождение

6. Какие виды тестирования знаете?

Чек-лист для кандидата перед интервью

  • Ответы на вопросы должны быть завершенными и структурными
  • Будьте готовы к уточняющим вопросам и моделированию примеров в контексте разных ситуаций
  • Всегда подкрепляйте свои примеры конкретикой, цифрами, примерами, а не расплывчатыми фразами и абстрактными и общими понятиями
  • Рассказать, как со своей позицией ПМ будет решать боли работодателя, помогать компании и приносить ценность – в чем сильные стороны
  • Нужно продавать себя, за вас это никто не сделает. Говорить на языке результатов и достижений (важно подчеркивать глаголами совершенного действия: “сделал”, “улучшил”, “создал”, “организовал”)
  • Подготовить заранее структурное описание самого сложного проекта/кейса и вашего провала
  • Подготовить блок аргументов в мотивации начать новую позицию (почему,  зачем, для чего это, каких результатов хотите добиться, почему именно эта позиция)
  • Точные, структурные ответы по существу вопроса! Важно: отвечать именно на тот вопрос, который задается

📌 Сервис для тренировки ответов на интервью на английском для Project Manager: Interview Warmup - Grow with Google 

📌 PROJECT MANAGER Q&A GUIDE: https://attachments.convertkitcdnn2.com/511173/e3a49717-c2d7-4d63-98a0-8ff7edcbc626/AlvinthePM%20-%20Interview%20Question%20Guide.pdf 

Список вопросов:

  1. What are you looking for in your next job?
  2. Can you please tell me a bit about yourself?
  3. Please share a time when you set a goal for yourself and achieved it. How did you go about that?
  4. Imagine you are tasked with running the production of a site build. What method would you prefer to work with, agile or waterfall?
  5. Projects require different teams and stakeholders to work together. Tell me about a project where you had to engage people with different or competing interests.
  6. Please tell me about some of your strengths and weaknesses.
  7. Tell me about a time you had to deliver on multiple competing priorities. What did you do, and what were the results?
  8. Tell me about a time you managed a project, either personal, at work, or at school. How did you determine what order the tasks had to be completed in?
  9. Describe a situation when you disagreed with someone at work. What did you do, and what was the result?
  10. Tell me about one of your favorite projects. Why is it special to you?
  11. Imagine you’re assigned to a project upgrading internet speed on a street. During the feasibility analysis, you realize the upgrade is scheduled for a time of year with heavy rainfall. What would you do?
  12. Imagine there was no formal project management tool available. How would you keep track of project information?
  13. Please tell me about a time when you resolved a conflict between team members.
  14. Tell me about a time when you felt you did not communicate well or your communications were poorly received. How did you correct the situation?

Как менеджеру пройти техническое собеседование: 37 часто задаваемых вопросов

📌 12 главных пунктов, по которым задают вопросы на техническом собеседовании

  • Жизненный цикл продукта
  • Методологии
  • Бизнес-аналитика
  • Техническая документация
  • Инструментарий проекта
  • Архитектура
  • Клиент-сервер
  • REST
  • Фреймворки, библиотеки, код
  • Git
  • Натив/кросс-платформы
  • Тестирование

📌 Жизненный цикл продукта

Какие этапы есть в жизненном цикле ПО

Формирование требований к ПО на стадии анализа, проектирование, реализация, тестирование, внедрение, эксплуатация и сопровождение, снятие с эксплуатации. Сначала идет стадия, которая отвечает на вопрос: «Что мы будем делать?». Вторая стадия отвечает на вопрос «Как мы это будем делать?». Дальше стадия реализации задуманного проекта, после — тестирование и внедрение. Завершающая стадия — сдача проекта и дальнейшая техническая поддержка.

Чем отличается формирование требований от проектирования

Формирование требований — это процесс, при котором менеджер выясняет у заказчика, какие именно бизнес-процессы он хочет автоматизировать и что он хочет получить. На этом этапе работают аналитики и проектный менеджер. Проектирование — процесс, при котором собирается команда разработчиков и определяет, как будут реализованы требования.

Что такое поддержка

Техническая поддержка не означает, что вы будете отвечать на звонки клиентов вашего заказчика. Речь идет о решении проблемных задач в случае нарушения работы продукта. Если что-то «ломается», перестает работать, команда разработчиков должна оперативно отреагировать и сделать так, чтобы все было хорошо.

Как происходит снятие с эксплуатации

Если продукт теряет свою актуальность, или его заменяют на более новое и техничное решение, происходит снятие с эксплуатации. Разрабатывается план, согласовывается, после чего начинается постепенное снятие с эксплуатации.

Пример: на предприятии есть десктопная версия продукта, но компания решила перейти на новое приложение, которое работает с мобильных устройств. Разрабатывается стратегия перехода, подготавливается продукт, и постепенно переносятся все данные, обучаются сотрудники, внедряются новые инструменты.

Какие сотрудники нужны на каждом этапе жизненного цикла

При формировании требований участвуют бизнес-аналитики, на стадии проектирования ключевые люди — архитекторы и лиды разработчиков. На реализации проекта нужны программисты, дизайнеры. Тестированием занимаются QA инженеры. Для внедрения нужны практически все участники проекта, а «звезда» — проектный менеджер. Если команда выделяет инженера сопровождения, то он отвечает за техподдержку. Если его нет, то участвуют QA, разработчики и проектный менеджер.

📌 Методологии

Выбор методологии не относится к техническому собеседованию, но есть вопросы, которые косвенно влияют на команду разработчиков. Например, какую форму оплаты труда выбрать. Вы можете столкнуться с такими вопросами:

6 Scaled Agile Frameworks: 6 Scaled Agile Frameworks - Which One Is Right For You? 

  • Scaled Agile Framework (SAFe)
  • Scrum@Scale (SaS)
  • Scrum of Scrums (SoS)
  • Large Scale Scrum (LeSS)
  • Nexus
  • Disciplined Agile (DA)
  • Enterprise Kanban, aka Portfolio Kanban

В чем разница между Fix Price и Time & Material

Fix Price подразумевает, что мы ведем проект за определенный бюджет. Компания оговаривает с заказчиком, что она делает и за какие деньги.

Time & Material применяется в том случае, если у клиента есть неопределенности и он не знает, каким будет финальный продукт. Он готов выкупать команду и платить за сделанную работу. Time & Materials часто применяется в гибкой методологии Scrum.

Какая модель лучше

Fix Price отлично работает для проектов, которые имеют строгий фиксированный бюджет и они четко знают, что хотят получить. В таком случае любые дополнения, изменения или предложения просто не реализуются. Time & Materials подходит для стартапов и проектов, где сложно понять точное количество задач и как будет выглядеть финальный продукт.

📌 Бизнес-анализ

В чем разница между бизнес-аналитиком и системным аналитиком

Бизнес-аналитик — это человек, который разбирается в бизнес-процессах компании, которые необходимо автоматизировать. Детально разбирается в их особенностях и ищет подходы, которые помогут улучшить процессы. Изучает требования, цели и задачи заказчика.

Системный аналитик переводит информацию из формата «что нужно сделать» в формат «Как это сделать». Он составляет схемы, диаграммы, работает с технической командой и погружается в архитектуру.

Что такое User Story и Use Cases

User Story — это «история» клиента компании, который проходит путь с ней от начала до конца. Например, от входа в интернет-магазин до регистрации, оформления заявки и покупки товара.

Use Cases — это подробное рассмотрение User Story на определенном этапе. Например, клиент оставил заявку на сайте. Это один из этапов User Story. Но сам кейс — это заполнение конкретных полей при заказе.

Разница между функциональными и нефункциональными требованиями

Функциональные требования предполагают описание того, что нужно сделать. Изучаются требования заказчика. Нефункциональные требования касаются не технической части. Например, время отклика, на каких устройствах должно работать приложение.

📌 Техническая документация

Менеджеру приходится постоянно работать с технической документацией. Очевидно, что на собеседовании будут вопросы в этой теме.

Что такое техническое задание

Это самый главный документ, задание на разработку, в котором описывается, что нужно сделать, как это сделать. Туда же пишутся функциональные и нефункциональные требования. Техническое задание — это документ, который описывает, что должно получиться в итоге. Эти требования фиксируются и являются основой для работы всей команды. ТЗ дает защиту как разработчикам, так и клиенту. Потому что каждый соблюдает требования ТЗ.

Use Cases, Test Cases

Use Cases описывает сценарий взаимодействия участников. Он может быть представлен в виде диаграмм или в текстовом виде. Они нужны разработчикам, тестировщикам и всей проектной команде, чтобы понимать полную спецификацию требований. Test Cases нужны для того, чтобы тестировщик прошел по всему продукту и ничего не упустил. Они должны быть написаны так, чтобы любой тестировщик из другого проекта мог разобраться в них.

Где хранить и менеджерить требования

Все зависит от взаимоотношений с заказчиком. Для этой задачи подходит Confluence, причем удобнее хранить у себя, а не на сервере заказчика. Потому что менеджер может писать ту информацию, которую не хотел бы показывать заказчику. Также можно использовать Jira или Notion.

📌 Инструменты проекта

Какой Task Tracker лучше выбрать?

Каждый таск трекер имеет много классных фич, поэтому нужно смотреть возможности инструментов и подбирать под конкретные проекты. Часто пользуются Jira. Это не значит, что она лучшая, но этот инструмент в 33% вакансий на должность проектного менеджера.

Для чего нужен Project Planning?

В первую очередь, чтобы построить диаграмму Ганта. Это базовый инструмент для проектного менеджера, где можно отслеживать этапы ведения проекта, строить его от начала до конца. Инструменты Project Planning нужны для того, чтобы отслеживать результативность выполнения задач, смотреть, сколько остается времени и бюджета.

📌 Архитектура

Это отдельная большая тема, в которой менеджер должен хорошо разбираться, если хочет качественно вести IT-проекты, на котором мы подробно разбираем, что это такое, как устроена и зачем менеджеру вообще знать архитектуру.

Архитектура для проектного менеджера

PM должен понимать, где мы храним данные, с помощью каких данных мы вынимаем эти данные, будет ли архитектура клиент-серверной или другой. Архитектура — это схематическое пояснение, откуда и куда перетекают данные, как они обрабатываются, на каких этапах предоставляются пользователям.

  • монолит — в основе функциональные блоки, которые находятся в одной кодовой базе и зависят друг от друга;
  • микросервисы — базируется на отдельных модулях, которые взаимодействуют между собой по определенному алгоритму и образуют общую систему;
  • серверлес — альтернативный вариант микросервисов, который ориентирован на максимальное использование облачных технологий, за счет которых автоматизирует все развертывание.

Чем отличаются бэкенд и фронтенд

К примеру, у нас есть мобильное приложение. То, что у вас на устройстве, это фронтенд. То, с чем пользователь взаимодействует и видит. Бэкенд — это процессы, которые не видны пользователю. Обработка данных, хранение, передача, обращение к серверам. Этот же принцип работает с любым продуктом. То, что видит пользователь — фронтенд. Все, что происходит «за дверьми» — это бэкенд.

Что значит тонкий клиент и толстый клиент

«Толщина» клиента зависит от того, сколько логики находится на клиенте. Если у приложения минимальная логика на самом клиенте, а основная — на сервере, то образуется тонкий клиент. Если при загрузке приложения обрабатывается сразу большое количество данных на самом клиенте, то «толщина» увеличивается.

Разница между ними в вариантах обработки данных. Толстые клиенты преимущественно работают с информацией на основе собственных программных возможностей, в то время, как тонкие клиенты применяют ПО центрального сервера для обработки. Все браузеры и веб приложения, онлайн игры — это тонкие клиенты. А вот Microsoft Outlook или Office 365 — толстые.

Что такое база данных

Это место, где хранятся и обрабатываются все данные. Представлены в виде таблиц, в которых разделяются данные на столбцы и строчки. Например, имя пользователя, его номер телефона, почта. Все таблицы связаны между собой, поэтому при запросе одних данных, можно получить и другую информацию.

DNS что это такое

На собеседованиях часто приводят подобную ситуацию: пользователь вводит какие-то данные в поисковую строку браузера и нажимает кнопку «Найти». Как происходит весь процесс? На этот вопрос можно отвечать детально, но рекрутер ждет пояснения, что такое DNS.

Если есть физические сервера, на которых расположена информация, к ним нужно как-то получить доступ. У каждого сервера есть имя, которое выглядит в виде IP-адреса. Чтобы не запоминать большое количество цифр, была разработана DNS система. DNS имеет читабельный вид и иерархическую структуру, благодаря чему пользователь дает запрос и получает доступ к информации.

Зачем нужна репликация

Репликация нужна, чтобы делать копии баз данных. Сама база данных хранится на сервере, Но что с ней произойдет, если с сервером что-то случится? Сгорит, повредится, будет взломан? База данных потеряется. Годы работы могут исчезнуть. Избежать этого помогает репликация. Делаются копии баз данных и размещаются на разных серверах и локальных носителях. Регулярно БД обновляется, и с настраиваемой периодичностью реплики пополняются обновленной информацией.

В чем разница между микросервисом и монолитом

Монолит — это централизованная обработка запросов, а микросервисы — индивидуальная обработка запросов. Монолитное приложение выглядит, как единый общий модуль, в котором происходит вся работа. Архитектура микросервиса имеет несколько небольших развертываемых служб.

Что лучше — нельзя однозначно сказать, потому что каждый имеет свои особенности. Монолитная архитектура считается более традиционной, независимой от других сервисов, имеет единую базу кода. Чтобы внести изменения, необходимо обновлять весь стек. На начальных этапах проекта это выгодное решение, итак как развертывание происходит легче. Микросервис легче масштабировать, тестирование и обновление происходят быстрее и дешевле, приложение становится более гибким.

📌 Клиент-сервер

Что такое клиент-сервер

Это элементы архитектуры, которые подразумевают, что есть клиентская часть, которая взаимодействует с пользователем, а есть серверная часть — логика приложения. Клиентская часть отвечает за то, как показать пользователю данные, каким цветом вывести окошки, где будет кнопка. Серверная часть отвечает за сбор и хранение данных, обработку запросов и логику взаимодействия пользователя с продуктом.

Зачем нужен REST

Это набор определенных правил, которые показывают, как нужно общаться между клиентом и сервером. Это некий «транспорт», по которым передаются данные. Клиент запрашивает у сервера какие-то данные. Этот запрос идет на сервер и он отдает их. REST — это свод правил, который помогает серверу и клиенту понимать друг друга.

Куда выносить какую логику

Тут нет универсального ответа. Одни считают, что лучше всю логику выстраивать на бэкенде, а на клиент не давать нагрузку. Другие утверждают ровным счетом наоборот. Ответ, который понравится: все зависит от того, что мы делаем и в какой среде находимся. Можно вносить все на клиент, но все, что связано с безопасностью, выстраивать на бэкенд. Сложные вычисления которые связаны с оплатой, тоже лучше оставлять в бэкенд.  

📌 REST

В двух словах мы уже сказали, что REST — это определенный стиль взаимодействия между клиентом и сервером. Он помогает наладить коммуникацию между запросом и получением данных. В теме REST могут возникнуть следующие вопросы:

Что такое JSON, XML, HTML

Это форматы файлов, которыми обменивается клиент и сервер. Они не перечисляют все данные через запятую, их нужно структурировать. Это и есть варианты структуры. Json используется для обмена данными в мобильных устройствах, xml, html работают в вебе.

Методы update, delete, get, post

Мобильные девайсы взаимодействуют с бэкендом какими-то запросами. Условно говоря, это ссылка и какие-то дополнительные поля. Мы идем на ссылку и даем одну из команд: update, delete, get, post.

  • get — мы что-то забираем, например «Дай список контактов»
  • post — говорим, что нужно что-то добавить, например, нового друга в социальной сети
  • delete — этой командой мы говорим, что нужно удалить данные, например, файл с телефона
  • update — обновление файла: переименование, внесение новых данных.

📌 Фреймворки и библиотека

В чем разница между фреймворком и библиотекой?

Фреймворк — это некая структура с кодом, которая позволяет удобно что-то разрабатывать. Библиотека — это тоже структура с кодом, но она берется извне. Ее берут, как готовое решение для разработки. Кажется, что это более удобный и легкий способ разработки. Но библиотека — это стороннее решение, которое сложно дорабатывать.

Например, нужен календарь. Можно взять готовое решение из библиотеки и внедрить в приложение. Но если заказчик попросит добавить цвета в календарь, поменять шрифт, изменить начало недели не с воскресенья, а с понедельника, править ее будет сложно. Библиотека подходит для типовых и быстрых решений.

Git

Git — это система управления версиями. У нас есть разработчики, которые постоянно что-то дорабатывают, внедряют новые фичи. Чтобы не запутаться и получить строгую структуру, вводится система управления версиями. По ней не техническому специалисту могут задавать следующие вопросы:

Как работает Git

Чтобы не потерять готовые результаты, создается главная ветка — Мастер. Это уже рабочие утвержденные решения, которые подходят для релиза. Дальше приходит идея внедрить новую фичу. В мастере фиксируется «отправная точка», делается фича, тестируется и проверяется. В Git она идет отдельной веткой. В ней ведется разработка, связанная только с этой новой фичей. Когда она сделана, протестирована и принято решение внедрять ее, она мёрджится в Мастер.

Зачем нужен Git

Чтобы не запутаться. Самая сложная ветка — разработчиков. Там происходят основные процессы, появляется много багов в ходе работы и отслеживать их становится сложно. Но Git помогает выстроить ветки так, чтобы было наглядно понятно, что уже работает, а что нуждается в доработке.

Что такое merge, push, pull

  1. Merge — это процесс слияния кода из одной ветки в другую. Мержить — переносить код. Когда вам понятно, что фича работает, она добавляется в основную версию Git.
  2. Push — процесс, когда отдельный кусок кода нужно добавить в какую-то ветку.
  3. Pull — обратный процесс, когда нужно что-то убрать из ветки с кодом.

📌 Кросс-платформа

В современной разработке все реже используются только десктопные или только мобильные версии продукта. Но отдельно разрабатывать под каждую систему продукт достаточно дорого. Поэтому часто используется кросс-платформа. Нетехнический специалист должен понимать, что это за процессы и как они устроены.  

Что такое натив

Если разработка ведется на родном языке для определенной платформы, это называется натив. Например, если делается продукт под операционную систему iOs, то используется Swift.

Что такое кросс-платформа

Это процесс, при котором приложение разрабатывается с кодовой базой, которая работает на разных операционных системах. То есть приложение будет работать как на «яблоках», так и на андроидах. Несмотря на то, что это кажется более выгодным, кросс-платформенные решения имеют довольно много недостатков и не всегда работают качественно. Под каждый проект определяется стек технологий, и при разработке архитектуры решается, использовать натив или кросс-платформу.

Что дешевле

Для быстрого запуска стартапа с какой-нибудь функциональностью дешевле сделать кросс-платформенное решение. Если нужна хорошая функциональность, выгоднее делать ее на нативе. Потому что на кросс-платформе придется «натягивать» многие решения, в итоге это займет больше времени и сил. С точки зрения общей оценки, дешевле кросс-платформа. Но не всегда она подходит для проектов.

📌 Тестирование

Какие типы тестирования бывают?

  • Функциональное тестирование — мы берем и тестируем конкретную функциональность. Смоук тестирование применяется, когда обнаруживается маленький баг, не влияющий на функциональность. Регрессионное тестирование — это полный процесс проверки на баги всего кода, как правило, применяется перед релизом продукта.
  • Нагрузочное тестирование применяется для сложных продуктов с нефункциональными требованиями, связанными с нагрузкой. Например, приложение должно работать при одновременной нагрузке в 20 000 пользователей.
  • Интеграционное тестирование применяется тогда, когда сервер уже написан, а клиент еще меняется. Автотесты работают так: кодируются определенные действия или запросы, и проверяются ответы. Часто применяется при интеграционном тестировании.  

Дефекты по приоритетность и критичности:

Что такое приоритеты?

Каждому багу присваивают статус, который определяет важность тестирования и исправления. Как правило, используются статусы «Критичный», «Высокий», «Средний», «Низкий», «Блокер». При критическом статусе продукт не может работать, пока его не исправят, но при этом функциональность можно проверять. Блокер — это статус, при котором невозможно дальнейшее проведение тестов, пока он не будет устранен.

Part 12. Interview Tips to Get a Job Offer

Пошаговый план по поиску:

  1. Подготовить список из 25 компаний 
  • определиться с индустрией, компанию, департамент
  • проверить, насколько подходишь ты под требования компании и что требуется
  • Как и где искать: LinkedIn, Fortune 500, Glassdoor.
  1. Приоритизировать и “деприоритизировать” (в живую пообщаться с сотрудниками компании) - потренироваться в собеседованиях на тех компаниях, в которые вам хочется попасть меньше всего и уже потом подаваться в те организации, которые вам нравятся и где вы действительно хотите попробовать себя
  • Изучить ценности компании
  • Изучить страну - традиции, уровень жизни
  • Город, в котором потенциально будешь жить
  • Посмотри perks компании: оплачивается ли жилье, питание, наличие спортзала, фото офиса
  1. Получить Referral (человека, который вас порекомендует в компанию)

Важно: зачастую сотрудники сами заинтересованы в том, чтобы привести хорошего кандидата в компанию, так как за это им полагается бонус.

Поэтому первое впечатление важно, нужно расположить к себе возможно, будущего коллегу.

Примеры письма сотруднику понравившейся вам компании:

Hi, (name of the Referral)!

My name is …

I find your background really impressive!
I am currently in the position of Project Manager in the field of (IT, Blockchain and FinTech) areas.

And I am motivated to get to ... (name of the company) as a (name of the position).

I would immensely appreciate it if you could share your experience as well as some tips for a potential candidate.

Thank you.

  1. CV + Cover Letter (общие принципы и как выделиться?)

!!! Любое заявление нужно продкреплять фактом и историей

Покажите логику своего пути:

В СV - хронологическое изложение фактов не только о вашей работе, но и о вас, как о человеке

В Cover Letter - не просто перечисление фактов из CV, который очевидно привел вас к решению податься в эту компанию

Готовиться! Связаться с сотрудниками, узнать о тесте, попросить совета в подготовке, погуглить эти пробные/подобные тесты

  1. Digital Assessment
  2. Interview (11 вопросов, которые нужно подготовить в 100% случаях, самое главное в любом интервью)

11 вопросов, которые задают в БОЛЬШИНСТВЕ случаев на собеседовании:

  1. Расскажи о себе (2-3 минуты) (задает тон всему интервью и дальнейшему разговору на собеседовании)
  2. 3 главных достижения
  3. 3 провала (и чему вы научились/как вышли из ситуации провала/что выявили)
  4. 3 сильные стороны // 3 слабые стороны (подкрепленные примером и историей, как вы работаете над слабыми сторонами)
  5. Почему именно эта индустрия?
  6. Почему именно эта компания (предварительно нужно познакомиться с сайтом компании и ее миссией, видением, понять, какие продукты выпускает и чем занимается)
  7. Пример лидерства? Расскажите о ситуации, когда вы проявили себя как лидер
  8. Пример, как вы кого-либо переубедили (Например, когда команде и вам пришлось убеждать клиента в перспективности предлагаемого вами решения). На примере важно показать ваше умение быть убедительным в нужных ситуациях.
  9. Пример конфликтной ситуации
  10. Пример работы под давлением
  11. Пример “entrepreneurial drive” (как вы что-то с нуля создали, сделали, внедрили и какие результаты были получены по итогу вашей инициативы)

📌 Карьерная консультация

📌 Советы перед встречей с экспертом

  1. Подготовить свой запрос
  • сформулировать свои требования и ожидания от эксперта и встречи
  • выявить свою мотивацию
  1. Сформулировать список вопросов к эксперту на обсуждение в процессе
  • выявите приоритетные пункты, которые важно обсудить в порядке от самого главного к менее значимому
  1. Подготовьте всю необходимую информацию к консультации:
  • заметки для записей в самом процессе (для мыслей, вопросов, идей, инсайтов)
  • своё summary, рассказ о себе, портфолио с проектами, CV, Cover letter и пр.
  • рассказ об опыте, сильных/слабых сторонах, ваших причинах проблем, которые вы смогли самостоятельно выявить
  • выявите заранее свои достижения, факапы и результаты на предыдущих местах работы
  1. Ваша история прохождения собеседований до этого
  • статистика отказов/офферов ранее, за какой период
  • в чем вы видите для себя проблему/блокер: над чем хотите поработать
  • что ищете для себя сейчас:
  • какие компании
  • за рубежом // рос.рынок
  • какая индустрия, сфера, домен
  • примеры вакансий

Пример запроса:

Результаты, которые я жду по итогам консультации:

1. Понять мои зоны роста при презентации себя: над чем нужно поработать дополнительно.

2. Понять свои сильные стороны и на чем акцентировать внимание, как подать свою речь уверенно и красиво: ожидаю обсудить секреты публичного выступления и самопрезентации для HR и C-lvl менеджмента.

3. Получить материалы/советы/рекомендации для совершенствования навыки прохождения собеседований.

Note: не ожидайте от эксперта ответов на все вопросы. По итогам встречи у вас должен быть сформирован четкий вектор, куда двигаться дальше + понимание, над чем работать.

Пример запроса:

Как IT Project Manager я хочу получить навык презентации себя как дорого специалиста на рынке среди профессионалов в области проектного менеджмента, чтобы получить высокооплачиваемую должность по своей специальности.

Note х2: задавайте вопросы ПЕРЕД встречей, чтобы у эксперта создалось более четкое представление о вас + создали первое впечатление о себе

  1. В поисках какой компании вы находитесь и для чего это вам нужно: сформулируйте свою мотивацию
  2. На самой встрече: тихое место + настрой на плодотворный диалог + текстовый файл для фиксации мыслей/обратной связи

Note х3: записывайте свою консультацию, чтобы вы смогли пересмотреть встречу.

Note х4: научитесь отвечать по структуре на примере 10 типовых вопросов и тогда любые новые вопросы не будут заставать врасплох. Используйте нумерацию при ответах. Составьте ответ глубинный и продуманный о ваших сильных сторонах. Не говорите много и не повторяйте заезженные ответы, которые никому не интересны. У вас здесь есть шанс запомниться

Note х5: карьерная консультация не может решить и закрыть всех ваших проблем, она лишь повышает шанс удачного прохождения дальнейших этапов собеседований.

📌 Общие советы перед собеседованием

  1. Подготовьте рассказ о себе в нескольких вариантах

Pitch: рассказ о себе на 2 минуты о главных достижениях, которые позиционируют вас как специалиста, об опыте и образовании, т.е. полноценный рассказ
Для HR, для CEO и C-lvl менеджмента

Кратко: саммари о своем опыте в сжатом виде, по пунктам (опыт, проекты, компании в которых работали, сферы и домен)

  1. Практикуйте навыки самопрезентации и ответы. В практике весь смысл
  2. При ответах всегда выдерживайте структуру, используйте нумерацию в ответе. “Первое - это… второе … , из чего следует третье….”
  3. Вовлекайте собеседника в свои примеры/ответы, не затягивайте свой рассказ
  4. Чувствуйте ситуацию, считывайте на встрече (очной или дистанционной) язык жестов/поведение/реакцию/настроение нанимающего менеджера 
  • Помните! Собеседование – это двунаправленный, обоюдный процесс, не бойтесь задавать вопросы, уточнять прямо по ходу вашего ответа или рассказа, чувствуйте момент в переговорах, когда уместно задать тот или иной вопрос.
  • Чувствуйте ситуацию и практикуйте гибкость и адаптивность в момент ответа на вопрос. Вовлекайте в свой рассказ.
  1. Делайте паузу в ответе или возьмите несколько секунд на подумать перед сложным для вас вопросом
  2. Относитесь к отказам/игнору безэмоционально. Это не последний шанс, который у вас был, продолжайте искать дальше.
  3. Следите за своей речью, словами-паразитами. Практикуйте свои ответы, следите за структурой и последовательностью ответа
  4. Подсвечивайте в нужные моменты свои сильные стороны и достижения, акцентируйте внимание на сильной позиции
  5. Не называйте зарплатные ожидания первым, при таком вопросе в конце встречи, уточните вопросом на вопрос (опционально, смотрите по ситуации) “Какая зарплатная вилка у руководителей проектов на этой позиции у вас в компании?” Либо: “На своей текущей позиции я получала заработную плату чуть выше рынка. Мне было бы также интересно узнать, какие ожидания и диапазон вашей вакансии на данную должность?”
  6. Проводите кабинетные исследования, обращайтесь к коллегам компании, в компании, мониторьте Glassdoor, изучайте ежеквартальные репорты по компаниям // информация для инвесторов (там описывается информация, инфографика // возможные проблемы, изучайте презентации компании и отчеты).

📌 Что хочет видеть работодатель//нанимающий менеджер в кандидате.
Мотив:

  1. HR на 1 этапе, его мотив: сделать бриф и отсортировать на адекватность, чтобы пропустить дальше.
  • Что скажут менеджер и СЕО, если вас наймут, насколько вы подходите компании?
  • Насколько вы подходите целям бизнеса и отвечаете портрету бывшего сотрудника, на замену которого вас ищут. Строить ответы под цели бизнеса
  • Насколько ваш опыт релевантен бизнесу/компании/задачам, которые вы будете делать
    Уточняйте: почему вакансия открыта, задавайте открытые вопросы.
  1. Нанимающий менеджер/ПМ/СТО: насколько вы подходите в команду по духу, по настрою, по опыту.

Выделить самое важное, возможно то, что вас связывает с менеджером, найти общие точки соприкосновения в диалоге.

Использовать в нужно время свой бенефит, подкупить своей сильной стороной + запомниться

  1. СЕО: “Аэропортная встреча” (насколько с вами будет легко работать и находиться рядом как с человеком). Диалог на разные темы, уточняющие вопросы на тех моментах, где вы накосячили на техническом собеседовании, чтобы прощупать глубину ваших знаний, тест на адекватность.

📌 Фразы которые помогут очеловечить вашу речь, разбавить диалог и придать переговорам расслабленный формат

  • *HR: “давайте перейдем к следующему вопросу и обсудим …. (когда устал вас слушать)”*, ответ: “Да, конечно, давайте обсудим, у меня как раз есть несколько примеров касательно этой темы”
  • *Вы ответили на вопрос, в заключении можете сказать:* “Я ответил на ваш вопрос?” // “Возможно, у вас есть уточняющие вопросы, чтобы я мог уточнить какие-то моменты?” “Давайте я начну с общих вещей, а затем перейду к частным случаям в моей практике”.
  • Вам задали вопрос, который вас застал врасплох: “Да, возможно со стороны это может показаться странным/неочевидным, однако в данной ситуации …” (такие фразы позволяют вам выиграть время и подумать над дальнейшей логикой ответа)
  • Просто фразы в процессе разговора по ситуации: “Я наверное здесь остановлюсь” // “Я обрисую общие понятия, а затем при необходимости смогу уточнить какие-либо детали” // “Я на всякий случай прокомментирую” (в ситуации, когда вы назвали незнакомый термин)” – придайте своему рассказу расслабленный и человечный диалог, а не заученные ответы

📌Рефлексия/Выводы/Инсайты:

  1. Практикуйте умение отвечать на типовые вопросы (выделяйте по 15 минут на ответы на типовые вопросы в течение дня)
  2. Готовьте ответы на самые часто задаваемые вопросы, выделяя акценты
  3. Привлечь к себе внимание - Оценить боль работодателя, предложить решение - Запомниться
  4. Нельзя подготовить универсальный спич для всех: все зависит от контекста, ситуации, собеседника, ЛУЧШЕ развивать навык адаптивности при ответах на вопросы. Например, на вопросы "расскажите о себе" и "какой у вас опыт в проектном менеджменте" ответы должны быть разные.
  5. При ответе на вопрос ищите общие точки соприкосновения с компанией, делайте акценты на конкретных пунктах, показывайте заинтересованность в позиции
  6. Ведите себя дружелюбно и при ответе на ситуационные вопросы заинтересуйте собеседника, обрисуйте “сцену” ситуации, рассказывайте понятно. Например, HR не нужно забрасывать непонятными терминами, объясняйте структурно, последовательно, понятно.

Если не уверены, что дали достаточно технических деталей (если общаетесь с СТО// СЕО, уточните, достаточно ли развернуто вы дали ответ)

📌Задания

#1: рассказывайте незнакомым людям, чем вы занимаетесь в 5 предложениях, за 1 минуту.

#2: Поставьте себя на место нанимающего менеджера, ответьте, зачем ему нужны конкретно вы? В чем его мотивация? Задайте вопрос в течение разговора: “Почему позиция открыта?”

#3: Выстраивайте свой ответ в соответствии со структурой ‘Challenge – Action – Result + *опционально Lesson Learned (что вы поняли из этой ситуации)’ (Ситуация, Ваши действия в этой ситуации и Получившийся результат)

#4: Соберите ОС 360°: получите обратную связь от слушающих (друг, семья, консультант).
#5: Запишите свою презентацию в аудиосообщении, повторите эту практику минимум 3 раза, в каждом из которых убирайте лишнее или сомнительное (отправьте другу или коллеге на ревью).

И напоследок

Поиск работы, и, в общем смысле, карьера - это игра (в теории игр) с множеством переменных и акторов, выигрыш в ней заранее не гарантирован и не предопределен, но есть методы и техники, с помощью которых можно повысить вероятность хорошего исхода.

Поиск работы – это life-long learning навык, который нужно постоянно прокачивать.

📌 Для резюме

  1. Посмотреть пробное интервью (mock interview)
  1. Воспользоваться услугами карьерного эксперта (Ссылка: Эйч | 200+ экспертов из ведущих компаний)
  2. Как составить резюме на английском + советы: Как составить резюме на английском. Инструкция | dev.by 
  3. Шаблон для составления резюме: [Make a copy for yourself] Product Manager Resume Template 2022
  4. Черновик примеров ответов на поведенческие вопросы для международной компании от https://t.me/pm_god: поведенческие вопросы для ПМ
  5. https://telegra.ph/Hvalite-kompaniyu-Mnogo-Naizust-kak-vyderzhat-pervuyu-vstrechu-s-rekruterom-03-16 

Советы Junior PM на старте: https://telegra.ph/7-sovetov-menedzheru-novichku-kak-zasluzhit-uvazhenie-razrabotchikov-na-starte-03-06 

Проработать кейсы и внезапные вопросы на примерах: Онлайн-такси, Доставка, Стриминг музыки

На примерах компаний: Gett, TikTok, Microsoft, Yandex, Tinkoff, Sber, Revolt

Примерные вопросы:

  1. Что бы вы изменили в … компании?
  2. Как бы вы разработали фичу для сайта компании/платформы..?
  3. Распишите стратегию компании …
  4. Чего не хватает компании ..? Какие бы фичи вы предложили?

📌 Сервисы для создания Резюме (AI)

Вебинар: 5 секретов поиска работы внутри страны и за рубежом

Примеры Q&A: Guide on the Interview.pdf

© made by Yuri Nedre
LinkedIn:
https://www.linkedin.com/posts/yurinedre_list-of-30-it-project-manager-interview-questions-activity-7094923687555923971-We8E?utm_source=share&utm_medium=member_desktop 

  1. Why do you want to leave your company? / Why have you left your company?
  2. Why do you want to work for our company?
  3. Tell me about your strength?
  4. Tell me what motivates you?
  5. Can you please tell me why we should hire you?
  6. Can you please tell me how you will contribute to this company?
  7. Where do you see yourself in 5 years?
  8. What kind of projects have you managed and what was your success in
  9. them?
  10. Can you please provide an example of a project, which was going off track, and how did you get it back on plan
  11. Can you please describe with which project management methodologies are you familiar?
  12. What project management software have you used?
  13. Which techniques do you use for project management?
  14. Describe a challenging situation in your recent project and how you have overcome it?
  15. Describe a time when your workload was heavy and how you dealt with it.
  16. Describe a recent project where you were responsible for managing multiple people, streams or teams. What were some of the key challenges and how did you handle those challenges?
  17. Can you describe a situation where the stakeholder consistently changed  requirements and increased scope? How did you ensure stakeholder satisfaction while maintaining the goals of the project?
  18. Can you describe a time when you had to balance quality management with a challenged project schedule?
  19. Can you describe a time when you had a difficult situation working with a vendor? What was your approach to resolve the issues while maintaining a positive relationship?
  20. How do you manage difficult people or a problem with an employee reporting to you?
  21. Can you describe a situation where you had a conflict in your team? How did you handle it?
  22. You’ve been appointed as a Project Manager to a project where the team morale is low. What do you do to uplift it?
  23. Can you tell me what do you do when project priorities constantly change?
  24. : How do you handle pressure and stress?
  25. Describe the most complex project you have managed from start to finish.
  26. You are starting a new project, which includes offshore development. How  do you manage communications?
  27. What is velocity? How do you estimate your team’s velocity?
  28. What have you learned from your mistakes?
  29. How do you set and manage expectations (with customers, your managers and your team)?
  30. Describe the four phases of team building and how do you use it as an advantage on your project?
  31. Please can you describe your current salary/wage and benefits package? Including: base salary, superannuation, bonus or commission, vehicle / phone allowances, other benefits? What are your minimum expectations in the role you are now seeking?
  32. What notice are you required to give and what is your availability?

5 шагов поиска работы за рубежом:

  1. Выбрать карьерную цель
  2. Резюме
  3. Собеседование
  4. Нетворкинг
  5. JOb Offer

* HR в среднем тратит 10 секунд на резюме и первичный скрининг

Какие блоки должны быть в резюме:

Резюме – это ваша упаковка, оно должно быть продающим (!!!)

  • Шапка (контактные данные)
  • Саммари//Branding Statement – самая главная информация о вас, ваша мотивация в параграфе
  • Достижения (перечислить сильные глаголы+язык вакансии): детали, цифры, конкретика

  1. Чек-лист по составлению резюме: Чек-лист Резюме.pdf 
  2. Гайд по составлению резюме: Гайд.pdf 
  3. Пример резюме: Roman Kovalevsky, Program Manager CV.pdf (ТГ-канал: @pm_god)

Полезные советы: @pm_god

***Пример саммари и рассказа о себе:

Основные ошибки при поиске:

  • Думаете, что работодатель из тысячи заявок заметит именно вас
  • Не отслеживать тренды на рынке труда (2020-е – AI)
  • Незнание своей рыночной стоимости
  • Не используете нетворкинг

Тренды поиска работы:

  • Удаленная работа
  • Навык самопрезентации - готовиться к удаленной встрече
  • Спрос на soft skills
  • Качественные условия труда

Тест на выявления ведущего мотива работы: https://psytests.org/profession/herz.html 

Собеседование

Ошибки:

  • Не узнали ничего о компании
  • Не смогли вспомнить ситуацию, где вы проявили себя, как.. (лидер/ответственный/…)
  • Не подготовили и не продумали свои условия заранее
  • 90% ответов на вопросы у вас уже должно быть заготовлено заранее (!!!)
  • Не подготовились к неудобным вопросам
  • Не задали свои вопросы в конце беседы или в середине диалога с HR

Каналы поиска работы:

  • Рекрутинговые агентства
  • LinkedIn
  • Нетворк и рефералы

 

Как расти в доходе на 30-50%?

  • Оцифровать свои компетенции
  • Изучить рынок и средние зарплаты
  • Подготовиться к диалогу с руководителем (3-4 беседы и согласования)

Вопросы для компании

  1. Сколько в среднем существуют проект и продукты по длительности реализации?  
  2. Какие у вас ожидания от кандидата на эту должность?
  3. Чем конкретно предстоит заниматься в первое время? Какие задачи сейчас в приоритете?
  4. Какой состав команды на проекте предполагается?
  5. В каком формате организована работа по отчетам о работе: кому я смогу репортить о прогрессе//как часто?
  6. Сколько сотрудников у вас в компании? Сколько в среднем работают люди у вас в компании?
  7. Работаете ли вы на межд. рынке? Планируете ли переход на этот этап?
  8. Как будут оцениваться мои результаты? От каких факторов они зависят?
  9. Кто будет моим руководителем? С кем я буду работать?  
  10. Какие ежедневные задачи есть у ПМа?  
  11. Сколько проектов ПМ ведет в параллель?
  12. Какие важные компетенции должен иметь пм в вашей компании?  
  13. Как будет выглядеть процесс онбординга? Будет ли закреплен ментор?  Кому я буду репортить о прогрессе и статусе проекта в вашей компании?
  14. Готова ли компания инвестировать в обучение сотрудников?
  15. Расписывается лм карьерный рост и план развития для сотрудников?  
  16. Сколько человек в команде на 1 проекте?
  17. Какой стек технологий?  
  18. Какие инструменты используются в работе?
  19. Какие особенности ведения проекта есть у вашей компании? какую методологию вы используете?
  20. По каким критерия ПМа оценивают в первые 3 месяцы работы?
  21. Есть ли система грейдирования? Как работает система мотивации? предусмотрены ли бонусы?
  22. Какие важные компетенции должен иметь ПМ в вашей компании?
  23. Как будет выглядеть процесс онбординга? Сколько составляет процесс по времени?
  24. Расписывается ли карьерный рост и план развития для сотрудников?
  25. Какие инструменты используются в работе над проектом?
  26. Какие ежедневные задачи есть у ПМа?  
  27. Сколько проектов пм ведет в параллель?
  28. Какие компетенции ПМа важны для вашей организации?
  29. Предусматривается ли обучение и развитие сотрудников в вашей компании?
  30. Какие горизонтали и вертикали роста по моей позиции?
  31. Есть ли возможность перейти внутри компании на другую позицию?
  32. Как быстро внутри компании растут джуниор специалисты?
  33. Каким проектом я буду заниматься, если смогу стать частью вашей команды?
  34. Присутствует ли у вас ПМО офис? Какую функцию и роль он выполняет? Кому я буду непосредственно репортить о прогрессе и статусе проектов?

📌 Ожидания от кандидата

  1. Какие ожидания от специалиста на этой позиции на время испытательного срока? Какие будут основные задачи на это время?  
  2. Какие ожидания после испытательного срока? (задачи/больше ответственности)

📌 Прочее

  1. Когда можно ждать фидбек по интервью? Какие дальнейшие этапы найма? С кем я смогу поговорить?

📌 О проекте

  1. Как поставлено тестирование?
  2. Сколько проектов может быть одновременно?
  3. Где происходит коммуникация? Какой у вас таск трекер?
  4. На каком проекте я буду работать? (Возможно, есть ли уже какие-то детали)
  5. Какие задачи стоят перед командой на ближайшее время?
  6. Кто будет давать мне задачи? Бывает ли так, что задачи нужно ставить самому себе?
  7. Как происходит отбор задач? Как вы понимаете, что возьмете в работу, а что — нет?
  8. Нужно ли делать отчеты? В каком виде?
  9. На какой стадии находится проект?
  10. Какие технологии и инструменты используют на проекте?
  11. Как строятся рабочие процессы? Используете ли вы какую-либо методологию работы?

📌 О позиции

  1. Как происходит процесс онбординга?
  2. Какие сложности меня могут ожидать на этой позиции?
  3. Какие задачи стоят перед сотрудником на этой позиции?
  4. По каким показателям оценивается эффективность сотрудника на этой должности?
  5. Выполнял ли кто-то эти задачи до меня?
  6. Каких результатов вы ждете от нового сотрудника во время испытательного срока?
  7. Какие перспективы роста в этой должности в вашей компании?

📌 О команде

  1. Сколько человек в команде?
  2. Какие роли есть в команде? Расскажите о составе, численности и квалификации команды.
  3. Команда работает в офисе или удаленно? Если удаленно, как она распределена?
  4. С кем мне нужно будет взаимодействовать?
  5. Нужно ли сотрудничать с другими отделами и командами? Как происходит это взаимодействие?

Part 13. Карта компетенций IT Project Manager

📍 Как оценить PM’a | Статья от Ивана Селиховкина: Профессиональная оценка для ПМа 

📍 Матрица компетенций от Александра Белковец: RU Delivery Manager Skill matrix 

📍 Матрица компетенций от Семена Колосова: Template_Download PM Skillset by Semyon Kolosov, пост: https://t.me/moms_pm/121 

Junior PM

Middle PM

Senior PM

Soft Skills

  1. Базовое понимание ролей в команде в команде (кто за что отвечает)
  2. Участие в пресейле, сопровождение по оценкам
  3. Контроль и мониторинг сроков, бюджета, объема задач
  4. Общение с клиентом
  5. Ведение и управление проектами Студии с нуля до сдачи
  6. Проведение переговоров с клиентами
  7. Разработка креативных идей в работе над проектами
  8. Проработка и изучение Технических заданий, полученных от Заказчика
  9. Создание прототипов
  10. Составление презентаций и презентация работ клиенту
  11. Планирование графика работ над проектами и оптимизация процессов для достижения максимального результата
  12. Планирование ресурсов на проект, просчет рентабельности проекта, утилизации ресурсов
  13. Постановка задач и сроков, контроль исполнения и качества
  14. Составление еженедельной отчетности по каждому проекту
  15. Развитие внутренних проектов приложения, сайты, блоги, web3…
  1. Мотивация команды
  2. Демонстрация результатов проекта
  3. Переговоры
  4. Брифование клиента, составление ТЗ, составление декомпозиции задач
  5. Работа с рисками проекта
  6. Ведение бюджета проекта
  7. Масштабирование проекта - Upsale
  8. Тайм менеджмент
  9. Лидерство
  10. Решение конфликтных ситуаций в команде и с заказчиком
  11. Параллельное ведение нескольких проектов
  12. Проведение митингов с командой
  13. Ведение истории проекта и описание use case
  14. Знание английского B2//C1
  15. Управление интеграцией проекта

  1. Delivery Management
  2. Release Management
  3. Менторинг, обучение других ПМов, создание ПМ офиса, ведение программ и портфелей проекта
  4. Сертификация и повышение квалификации//участие в конференциях – трансляция опыта и передача best-практик//Sharing знаний
  5. Знание английского B2//С1

Tech Background

Hard Skills

  1. Работа с оценками перед началом проекта
  2. PSM I, PSM II, PSM III сертификация
  3. Курс Ивана Селиховкина
  4. Уверенное владение одним из таск трекеров (JIRA, Asana, Trello)
  1. Построение прототипов в Figma
  2. Умение отправлять запросы через Postman
  3. Умение работать с GitLab, GitHub (знание CI/CD), Redmine, Asana, Miro, Figma, Google Docs
  4. Владением фреймворками и методологиями. Опыт в построении CJM, описание buyer persona, user stories, проведение конкурентного анализа, jobs-to-be-done, design sprint, usability testing and audit
  5. Навыки проектирования интерфейсов в след программах: Figma, Moqups, Marvel
  1. Знание одного языка программирования
  2. Понимание проектных методологий (Agile/Kanban/Scrum) - умение выстраивать процесс с нуля в проекте
  3. Опыт работы в продуктовой команде (тестирование гипотез, создание MVP, продуктовая аналитика, пивотинг, unit экономика, ICE/RICE, Go-to-market strategy)
  4. Организация работы большой распределенной команды
  5. Разработка стратегии развития проектов и ее адаптация совместно с командой
  6. Самостоятельное принятие решений по процессам и команде внутри своей зоны ответственности
  7. Планирование разработки и контроль выполнения планов
  8. Формирование процессов производства фичей и контента в соответствии с потребностями продукта
  9. Развитие, обучение и оценка команды менеджеров и ключевых сотрудников разработки
  10. Участие в процессе найма и адаптации сотрудников
  11. Распространение успешного опыта внутри своей команды и в компании
  12. Технический бекграунд и знание принципов и процессов разработки ПО
  13. Опыт составления требований к разработке ПО и интеграционных решений
  14. Опыт проектирования SOAP- и REST-сервисов
  15. Знание нотаций UML/BPMN, инструментов моделирования процессов (Visio, Draw.io)
  16. Опыт написания SQL–запросов, работа с ELK

Personal Traits

  1. Аналитическое//Системное мышление
  2. Критическое мышление
  3. Проактивность
  4. Стрессоустойчивость
  5. Адаптивность
  6. Гибкость мышления
  1. PMP сертификация
  2. Решительность//Умение брать ответственность на себя
  3. Компетентность//Экспертиза в вопросах управления, личный бренд

1. Умение выстраивать процессы с нуля

2. Самоходность, зрелость в вопросах управления

3. Понимание особенностей каждой методологии ведения проекта

Part 14. Траектории развития в смежные области для PM

  1. Business Developer
  2. Product Owner
  3. Project Delivery Manager
  4. Product Manager = Project manager, который управляет проектом=продуктом
  5. Product Owner это более высокая позиция которая расширяется и маркетинговой составляющей, ресерчем, Test&Try гипотезами и т.п.
  6. Chief Product Owner – это уже ответственность за экосистему продуктов или целый ряд линейку продуктов

Вариативно, в зависимости от компании, сферы и рынка, у IT PM могут быть следующие карьерные линии:

1. Project manager - Program manager - Portfolio Manager - Head of PMO / Chief Project Officer

2. Project manager - Delivery Manager - Delivery Director

3. Scrum Master - Agile Coach

4. IT Manager - Middle/Senior IT Manager - Head of IT Department - IT Director - CIO.

5. Project manager - Product manager - Product Owner (не путать с ролью в скрам) - Chief Product Owner

6. Операционные руководители вроде COO//CIO//CTO// CEO.

7. BDM (Business Development Manager) / Business Analyst / QA.

8. Product Owner - Product Manager - Lead/Senior Product Manager - Chief Product Officer

Лекция от Романа Жульпо: Куда расти проджекту? 

Желающим донатить: https://www.donationalerts.com/r/nadiafirsova