Роли · Compiler Engineer · Middle

Что должен уметь Middle }

12 ключевых навыков, всего 55. Ожидания по каждому навыку и что меняется на следующем уровне.

На этой странице — что ожидается от Middle }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Контроль версий и коллаборация, Компиляторы и языки.

12ключевых навыков
43дополнительных навыков
3областей
0%на уровне Продвинутый или Эксперт
Оценить себя как Middle Полная матрица роли

Ключевые навыки для Middle

Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.

Основы программирования · 3

Уверенно применяет algorithms complexity для compiler engineer при решении нестандартных задач. Самостоятельно выбирает оптимальный подход и инструменты. Анализирует trade-offs и предлагает улучшения существующих решений.

Уверенно применяет code quality для compiler engineer при решении нестандартных задач. Самостоятельно выбирает оптимальный подход и инструменты. Анализирует trade-offs и предлагает улучшения существующих решений.

Структуры данных Применение

Уверенно применяет data structures для compiler engineer при решении нестандартных задач. Самостоятельно выбирает оптимальный подход и инструменты. Анализирует trade-offs и предлагает улучшения существующих решений.

Контроль версий и коллаборация · 1

Code Review Применение

Уверенно применяет code review skill для compiler engineer при решении нестандартных задач. Самостоятельно выбирает оптимальный подход и инструменты. Анализирует trade-offs и предлагает улучшения существующих решений.

Компиляторы и языки · 8

AST и IR Manipulation Применение

Реализует сложные трансформации AST: constant folding, dead code elimination, inlining. Использует babel/typescript compiler API для трансформации кода. Пишет плагины для ESLint и TSC.

Code Generation Применение

Реализует кодогенерацию для стекового или register-based bytecode. Использует LLVM или QBE для native кодогенерации. Генерирует оптимизированный код для паттернов вызовов функций.

Compiler Optimization Passes Применение

Реализует optimization passes: function inlining, loop unrolling, vectorization hints. Использует dominators, loop analysis и alias analysis. Измеряет влияние passes на размер кода и производительность.

Interpreter Design Применение

Реализует bytecode compiler + VM интерпретатор для простого языка. Понимает dispatch techniques: switch dispatch, threaded code. Оптимизирует основной interpreter loop.

JIT Compilation Применение

Реализует baseline JIT компилятор для простого bytecode формата. Понимает tracing JIT vs method JIT архитектуры. Реализует базовые inline caches для динамических вызовов методов.

Lexing и Parsing Применение

Реализует LL(k) и LR парсеры, строит AST для языков программирования. Использует генераторы парсеров (ANTLR, yacc/bison). Обрабатывает синтаксические ошибки с error recovery стратегиями.

LLVM Framework Применение

Пишет LLVM Analysis и Transform passes на C++ API. Генерирует LLVM IR программно для простых конструкций. Использует opt и llvm-dis для анализа и отладки pipeline.

Type Inference и Type Checking Применение

Реализует bidirectional type checking для языков с type annotations. Понимает constraint-based type inference. Пишет type checker для языка с generics и simple subtyping.

Дополнительные навыки

Команда их не оценивает, но они входят в самооценку и план развития.

Алгоритмы на графахАсинхронное программированиеДженерики и параметрический полиморфизмИммутабельность и персистентные структурыИнтеграционное тестированиеМногопоточное программированиеМонады и функторыОсновы сетейОсновы функционального программированияОсновы System DesignПаттерны проектированияПрактики безопасного кодаПринципы ООП и SOLIDПрофилирование памятиСтруктурированное логированиеТипобезопасность и системы типовУправление памятьюAWSBenchmarking ToolsChatGPT / ClaudeCPU ProfilingDockerDSL Design и ImplementationGit AdvancedGitHub Actions / GitLab CIGitHub CopilotI/O и Disk ProfilingKubernetes CoreLanguage Server ProtocolLatency OptimizationMemory ProfilingOWASP и безопасность приложенийPerformance BudgetsPostgreSQLPrometheus и GrafanaPrompt Engineering для кодаProperty-Based TestingRedisResource Optimization FinOpsREST API DesignTDD и BDDThroughput OptimizationUnit-тестирование

Что меняется на Senior

55 навыков получают более высокое ожидание или становятся ключевыми при переходе с Middle на Senior. Сначала самые большие скачки.

Страница Senior →
Прогоните это со всей командой
Самооценка плюс оценка руководителя и коллег по одной матрице, зоны роста и готовность к следующему уровню для каждого инженера. Team Pro бесплатно 14 дней; личные инструменты бесплатны всегда.
Попробовать с командой (14 дней бесплатно) Отправить тимлиду

} в открытой матрице компетенций: 55 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.