Files
CppDeveloperRoadmap/Grades/Middle.md
Dmitriy Dmitriev 02cf86341b Update Middle.md
2021-09-26 20:07:51 +03:00

3.1 KiB
Raw Blame History

Middle C++

Кто это?

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

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

Что ожидается по умению написания кода?

  • Компилятор и язык его больше не пугают и практически не приносят сюрпризов, а если и приносят, то способен самостоятельно генерировать гипотезы, проверять их и копать вглубь;
  • Ориентируется в базовых концепциях языка и понимает, какие ещё языки существуют и чем они отличаются;
  • Пишет понятный и поддерживаемый код;
  • Знает базовые принципы дизайна и на их основе способен принять техническое решение;
  • Понимает не только язык программирования, но и его технический контекст, то есть понимает весь технический цикл, через который проходит код и ориентируется в инструментах, которые помогают этот цикл поддерживать:
    • Написание кода (IDE, текстовые редакторы, практики программирования, качество кода);
    • Хранение исходного кода и продуктов (системы контроля версий, пакетные менеджеры, серверы);
    • Компиляция (компиляторы, системы сборки, библиотеки);
    • Тестирование (фреймворки, стратегии тестирования);
    • Доставка;
    • Выполнение (операционные системы);
  • Глубже понимает и знает базовую информатику (структуры данных, конечные автоматы, алгоритмы).

Что ожидается по общим навыкам?

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

Рекомендации и советы