Роли · Backend Developer (Python) · Junior

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

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

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

37ключевых навыков
36дополнительных навыков
11областей
0%на уровне Продвинутый или Эксперт
Оценить себя как Junior Полная матрица роли

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

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

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

Алгоритмы и сложность Осведомлённость

Знает базовые алгоритмы сортировки и поиска. Понимает нотацию Big-O для простых случаев (O(1), O(n), O(n²)). Может оценить сложность простого цикла. Использует встроенные sorted() и collections для решения задач.

Понимает концепцию асинхронного программирования. Пишет простые async/await функции. Знает разницу между sync и async кодом. Использует httpx или aiohttp для асинхронных HTTP-запросов.

Следует стандартам PEP 8. Использует линтеры (flake8/ruff) и форматтеры (black). Пишет docstrings для функций. Понимает принципы чистого кода: осмысленные имена, маленькие функции, DRY.

Понимает концепции потоков и процессов. Знает о GIL в CPython и его влиянии. Использует threading для простых I/O-bound задач. Понимает разницу между threading и multiprocessing.

Паттерны проектирования Осведомлённость

Знает базовые паттерны: Singleton, Factory, Observer. Понимает назначение Repository и Service Layer. Может распознать паттерн в существующем коде. Применяет простые паттерны по рекомендации senior.

Принципы ООП и SOLID Осведомлённость

Понимает инкапсуляцию, наследование, полиморфизм в Python. Создаёт классы с __init__, свойствами и методами. Знает принципы SOLID на базовом уровне. Использует property декораторы и dunder-методы (__str__, __repr__).

Структуры данных Осведомлённость

Знает основные структуры данных Python: list, dict, set, tuple. Понимает разницу между mutable и immutable типами. Использует list comprehension и dict comprehension. Знает когда использовать set вместо list для поиска.

Использует базовые type hints: str, int, list[str], Optional. Понимает зачем нужна типизация в Python. Знает основные типы из typing module. Запускает mypy для проверки типов.

Backend Development · 5

Python Web Frameworks Применение

Создаёт CRUD endpoints с FastAPI или Django REST Framework. Использует Pydantic для валидации. Понимает dependency injection. Работает с Django ORM/SQLAlchemy для базовых запросов.

Стратегии кэширования Осведомлённость

Понимает зачем нужно кэширование. Знает cache-aside паттерн. Использует TTL для автоматической инвалидации. Понимает проблему stale data.

Apache Kafka Осведомлённость

Понимает концепцию message broker. Пишет простые producers и consumers с confluent-kafka-python. Знает что такое topic, partition, offset. Понимает at-least-once семантику.

Redis Осведомлённость

Использует Redis как простой key-value кэш через redis-py. Понимает TTL и expiration. Кэширует результаты API-вызовов. Знает базовые команды: GET, SET, DEL, EXISTS.

Task Queues Осведомлённость

Понимает концепцию фоновых задач. Создаёт простые Celery tasks. Использует delay() и apply_async(). Понимает разницу между синхронной и асинхронной обработкой.

Базы данных · 5

PostgreSQL Применение

Пишет SQL-запросы: SELECT, JOIN, WHERE, GROUP BY. Создаёт таблицы с правильными типами данных. Использует ORM для CRUD. Понимает foreign keys и constraints.

Индексирование БД Осведомлённость

Понимает что индексы ускоряют SELECT. Знает CREATE INDEX синтаксис. Добавляет индексы по рекомендации. Понимает что индексы замедляют INSERT.

Миграции БД Осведомлённость

Создаёт миграции через инструменты миграций. Понимает forward и rollback. Добавляет колонки и таблицы. Тестирует миграции локально.

Оптимизация запросов Осведомлённость

Пишет базовые SQL (SELECT, JOIN, WHERE, GROUP BY). Понимает что запросы могут быть медленными. Знает что EXISTS быстрее IN для подзапросов.

Создаёт базовые схемы с таблицами и связями. Понимает 1:1, 1:N, N:M отношения. Применяет нормализацию до 3NF. Использует правильные типы данных.

API и интеграции · 4

REST API Design Применение

Создаёт CRUD endpoints с правильными HTTP methods. Использует статус-коды (200, 201, 400, 404, 500). Понимает JSON request/response. Добавляет query parameters для фильтрации и пагинации.

Документирование API Осведомлённость

