Тюмень, улица Кирова, 40/38
В компании ООО "БурСервис" открыта вакансия Backend-разработчик (Middle/Middle +)
Бурсервис – крупнейшая российская нефтесервисная компания. Нашими приоритетами являются безопасность и качество. Сотрудники Бурсервиса вносят большой вклад в процветание компании и нефтегазовой индустрии в целом!
Чем предстоит заниматься:
1. Знание C# и .NET
Технические навыки:
- C# 8.0+ с глубоким пониманием: async/await, LINQ, pattern matching
- .NET Core/.NET 5+ и различия с Framework
- Entity Framework Core (Code First/Database First, миграции)
- Современные фичи: records, init-only, nullable reference types
Парадигмы:
- ООП (инкапсуляция, наследование, полиморфизм, SOLID)
- Асинхронное программирование (Task, ValueTask, IAsyncEnumerable)
- Реактивное программирование (Rx.NET - как плюс)
- Многопоточность, параллелизм. Блокировки вызовов в потоках. Синхронизация потоков.
2. Базы данных:
Реляционные (PostgreSQL/MySQL/MS SQL):
- Написание сложных SQL-запросов (JOIN, оконные функции, CTE)
- Оптимизация: индексы, execution plans, query tuning
- Транзакции, уровни изоляции, ACID
- Репликация, партиционирование (как плюс).
NoSQL:
- MongoDB: агрегации, индексы, шардирование
- Redis: структуры данных, persistence, кластеризация
- ClickHouse: для аналитики и time-series данных.
3. API:
RESTful API:
- Проектирование ресурсов, эндпоинтов, версионирование
- HATEOAS, Richardson Maturity Model
- Документирование (Swagger/OpenAPI)
- Пагинация, фильтрация, сортировка
Дополнительно:
- gRPC (Protobuf, streaming, deadlines)
- GraphQL (HotChocolate) - схемы, резолверы
- WebSockets (SignalR) для real-time
- SOAP (legacy systems).
4. Тестирование:
Unit тесты:
- xUnit/NUnit + Moq/NSubstitute
- Test-driven development (TDD)
- Mocking, stubs, fakes
Интеграционные тесты:
- Test containers (Testcontainers .NET)
- In-memory databases
- API тестирование (RestSharp, HttpClient)
Дополнительно:
- Load testing (k6, Locust)
- Contract testing (Pact).
5. Основы инфраструктуры:
Docker:
- Создание multi-stage Dockerfile
- Docker Compose для локальной разработки
- Оптимизация образов (.dockerignore, слои)
Linux/Unix:
- Bash scripting основы
- Работа с процессами, мониторинг
- Настройка окружения.
6. Безопасность (Security):
OWASP Top 10 защита:
- SQL injection (параметризованные запросы)
- XSS (валидация, кодирование)
- CSRF (токены, SameSite)
- Аутентификация: JWT, OAuth 2.0, OpenID Connect
- Авторизация: роли, claims, policies
- Защита данных: шифрование, маскирование.
7. Архитектурные стили
Микросервисы:
- Service decomposition, bounded contexts
- Межсервисная коммуникация (синхронная/асинхронная)
- Сервис discovery, API Gateway.
Паттерны:
- Clean Architecture / Onion Architecture
- Hexagonal Architecture (Ports & Adapters)
- Event-driven architecture
- CQRS + Event Sourcing.
8. Паттерны проектирования
GoF паттерны:
- Создающие: Factory, Builder, Singleton
- Структурные: Adapter, Decorator, Facade
- Поведенческие: Strategy, Observer, Mediator
Архитектурные паттерны:
- Repository, Unit of Work
- Specification
- MediatR (Mediator implementation).
Умеет самостоятельно:
- Разрабатывать модули средней сложности
- Проектировать БД для своего модуля
- Писать тесты (unit + интеграционные)
- Оптимизировать существующий код
- Работать с legacy кодом
- Участвовать в код-ревью.
Дополнительно умеет:
- Проектировать архитектуру подсистем
- Принимать решения о выборе технологий
- Решать сложные performance issues
- Менторить junior разработчиков
- Вести техническую коммуникацию
- Участвовать в pre-sales (техническая часть).
Что мы ожидаем:
Что мы предлагаем: