Направление / golang

Go там, где важны миллисекунды

Сервисы, которые держат нагрузку на скромном железе: предсказуемая память, честные таймауты, аккуратное завершение работы.

net/httpgRPCsqlcpgx

Так выглядит мой код

collector.go
func main() {
	ctx, stop := signal.NotifyContext(
		context.Background(),
		syscall.SIGINT,
		syscall.SIGTERM,
	)
	defer stop()

	var wg sync.WaitGroup

	wg.Add(1)
	go func() {
		defer wg.Done()

		ticker := time.NewTicker(time.Second)
		defer ticker.Stop()

		for {
			select {
			case <-ctx.Done():
				log.Println("worker stopped")
				return

			case <-ticker.C:
				log.Println("processing...")
			}
		}
	}()

	<-ctx.Done()

	log.Println("shutdown signal received")

	shutdownCtx, cancel := context.WithTimeout(
		context.Background(),
		5*time.Second,
	)
	defer cancel()

	done := make(chan struct{})

	go func() {
		wg.Wait()
		close(done)
	}()

	select {
	case <-done:
		log.Println("graceful shutdown completed")

	case <-shutdownCtx.Done():
		log.Println("shutdown timeout exceeded")
	}
}

Направление

Что делаю на Go

  • Высоконагруженные сервисы

    Горутины, пулы воркеров, контроль бэкпрешера и аккуратные таймауты.

  • Микросервисы

    gRPC-контракты, graceful shutdown, health-чеки, конфиг через env.

  • Данные и стриминг

    PostgreSQL, MongoDB, Redis, ClickHouse — схемы, индексы, миграции.

  • CLI и инфраструктура

    Утилиты миграций, экспортёры метрик, кроны и одинокие бинарники без зависимостей.

Проекты на Go

https://ozna.digital/

Нефтегаз, СКАДА

Разработка множества продуктов: телеметрия, обработка сигналов, SCADA-интерфейсы, аналитика, маршрутизация уведомлений. Переход на OPCUA протокол и gRPC для микросервисов.

Результат:Нагруженная система с аптаймом 100%

Node.jsExpressElectronClojureOPCReactGoPostgreSQLRedis
  • Mango Office2025.02 — now
  • OZNA Digital solutions2023.09 — 2025.02

Нужен сервис на Go?

Расскажите про нагрузку и данные — предложу архитектуру.

Написать мне

О себе

Инженер, а не подрядчик «сделал и исчез».

Могу подтвердить опыт, начинал на втором курсе в Нефтегазе, работал по системе "Waterfall", совмещал работу и учёбу, все успевал.

Сейчас занимаюсь серверной частью: проектирую схему данных, пишу сервисы, настраиваю мониторинг и разбираюсь, почему в пятницу выросла очередь. Люблю задачи, где надо не только написать код, но и решить, каким он должен быть.

4.5
лет в бэкенде
20+
проектов в прод
100k+
RPS на пике
99.8%
аптайм сервисов

Принципы

  • Простое решение лучше умного. Умное — если простое не работает.
  • Всё, что не залогировано, однажды упадёт молча.
  • Данные важнее кода: схема переживёт три фреймворка.
  • Оценка — это обещание. Даю с запасом и держу.

Контакты

q3032002@gmail.com

@Jsdeveloper2002

Россия/Уфа · UTC+5

Опыт

Компании

