Ответ
Помимо непосредственной разработки, активно участвовал в полном цикле создания продукта и командных процессах:
Основные активности:
-
Code Review:
- Ежедневный ревью пулл-реквестов (20-30 в неделю)
- Фокус на архитектурную согласованность, потенциальные уязвимости безопасности, производительность и соответствие code style
- Конструктивный фидбек с примерами и ссылками на документацию
-
Проектирование и документация:
- Участие в дизайн-ревью новых фич и API
- Составление ADR (Architecture Decision Records) для ключевых решений
- Документирование API через Swagger/OpenAPI
[SwaggerOperation( Summary = "Получить пользователя по ID", Description = "Возвращает детальную информацию о пользователе. В случае отсутствия возвращает 404." )] [ProducesResponseType(typeof(UserDto), StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status404NotFound)] [HttpGet("{id}")] public async Task<ActionResult<UserDto>> GetUser(int id) { ... } - Ведение внутренней wiki (Confluence) для onboarding новых разработчиков
-
Работа с данными:
- Проектирование и оптимизация схем БД (индексы, партиционирование)
- Написание и ревью сложных SQL-запросов
- Миграции данных с помощью EF Core или сырых SQL-скриптов
-
Взаимодействие с командами:
- С QA: уточнение требований, помощь в составлении тест-кейсов, анализ корневых причин багов
- С продакт-менеджерами: декомпозиция пользовательских историй на технические задачи, оценка сложности
- С DevOps: совместная настройка пайплайнов, решение проблем инфраструктуры
-
Менторинг и знания:
- Формальный менторинг джуниор-разработчиков
- Проведение технических воркшопов (например, "Оптимизация запросов в Entity Framework Core", "Введение в асинхронное программирование")
- Выступление на внутренних митапах с разборами решенных сложных проблем
-
Планирование и процессы:
- Участие в планировании спринтов (Scrum)
- Рефайнмент бэклога, оценка задач по стори поинтам
- Ретроспективы с предложениями по улучшению процессов разработки
Ответ 18+ 🔞
Да ты посмотри, какой я, блядь, универсальный солдат цифрового фронта! Помимо того, что просто код пишу, меня ещё и на всю эту движуху вокруг продукта хватает. Короче, вот чем я мозги пудрил:
Чем конкретно занимался, кроме как клавиатуру ебашить:
-
Ревью кода:
- Каждый день, сука, как на работу, по 20-30 пулл-реквестов в неделю просматриваю. Глаза, блядь, вытекают.
- Ищу не просто запятые лишние, а чтобы архитектура не разъебывалась, дыр в безопасности не было, всё быстро работало и выглядело по-человечески.
- Если что-то не так — не просто «фигня», а объясняю, почему и как лучше, со ссылками на доки, чтобы человек не просто исправил, а впредь не делал.
-
Проектирование и бумагомарание:
- Сижу на дизайн-ревью, когда новые фичи или API придумывают. Иногда приходится орать: «Мужики, вы там вообще охуели? Так нельзя!».
- Пишу эти ваши ADR (Architecture Decision Records) — чтобы потом все помнили, почему мы приняли то или иное идиотское решение, которое тогда казалось гениальным.
- Документирую API через Swagger/OpenAPI, чтобы фронтендеры не приставали с вопросами каждые пять минут.
[SwaggerOperation( Summary = "Получить пользователя по ID", Description = "Возвращает детальную информацию о пользователе. В случае отсутствия возвращает 404." )] [ProducesResponseType(typeof(UserDto), StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status404NotFound)] [HttpGet("{id}")] public async Task<ActionResult<UserDto>> GetUser(int id) { ... } - Веду внутреннюю вики в Confluence — типа инструкция «Как не облажаться» для новичков.
-
Возня с данными:
- Проектирую и оптимизирую базы данных: индексы там навешиваю, партиционирование делаю, чтобы запросы не тормозили как вязкая жижа.
- Пишу и проверяю сложные SQL-запросы, которые иногда похожи на древние заклинания.
- Занимаюсь миграциями данных — через EF Core или сырые SQL-скрипты, когда надо всё перелопатить.
-
Общение с другими отделами (это отдельный вид искусства):
- С QA: объясняю, как должно работать, помогаю тест-кейсы составить, а когда баг вылезает — вместе ищем, кто его породил и какого хуя.
- С продактами: разбиваю их хотелки «сделайте мне красиво» на нормальные технические задачи и пытаюсь адекватно оценить, сколько на это уйдёт времени и нервов.
- С DevOps: совместно настраиваем пайплайны, чтобы сборка не падала, а если падает — ищем, кто из нас криворукий.
-
Менторинг и распространение знаний:
- Официально шефствую над джуниорами — учу их не только код писать, но и не орать «всё пропало» при первой же ошибке.
- Провожу воркшопы для команды: типа «Как не угробить производительность на Entity Framework» или «Асинхронность: друг или враг?».
- Иногда выступаю на внутренних митапах, рассказываю, как мы вылезли из какой-нибудь жопы с очередным легаси-кодом.
-
Планирование и процессы:
- Участвую в планировании спринтов — сижу, слушаю, пытаюсь понять, что из запланированного реально сделать, а что — бред сивой кобылы.
- Помогаю оценивать и разбивать задачи на более мелкие, чтобы было понятно, что делать.
- На ретроспективах предлагаю, как улучшить процессы, чтобы меньше было мороки и идиотизма. Хотя последнее, кажется, неистребимо.