Чем занимался помимо кодинга на прошлой работе

Ответ

Помимо непосредственной разработки, активно участвовал в полном цикле создания продукта и командных процессах:

Основные активности:

  1. Code Review:

    • Ежедневный ревью пулл-реквестов (20-30 в неделю)
    • Фокус на архитектурную согласованность, потенциальные уязвимости безопасности, производительность и соответствие code style
    • Конструктивный фидбек с примерами и ссылками на документацию
  2. Проектирование и документация:

    • Участие в дизайн-ревью новых фич и 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 новых разработчиков
  3. Работа с данными:

    • Проектирование и оптимизация схем БД (индексы, партиционирование)
    • Написание и ревью сложных SQL-запросов
    • Миграции данных с помощью EF Core или сырых SQL-скриптов
  4. Взаимодействие с командами:

    • С QA: уточнение требований, помощь в составлении тест-кейсов, анализ корневых причин багов
    • С продакт-менеджерами: декомпозиция пользовательских историй на технические задачи, оценка сложности
    • С DevOps: совместная настройка пайплайнов, решение проблем инфраструктуры
  5. Менторинг и знания:

    • Формальный менторинг джуниор-разработчиков
    • Проведение технических воркшопов (например, "Оптимизация запросов в Entity Framework Core", "Введение в асинхронное программирование")
    • Выступление на внутренних митапах с разборами решенных сложных проблем
  6. Планирование и процессы:

    • Участие в планировании спринтов (Scrum)
    • Рефайнмент бэклога, оценка задач по стори поинтам
    • Ретроспективы с предложениями по улучшению процессов разработки

Ответ 18+ 🔞

Да ты посмотри, какой я, блядь, универсальный солдат цифрового фронта! Помимо того, что просто код пишу, меня ещё и на всю эту движуху вокруг продукта хватает. Короче, вот чем я мозги пудрил:

Чем конкретно занимался, кроме как клавиатуру ебашить:

  1. Ревью кода:

    • Каждый день, сука, как на работу, по 20-30 пулл-реквестов в неделю просматриваю. Глаза, блядь, вытекают.
    • Ищу не просто запятые лишние, а чтобы архитектура не разъебывалась, дыр в безопасности не было, всё быстро работало и выглядело по-человечески.
    • Если что-то не так — не просто «фигня», а объясняю, почему и как лучше, со ссылками на доки, чтобы человек не просто исправил, а впредь не делал.
  2. Проектирование и бумагомарание:

    • Сижу на дизайн-ревью, когда новые фичи или 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 — типа инструкция «Как не облажаться» для новичков.
  3. Возня с данными:

    • Проектирую и оптимизирую базы данных: индексы там навешиваю, партиционирование делаю, чтобы запросы не тормозили как вязкая жижа.
    • Пишу и проверяю сложные SQL-запросы, которые иногда похожи на древние заклинания.
    • Занимаюсь миграциями данных — через EF Core или сырые SQL-скрипты, когда надо всё перелопатить.
  4. Общение с другими отделами (это отдельный вид искусства):

    • С QA: объясняю, как должно работать, помогаю тест-кейсы составить, а когда баг вылезает — вместе ищем, кто его породил и какого хуя.
    • С продактами: разбиваю их хотелки «сделайте мне красиво» на нормальные технические задачи и пытаюсь адекватно оценить, сколько на это уйдёт времени и нервов.
    • С DevOps: совместно настраиваем пайплайны, чтобы сборка не падала, а если падает — ищем, кто из нас криворукий.
  5. Менторинг и распространение знаний:

    • Официально шефствую над джуниорами — учу их не только код писать, но и не орать «всё пропало» при первой же ошибке.
    • Провожу воркшопы для команды: типа «Как не угробить производительность на Entity Framework» или «Асинхронность: друг или враг?».
    • Иногда выступаю на внутренних митапах, рассказываю, как мы вылезли из какой-нибудь жопы с очередным легаси-кодом.
  6. Планирование и процессы:

    • Участвую в планировании спринтов — сижу, слушаю, пытаюсь понять, что из запланированного реально сделать, а что — бред сивой кобылы.
    • Помогаю оценивать и разбивать задачи на более мелкие, чтобы было понятно, что делать.
    • На ретроспективах предлагаю, как улучшить процессы, чтобы меньше было мороки и идиотизма. Хотя последнее, кажется, неистребимо.