Компании и сайты, где я отвечал за серверную часть.

  1. Mango Office2025.02 — now

    Backend Engineer

    04

    Крупнейшая B2B-платформа коллтрекинга, маркетинговых технологий, более 30 микросервисов, 100+ тыс. запросов в минуту.

    Что делал

    • Разработка микросервисной архитектуры и поддержка бекенда маркетинговых технологий.
    • Реализовал REST эндпоинты для сбора и агрегации маркетинговых событий для последующей передачи во внешние CRM (нагрузка до 50 000 событий в день).
    • Внедрил трейсинг (OpenTelemetry + Grafana), время поиска причины инцидента сократилось втрое.
    • Наставничество двух джунов, ревью ~40 PR в месяц.
    • Переписывание части микросервисов с node.js|PHP → go, что позволило снизить нагрузку на сервисы и ускорить обработку событий.
    • Улучшил поддерживаемость и масштабируемость проекта, работая с легаси кодом (PHP, YII)
    • Покрыл значительную часть кода юнит тестами и документацией, что позволило сократить количество регресс-багов в релизах.
    GoGrpcNode.jsExpress.jsNest.jsTypeScriptRabbitMQDockerKubernetesPostgreSQLMongoDBRedisPHPYiiGrafanaOpenTelemetry
  2. OZNA Digital solutions2023.09 — 2025.02

    Backend Engineer

    03

    Нефтегаз: SCADA, телеметрия, обработка сигналов и событий.

    Что делал

    • Проектирование и реализация АСУТП и SCADA-систем для нефтегазового сектора (АВТОГДИС) с фокусом на отказоустойчивость и высокие нагрузки
    • Спроектировал и реализовал бэкенд для системы сбора телеметрии (Node.js, PostgreSQL), стабильно обрабатывающий до 10 000 показаний счетчиков и IO-модулей в секунду
    • Интегрировал open-source редакторы (draw.io, Penpot) через API во внутренний контур SCADA, что позволило инженерам создавать и редактировать схемы без установки стороннего ПО
    • Переход с монолитного Node.js-приложения на микросервисную архитектуру на Go, что позволило улучшить масштабируемость и отказоустойчивость системы
    • Оптимизировал межсервисное взаимодействие и управление сессиями с помощью Redis, минимизировав потери данных при кратковременных обрывах связи с оборудованием
    GoPostgreSQLgRPCRabbitMQDockerNode.jsExpressTypeScriptClickHouseRedisJest
  3. SportScanner2023.06 — 2023.09

    Backend Developer

    02

    Маркетплейс для капперов: площадка продаж прогнозов на спортивные события.

    Что делал

    • i18n: поддержка нескольких языков и валют, включая динамическое переключение на фронтенде
    • Интеграция ИИ для автоперевода прогнозов на разные языки, что позволило расширить аудиторию и увеличить продажи
    • Реализовал REST API для мобильного клиента с использованием Nest.js, TypeScript и Prisma ORM, обеспечив строгую типизацию контрактов сервисов
    • С нуля разработал API мобильного клиента с применением Nest.js, TypeScript и Prisma ORM, покрыв строгой типизацией контракты сервисов
    • Развернул мультирегиональный сервис маршрутизации push-уведомлений, который обеспечил своевременную доставку триггеров для базы из более чем 5 000 активных пользователей.
    • Разделил физическое хранилище на две базы данных (MongoDB для аналитики и сессий, PostgreSQL для транзакций), что снизило скачки нагрузки на основную СУБД и зафиксировало время ответа API в пределах 150-200 мс.
    Node.jsNest.jsTypeScriptKoaPostgreSQLMongoDBPrisma ORMREST APIGoogle Cloud MessagingDockerRedis
  4. Ozna Digital solutions2022.02 — 2023.06

    Fullstack-разработчик

    01

    Нефтегаз: SCADA, телеметрия, обработка сигналов и событий.

    Что делал

    • Разработка внутренних систем аналитики, SCADA-интерфейсов и инструментов учета трудозатрат (работа по методологии Waterfall). Участие в миграции сервисов
    • Создал корпоративное приложение поверх Redmine API (Node.js, PostgreSQL) для учета рабочего времени и контроля KPI, которое автоматизировало процесс для 100+ сотрудников и сократило ручные операции в 3 раза.
    • Разработал бэкенд для вычисления оптимальных логистических маршрутов (интеграция Node.js API и Python-скриптов с картографическими сервисами), оптимизировав геометрию объездов кустов скважин.
    Node.jsExpressPostgreSQLNginxLinuxReact

Сайты и проекты

Сайты с которыми работал в штате и на фрилансе

  • https://www.mango-office.ru/

    MarTech

    Борьба с ботами и фродом, добавление нового функционала, поддержка старого. Добавил множество интеграций в том числе Bitrix24, Yclients, Medme

    Результат:Уменьшение оттока клиентов

    Node.jsNestJSPostgreSQLRedisRabbitMQDockerKubernetesGogRPCOpenTelemetryGrafana
  • https://ozna.digital/

    Нефтегаз, СКАДА

    Разработка множества продуктов: телеметрия, обработка сигналов, SCADA-интерфейсы, аналитика, маршрутизация уведомлений. Переход на OPCUA протокол и gRPC для микросервисов.

    Результат:Нагруженная система с аптаймом 100%

    Node.jsExpressElectronClojureOPCReactGoPostgreSQLRedis
  • https://stan-torgi.ru/

    Электронная система для участия в торгах

    Редизайн и переход на новую API

    Результат:Современный адаптивный дизайн

    Node.jsNestJSReactVanilla JSSCSSCustom js animations
  • android&ios app

    Маркетплейс спортивных прогнозов

    Разработка мультирегиональной системы уведомлений для удержания клиента, интеграция ИИ для автоперевода прогнозов на разные языки.

    Результат:Отток клиентов -50%

    Node.jsNest.jsGoogle Cloud MessagingPostgreSQLMongoDBRedisPrisma ORM