История моего перехода из QA в позицию Go-разработчика с конкретными шагами, учебным планом и примерами кода. Практический опыт, даты 2025–2026 и советы для тех, кто хочет повторить путь.
0
Статья была полезной?
Комментарии (0)
Войдите или зарегистрируйтесь, чтобы оставить комментарий
Загрузка комментариев…
Как я перешёл из тестировщика в Go-разработчика | KtoHto
Переквалификация из тестировщика в разработчика оказалась реальным и воспроизводимым сценарием для меня — не за год, а за конкретный план и дисциплину. Ниже — честный разбор шагов, ресурсов, ошибок и кода, которые помогли получить оффер в 2026 году.
Почему решил?
Мотивы были профессиональными и экономическими: хотелоcь решать архитектурные задачи, писать код в продакшн и зарабатывать больше, чем дает средняя зарплата QA в моем регионе. В январе 2025 года я поставил себе цель — сделать переход в течение 9–12 месяцев.
Что не устраивало в QA
Ограниченные возможности для творчества: большая часть работы — сценарии и исправление багов, мало системного проектирования.
Зависимость от тестовой автоматизации, где часто приходится поддерживать устаревшие фреймворки.
Разрыв между желаемым уровнем дохода и реальностью: средняя зарплата для моего опыта осталась на прежнем уровне.
Почему Go?
Простота синтаксиса и хорошая документация.
Высокая востребованность в бэкенд-разработке, микросервисах и инфраструктурных инструментах в 2025–2026 годах.
Опыт параллелизма благодаря goroutine/chan — полезно для задач, где в QA приходилось думать о потоках данных.
Мой переход начался не с резюме, а с плана: сколько часов в неделю, какие проекты и какие результаты к каким датам.
Что учил?
Учебный план я строил с опорой на практику: 3 проекта за 9 месяцев, ежедневная практика и минимум формального курирования. С января 2025 по сентябрь 2025 я уделял в среднем 2,5 часа в день по будням и 4–6 часов по выходным.
Модуль 1 — основы Go (январь—февраль 2025)
Типы данных, указатели, структура пакетов и модули.
Работа с go modules, сборка и деплой простых приложений.
Написание тестов в Go (testing package).
Пример простейшего HTTP-сервера, который я писал в первый месяц (файл main.go):
Этот код помог понять базовые пакеты и деплой на локальной машине. Уже в феврале я поставил этот сервер в Docker-контейнер и прогнал интеграционные тесты.
Модуль 2 — параллелизм и архитектура (март—май 2025)
goroutine, channel, context и правильное завершение процессов.
Паттерны проектирования в Go: worker pools, worker queues, retry и backoff.
Создание REST API и знакомство с net/http, mux и фреймворками уровня стандартной библиотеки.
Пример worker pool для обработки задач в фоне:
package main
import (
"context"
"fmt"
"time"
)
func worker(ctx context.Context, id int, jobs <-chan int, results chan<-int) {
for {
select {
case j, ok := <-jobs:
if !ok { return }
fmt.Printf("worker %d processing job %d
", id, j)
time.Sleep(100 * time.Millisecond)
results <- j * 2
case <-ctx.Done():
fmt.Printf("worker %d stopping
", id)
return
}
}
}
func main() {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
jobs := make(chan int, 10)
results := make(chan int, 10)
for w := 1; w <= 3; w++ {
go worker(ctx, w, jobs, results)
}
for j := 1; j <= 5; j++ { jobs <- j }
close(jobs)
for a := 1; a <= 5; a++ { fmt.Println(<-results) }
}
Модуль 3 — инфраструктура и интеграция (июнь—август 2025)
Количество pull request-ов (внутренних и OSS): 12 за период с марта по сентябрь 2025.
Эти показатели пригодились при подготовке резюме и на собеседованиях. Рекрутеры любят цифры и готовые демо.
Как получил первый оффер?
Мой первый оффер пришёл 28 января 2026 года — ровно через 12 месяцев после постановки цели. Предложение было на позицию Middle Go Developer в компании среднего размера. Процесс состоял из пяти этапов и занял 3 недели от первого отклика до предложения.
Подготовка резюме и профайлов
Резюме: 2 страницы, акцент на Go-проектах и конкретных метриках (время отклика микросервиса, RPS, покрытие тестами).
GitHub: три репозитория с инструкцией запуска и примером использования. В README — пример curl-запроса.
LinkedIn: обновил заголовок и добавил описание перехода, указал сроки и технологии (Go, Docker, PostgreSQL, Prometheus, GitHub Actions).
Также я отправлял отклики на вакансии, использовал внутренние каналы в Telegram-сообществах и отвечал на объявления на порталах. Часто отклики шли быстрее, чем ожидалось: первые приглашения начали приходить в августе 2025.
Процесс интервью
HR-скрининг: 20 минут, обсуждение мотивации и опыта — ключевое было объяснить, почему QA-опыт полезен. Упомянул, что умею писать E2E и автоматизированные тесты на Go.
Техническое интервью: 60 минут с задачами по алгоритмам и вопросами по Go. Примеры вопросов: как работают defer и recover, что такое zero value в Go, как отменять горутины через context.
Домашнее задание: небольшое сервисное API с CRUD и простым worker pool, дедлайн 4 дня. Я сделал за 48 часов и подробно описал архитектуру в README.
Pair-programming: час, где решали задачу по обработке потоковых данных и писали тесты вместе с инженером команды.
Финальное интервью с tech lead: обсуждение trade-offs, мониторинга и деплоя на Kubernetes.
Критическим оказался домашний проект: он демонстрировал понимание продакшн-аспектов (метрики, graceful shutdown, миграции) — это часто забывают кандидаты без бекенд-опыта.
Чего я ожидал и что удивило
Ожидал, что опыт QA будет минусом — на практике это открыло двери: я понимал тестирование на уровне интеграций и мог предложить улучшения в CI.
Меня удивило, что рекрутеры обращали внимание на то, как я решаю проблему на бумаге и в коде — аккуратные коммиты и понятные сообщения сыграли роль.
Было полезно подготовить список вопросов к интервью: архитектура сервиса, процессы релиза, метрики SLO/SLI.
Во время переговоров я указал желаемую з/п в диапазоне, который почерпнул из вакансий в 2025 году, и согласился на условие probation 3 месяца.
Советы по переговорам
Указывайте реалистичный диапазон и аргументируйте цифры: назовите ожидаемый уровень и примеры транспорта ценности, которые вы принесёте.
Если ваш опыт QA даёт преимущества (тест-пайплайны, автоматизация), упомяните конкретные улучшения, которые вы можете сделать в первые 90 дней.
Не бойтесь договариваться о гибком графике и обучении — многие компании 2025–2026 предлагают бюджет на обучение и конференции.
После получения оффера я сообщил текущему работодателю и согласовал дату перехода — дал две недели на передачу дел. Переход прошёл гладко: документация и список задач в Trello помогли закрыть открытые пункты.
Важные даты и метрики моего пути
Январь 2025 — поставил цель и составил план на 9–12 месяцев.
Март 2025 — первый работающий сервер на Go и Docker.
Июнь 2025 — завершил второй проект (worker pool + метрики).
Август 2025 — начал активно слать отклики, получил первые интервью.
28 января 2026 — принял оффер Middle Go Developer.
Эти даты помогли мне измерять прогресс и сохранять мотивацию. Я рекомендую всем, кто делает переход, расписывать план по месяцам и фиксировать результаты.
Если вам интересны конкретные шаги по составлению учебного плана или хотите посмотреть пример моего README — в разделе карьеры на сайте есть похожие истории: истории о переходах и практические гайты по Go в категории Go.
Моя история — пример того, что целенаправленная практика, готовность учиться и аккуратная демонстрация результатов сильнее чистых слов в резюме. Главное — начать с маленьких задач, быстро выкатывать работающие демо и фиксировать рост навыков.
Желаю успехов тем, кто рассматривает переход из QA в разработку: планируйте, кодьте, показывайте результат и не бойтесь менять профиль — это вполне достижимо даже за год при систематической работе.
Комментарии (0)
Войдите или зарегистрируйтесь, чтобы оставить комментарий
Загрузка комментариев…