- Моделирование, абстракции и повторное использование, декомпозиция и разделение ответственности, парадигмы
- Значение, идентификатор, тип, контекст, оператор, выражение, блок кода, функция, цикл, условие, замыкание, исключение
- Структуры данных, оценка сложности, проекции и отображения наборов данных
- Технологический стек, отладка, структура приложения, объекты и классы, основы ООП и ФП, зависимости и библиотеки
- Парадигмы программирования: императивное, декларативное, ООП, ФП, реактивное и прототипное программирование т др.
- Антипаттерны, рефакторинг, ревью кода, оптимизация, улучшение качества
- Анализ предметной области, тестирование, рефакторинг, оценка и планирование ПО, групповая работа, CI/CD
- Расширенные концепции, интроспекция и рефлексия, ввод-вывод и работа с файлами
- Архитектура, связывание, взаимодействие между компонентами ПО, интерфейсы, контракты, слоеная архитектура
- Основы параллельных вычислений и асинхронное программирование, модель акторов, Lock-free структуры данных
- Обобщенное и автоматное программирование, DSL, метапрограммирование, мультипарадигменное программирование
- Базы данных и постоянное хранение, ключ-значение, реляционные, объектно- и документо-ориентированные БД
- Распределенные системы, межпроцессное взаимодействие, CRDT, CAP, стратегии разрешения конфликтов, CQRS, EventSourcing