з/п не указана
Санкт-Петербург
От 3 до 6 лет
Оформление в аккредитованную IT-компанию.
Обязательные технические требования:
C# и платформа:
- C# / .NET: Уверенное знание C# и платформы .NET (Core), понимание различий между .NET Framework и сore.net.
- ASP.NET Core: Опыт создания Web API, RESTful сервисов, понимание Middleware-конвейера, фильтров, внедрения зависимостей (DI).
- Понимание Razor/Blazor/MVC.
- ORM / Базы данных: Entity Framework Core или Dapper. Знание SQL на уровне написания сложных запросов, понимание планов выполнения (для MS SQL Server, PostgreSQL).
- Асинхронность и многопоточность: Понимание async/await, потоков, задач, блокировок и способов избежать deadlock’ов.
- Основы frontend: шаблоны, html, css, js и его фреймворки (React, jQuery и так далее)
DevOps и CI/CD:
- Контейнеризация: Опыт написания продакшен-ready Dockerfile’ов для .NET-приложений (Multi-stage builds, оптимизация размеров, запуск от непривилегированного пользователя). Понимание Docker Compose.
- CI/CD (GitHub Actions, GitLab CI или Azure DevOps):
- Умение самостоятельно написать пайплайн для сборки, прогона тестов, статического анализа кода и публикации артефактов.
- Понимание концепций Continuous Delivery vs Continuous Deployment.
- Опыт создания YAML-конфигураций (pipeline as code).
- Инфраструктура как код (IaC): Базовое понимание Terraform, Pulumi или Bicep (для Azure) на уровне описания простых веб-серверов или баз данных.
- Оркестрация (плюс, но не везде требуется): Понимание основ Kubernetes: Pod, Deployment, Service, ConfigMap, Ingress. Умение читать и писать простые Helm-чарты или K8s-манифесты.
- Скриптинг: Уверенное владение Bash (Linux) или PowerShell (Windows) для автоматизации рутинных задач.
Мониторинг и наблюдаемость:
- Логирование: Понимание концепции Structured Logging (Serilog). Умение трассировать запросы между сервисами (Correlation ID).
- Health Checks: Умение правильно конфигурировать Health Checks в ASP.NET Core (liveness, readiness, проверки БД).
- Метрики: Понимание, что такое Prometheus/Grafana (экспорт метрик), или OpenTelemetry.
Дополнительно:
- Тестирование:
- Написание юнит-тестов (xUnit/NUnit) и интеграционных тестов.
- DevOps-аспект тестирования: Умение поднимать контейнеры для тестов с реальной БД в CI-пайплайне, а не моками.
- Безопасность (DevSecOps):
- Сканирование Docker-образов на уязвимости.
- Управление секретами (Azure Key Vault, HashiCorp Vault, GitHub Secrets). Никаких паролей в коде или конфигах.
- Облачные технологии: Опыт работы с облаками (YandexCloud и другие).
- Понимание управляемых сервисов (Managed DB, Object Storage, Key Vault).
- Node.js
- Опыт разработки sharepoint based решений.
Soft Skills и инженерная культура:
- Ответственность за «продакшен»: сопровождение решения после релиза. Участие в решении инцидентов.
- Документирование: Привычка описывать архитектуру, Runbooks (инструкции по развертыванию и действиям при сбоях) и ADR (Architecture Decision Records).
- Самостоятельность: Умение развернуть стенд для разработки без помощи DevOps-инженера.
- Проведение код ревью других разработчиков;
- Участие в архитектурной проработке.
- Желание развивать команду.