Добавляет описания к endpoints (docstrings, summary). Понимает OpenAPI спецификацию. Использует Swagger UI для тестирования. Документирует request/response models.

Понимает зачем нужно версионирование API. Знает URL-based versioning (/api/v1/). Поддерживает обратную совместимость при добавлении полей. Следует гайдлайнам команды.

Тестирование API Осведомлённость

Тестирует API через Postman или Insomnia. Создаёт базовые коллекции запросов. Использует переменные окружения. Проверяет status codes и response body.

Облако и инфраструктура · 4

Docker Применение

Пишет Dockerfile для Python-приложений. Использует docker-compose для локальной разработки. Понимает image layers и кэширование. Использует .dockerignore.

Основы сетей Осведомлённость

Понимает TCP/IP, DNS, HTTP/HTTPS в контексте Python-приложений. Знает как работают порты, firewall rules, load balancers. Диагностирует проблемы соединения через curl, telnet, netstat. Настраивает CORS в Django/FastAPI.

AWS Осведомлённость

Знает основные сервисы: EC2, S3, RDS, Lambda. Использует AWS Console. Понимает IAM roles и policies. Деплоит через CLI.

Kubernetes Core Осведомлённость

Понимает основные ресурсы: Pod, Deployment, Service. Деплоит приложения через kubectl. Читает логи подов. Понимает ConfigMaps и Secrets.

DevOps и CI/CD · 1

GitHub Actions / GitLab CI Осведомлённость

Понимает CI/CD pipeline. Создаёт простые GitHub Actions workflows. Запускает тесты и линтеры в CI. Использует actions из marketplace.

Тестирование и QA · 2

Unit-тестирование Применение

Пишет unit-тесты с pytest. Использует assert statements и fixtures. Тестирует happy path и edge cases. Понимает test isolation. Запускает тесты локально и в CI.

Понимает разницу между unit и integration тестами. Тестирует API endpoints. Использует тестовую БД для integration тестов.

Безопасность · 3

Практики безопасного кода Осведомлённость

Валидирует входные данные. Не хранит пароли в открытом виде (bcrypt). Использует HTTPS. Не логирует sensitive data. Следует security checklist.

JWT / OAuth2 / OIDC Осведомлённость

Понимает JWT: header, payload, signature. Использует JWT для аутентификации. Знает OAuth2 flows на базовом уровне. Хранит токены безопасно.

Знает OWASP Top 10. Понимает SQL injection и XSS. Использует параметризованные запросы. Валидирует входные данные через Pydantic.

Архитектура и проектирование · 1

Основы System Design Осведомлённость

Понимает клиент-серверную архитектуру. Знает HTTP request lifecycle. Понимает базовые концепции: latency, throughput, availability. Знает что такое load balancer и CDN.

Observability и мониторинг · 2

Использует logging module вместо print. Понимает log levels (DEBUG, INFO, WARNING, ERROR). Добавляет контекст в логи. Использует structlog или python-json-logger.

Prometheus и Grafana Осведомлённость

Понимает концепцию метрик (counter, gauge, histogram). Просматривает Grafana dashboards. Знает основы PromQL. Добавляет базовые метрики в приложение.

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

Git Advanced Применение

Использует branching (feature branches, main). Делает commits с осмысленными сообщениями. Создаёт pull requests. Разрешает простые merge conflicts. Использует .gitignore.

Code Review Осведомлённость

Участвует в review как ревьюи. Понимает замечания reviewer. Исправляет код по feedback. Знает базовый checklist для self-review.

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

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

ChatGPT / ClaudeGitHub CopilotДокументация как кодПаттерны Message BrokersПроектирование WebSocket APIСканирование безопасности контейнеровУправление дежурствамиУправление памятьюШардирование БДClean ArchitectureConnection PoolingCPU ProfilingCQRSCursor IDEData FetchingE2E тестированиеElasticsearch / OpenSearchELK StackEvent-Driven ArchitectureFeature FlagsGraphQL DesigngRPC и Protocol BuffersgRPC и Protocol BuffersHighload архитектураLatency OptimizationMemory ProfilingMongoDBOpenTelemetryPerformance BudgetsPrompt Engineering для кодаRabbitMQRate Limiting и ThrottlingSecrets ManagementSLI / SLO / SLATDD и BDDTerraform

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

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

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

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