> Что хотел бы поменять в профессии или работе (Go)
Уровень: middle · Роль: backend · Язык: Go · Категория: Технические вопросы
Компании: Wildberries
Стек: Go
> Пример ответа
Короткий ответ
Хотел бы поменять в профессии баланс между написанием нового кода и работой с legacy-системами, а также больше времени уделять архитектурным решениям и менторству. В текущей роли часто не хватает времени на рефакторинг и улучшение внутреннего качества кода, потому что приоритет отдаётся фичам. Также хотел бы больше влиять на выбор технологий и подходов на уровне команды, а не только в рамках своей задачи.
Подробное объяснение
В профессии backend-разработчика на Go есть несколько аспектов, которые хотелось бы изменить:
-
Соотношение фич и технического долга: часто бизнес требует быстрых релизов, и приходится жертвовать чистотой архитектуры. Хотелось бы, чтобы в процессе планирования учитывалось время на рефакторинг и уплату технического долга.
-
Процесс code review: хотелось бы, чтобы ревью было более глубоким и фокусировалось не только на корректности, но и на производительности, идиоматичности Go и долгосрочной поддерживаемости.
-
Автоматизация рутины: часть рутинных задач (генерация boilerplate-кода, миграции, документация) можно автоматизировать. Хотелось бы больше времени уделять проектированию систем, а не механической работе.
-
Менторство и обмен знаниями: в профессии не хватает структурированного менторства. Хотелось бы больше участвовать в онбординге новичков и делиться опытом, но для этого нужно выделенное время.
-
Инструментарий и окружение: хотелось бы больше влиять на выбор инструментов - линтеров, CI-пайплайнов, подходов к тестированию, чтобы команда работала эффективнее.
На практике
На практике это выглядит так:
- В спринте выделяется отдельная задача на рефакторинг или погашение технического долга, а не только на фичи.
- В code review добавляется чек-лист, который включает проверку на идиоматичность Go, отсутствие гонок данных, корректную обработку ошибок.
- Внедряются генераторы кода (например, для gRPC-сервисов или миграций), чтобы убрать рутину.
- Раз в неделю проводится техническая сессия, где разбираются сложные кейсы или новые паттерны.
- Разработчик участвует в планировании архитектуры на уровне сервиса, а не только в оценке задач.
Пример кода
Пример того, как можно автоматизировать рутину - генерация обработчика ошибок для HTTP-сервиса на Go:
GO// вместо повторяющегося кода обработки ошибокfunc handleUser(w http.ResponseWriter, r *http.Request) {user, err := getUser(r.Context(), r.URL.Query().Get("id"))if err != nil {writeError(w, err) // общая функцияreturn}writeJSON(w, user)}// можно использовать middleware для централизованной обработкиfunc withErrorHandler(next func(w http.ResponseWriter, r *http.Request) error) http.HandlerFunc {return func(w http.ResponseWriter, r *http.Request) {if err := next(w, r); err != nil {writeError(w, err)}}}
Такой подход убирает дублирование и делает код чище.
Как отвечать на собеседовании
На собеседовании важно показать, что вы не просто жалуетесь, а предлагаете конкретные улучшения. Структура ответа:
- Назовите 1-2 ключевых аспекта, которые хотите изменить.
- Объясните, почему это важно для вас и для команды.
- Приведите пример, как вы уже пытались это внедрить или как бы это сделали.
- Подчеркните, что понимаете trade-off между скоростью и качеством.
Не говорите "мне не нравится текущая работа" - говорите "я вижу возможности для улучшения процессов".
Что проверяет интервьюер
Интервьюер оценивает:
- Зрелость: видит ли кандидат системные проблемы, а не только личные неудобства.
- Проактивность: предлагает ли решения, а не просто критикует.
- Понимание процессов: знает ли, как устроен цикл разработки, code review, планирование.
- Мотивацию: что движет кандидатом - рост, качество, влияние на продукт.
- Культурную совместимость: насколько его взгляды совпадают с ценностями команды.
Типичные ошибки
- Жалоба без предложений: "мне не нравится legacy-код" без вариантов, как с ним работать.
- Уход в личное: "начальник не даёт мне интересные задачи" - звучит незрело.
- Игнорирование бизнес-контекста: "хочу только писать новый код" без понимания, почему legacy существует.
- Расплывчатость: "хочу больше развития" без конкретики.
- Отрицание trade-off: "нужно всегда делать идеально" - показывает непонимание реальности разработки.
> Похожие задачи по Go
Как должна выглядеть компания, в которую хочешь пойти работать
Чем должна отличаться новая компания от текущей
Какой индекс предложить для запроса с условиями по курсу студента и полу и почему
Как использовать hint parallel для ускорения запросов в Oracle
> Похожие задачи по backend
Как должна выглядеть компания, в которую хочешь пойти работать
Чем должна отличаться новая компания от текущей
Какой индекс предложить для запроса с условиями по курсу студента и полу и почему
Как использовать hint parallel для ускорения запросов в Oracle
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью