Каждый сотрудник Design and Test Lab имеет право на карьерный рост в рамках организации.

Цели программы карьерного роста:

  1. Реализация заинтересованности сотрудников в профессиональном и карьерном росте.
  2. Обеспечение роста социального и материального.
  3. Предоставление возможностей для профессионального самовыражения и творчества.
  4. Формирование корпоративных условий социальной защищенности и социальных гарантий.

Идеология:

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

Лозунг:

Честолюбие — это то, от чего в последнюю очередь отрекаются мудрецы!

Требования в карьере делятся на несколько типов:

  • знать, например: “знать шаблоны проектирования”;
  • уметь, применять, например: “уметь рефакторить”, “применять шаблоны программирования”;
  • соблюдать, например: “соблюдение стандартов документирования кода”.

Экзамены проводятся относительно избранных источников.

Правильное отношение к карьерным экзаменам

Правильное отношение к карьерному экзамену — повысить свой уровень квалификации, иметь больше знаний и навыков, чтобы эффективнее решать поставленные задачи, получить больше ответственности и больше полномочий.

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

Подготовка к экзаменам

“Знание стандартов документирования кода”

Проверяется устным или письменным экзаменом.

Библиография:

“Знать шаблоны проектирования”

Проверяется устным или письменным экзаменом.

Библиография:

  • Эрих Гамма, Р. Хелм, Р. Джонсон, Дж. Влисс. “Приемы объектно-ориентированного проектирования. Паттерны проектирования”.

Вопросы:

  1. Назовите принцип объектно-ориентированного проектирования для повторного использования (по Гамме)?
  2. Назовите второе правило объектно-ориентированного проектирования (по Гамме)?
  3. Какая самая трудная задача в объектно-ориентированном проектировании (по Гамме)?
  4. В чем отличие класса объекта от типа объекта?
  5. Назовите механизмы повторного использования?
  6. Назовите назначение паттерна X?
  7. Назовите паттерн для назначения X?
  8. В чем отличие паттерна X от Y?
    • Abstract Factory от Builder
    • Abstract Factory от Factory Method
    • Strategy от State
    • Adapter от Decorator
  9. Где можно было бы применить паттерн X в текущих или прошлых проектах?

“Знать архитектуры приложений”

Проверяется устным или письменным экзаменом.

Библиография:

  1. Мартин Фаулер. “Шаблоны корпоративных приложений”.
  2. Эрик Эванс. “Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем”.
  3. Сэм Ньюман. “Создание микросервисов”.
  4. Владимир Обризан, Сергей Зайченко “Конспект эксперт-лекций по надежному программному обеспечению”.
  5. ISO/IEC/IEEE 42010 Systems and software engineering — Architecture description, 2011.
  6. Гради Буч. “Объектно-ориентированный анализ и проектирование”

Вопросы:

  1. Что такое архитектура (architecture)? Что такое архитектурное описание (architecture description)?
  2. Почему архитектурные ошибки очень дороги в исправлении, будучи обнаруженными на поздних этапах разработки?
  3. Какие методы раннего обнаружения архитектурных ошибок вы знаете?
  4. Что такое исполнимая спецификация?
  5. Что такое шаблон Спецификация (Specification)?
  6. Что такое шаблон Репозиторий (Repository)?
  7. Что такое информативный интерфейс?
  8. Поясните принцип command-query separation, зачем он нужен?
  9. Поясните многослойную архитектуру приложения, ответственности всех слоев.
  10. Что такое предохранительный уровень (anti-corruption layer)?
  11. Что такое адаптивность?
  12. Что такое конфигурируемость?
  13. Что такое тестопригодность?
  14. Что такое предметно-ориентированные языки? Как они способствуют надежному программированию?
  15. Что такое сущность (entity)? Что такое объект-значение (value-object)?
  16. Что такое агрегат?
  17. Что такое структура классов? Что такое структура объектов? В чем их отличие?