Русский

Николай Галько

Россия · Москва · 30 лет · nikolay.galko@gmail.com

Я опытный разработчик в геймдеве, мобильной и веб разработке с различными фреймворками и утилитами.


Опыт

Руководитель разработки/Ведущий разработчик

NovaML
Май 2022 - Июнь 2023

Технологии: NestJS, Express, Angular, JQuery, Jenkins, SonarQube, K8s, Docker, KubeAPI, AWS, YAML, JSON, GitHub, GitHub Actions, Nginx, Sentry, S3, Swagger, Postman

Языки программирования: JavaScript/TypeScript, SQL, Bash, Python, Go

Результаты:
— Проект портировал с AWS Lambda, на собственную инфраструктуру. Реализован собственный backend на NestJS. Разработано MVP проекта, проведена его стабилизация. Была произведена миграция на микросервисную архитектуру согласно DDD (3 микросервиса).
— Выстроены процессы CI/CD, GitFlow, Code Review. Внедрен мониторинг и тесты, система оповещения об ошибках, защищенный VPN контур. Произведена реструктуризация продукта, уход от моно репозитория к отдельным репозиториям, внедрены роли на проекте, разработаны правила работы на проекте/подпроекте, примеры сервисов, руководств, code style. Разработана библиотека devops примеров, штатное расписание и стек лист.
— Произведены технические экспертизы для включения в реестр отечественного ПО (РосПО). Произведена интеграция и реализовано автоматизированное тестирование на совместимость с экосистемами РЕД ОС, Astra Linux. Созданы свои версии импортного ПО и адаптированы под требования РосПО.
— Разработан новый Frontend для клиента и администратора, с использованием Angular. Создан UI-kit. А так же внедрена поддержка аналитики - Google Analytics, Yandex Metrika.
— Реализованы 2 версии продукта on-premise и cloud (kubernetes) версия. А так же инструмент автоматизированной установки продукта на RedHat/Ubuntu подобных ОС и MacOS X.
— Добавлена поддержка очередей (Kafka) на проекте. Корректная обработка исключений внутренних сервисов на BFF. Внедрены единые принципы работы для очередей, так и для БД (эмуляция ORM).
— Разработан отладочный стенд для ML разработчиков для более удобной миграции в SberCloud ML Space (https://cloud.ru/ru/aicloud/mlspace) и с его помощью реализован проект по AI Consulting.
— Обучены менеджеры для выполнения задач QA (ручное тестирование).
— Внедрены спринты (scrum).

Роли:
— Проектирование и разработка системы, архитектуры, документации.
— Организация бизнес-процессов и автоматизация процессов разработки.
— Ведение переговоров как технический эксперт.
— Обучение персонала.

activity

activity

Руководитель направления (backend)

Hyundai Mobility Lab
Ноябрь 2021 - Июнь 2022

Технологии: NestJS, Express, RabbitMQ, Go, Telegram API, Redis, MongoDB, PostgreSQL, Jenkins, SonarQube, Bash, Yaml, K8s, Docker, Git, Kibana

Языки программирования: JavaScript/TypeScript, SQL

Результаты:
- Разработан BFF для всех сервисов компании и мобильного приложения. Произведена его стабилизация.
- Выстроен процесс собеседования будущих сотрудников, оценки тестовых заданий, отбора кандидатов.
- В сумме, нанято около 25 специалистов. 9 из них были в моем подчинении. Из них создана создана core-команда с горизонтальной структурой, где сотрудники не стеснялись взаимодействовать между собой, будучи из разных компаний (аутстафф)
- Данной командой за месяц был стабилизирован и переписан проект который до этого разрабатывался полгода. В дальнейшем, данная команда стала костяком в нижестоящих сервисах.
- Организован процесс обучения сотрудников между собой.
- Внедрен SonarQube, отконфигурирован Jenkins, для более быстрой сборки. Согласован процесс автоматизации тестирования.
- Произведен частичный рефакторинг одного из самых старых и больших, и сложных проектов компании. Внедрена типизация на основе шаблонов-дженериков (template, generic). В дальнейшем реализована полноценная типизация. Упрощена архитектура.
- Консалтинг по DevOps, техническим вопросам.
- Разработана новая система работы с документами и решена наиболее старая проблема в экосистеме (всего в компании 39 микро-сервисов)

Роли:
— Проектирование и разработка системы, архитектуры, документации.
- Организация и автоматизация бизнес-процессов
- Управление людьми. Найм, увольнение, формирование и управление командами. Обучение персонала
- Ведение переговоров

Senior Full-Stack Developer

SberCloud (cloud.ru)
Февраль 2020 - Сентябрь 2021

Технологии: TypeScript/JavaScript, Go, Nginx, PostgreSQL, MySQL, MariaDB, Redis, Vue, React, Svelte, NestJS, Express, ReactNative, Sentry, SonarQube, Telegram API, Docker, Gitlab-CI, Jenkins, JSDoc/CompoDoc, Swagger, WebGL, ElasticCloud, ElasticSearch, Regex, K8s, REST API, Bash, YAML, JSON, RegeXP, Postman

Языки программирования: TypeScript/JavaScript, Go, SQL, Shell

Результаты:
— Было разработано с нуля 3 итерации главного сайта компании (https://cloud.ru. Frontend, Backend). Была внедрена мультиязычность и микросервисная архитектура. Произведена интеграция со сторонними сервисами (SalesForce, Potok.io https://potok.io, Вебинар.ру https://webinar.ru/ Хакатоны, иные проекты). — Был реализован специальный проект — Анализ легких человека на наличие COVID-19 (https://ai.sberhealth.ru/covid19 пилотный проект для компании СберЗдоровье). Модуль взаимодействия пользователь-нейросеть.
— Участвовал во разработке Kandinsky, на этапе закрытого внутреннего тестирования, как backend разработчик/devops. Осуществлял интеграцию со стороны sbercloud.
— Был разработан проект сокращателя ссылок (https://sc.link) - с открытым API и аналитикой. (NestJS+Svelte). Был в дальнейшем интегрирован со другими продуктами компании.
— Были разработаны телеграм боты бизнес процессов компании (онбординг, кофе брейков), разработан плагин для Jenkins, который уведомлял о статусе сборки.
— Была реализована CI/CD инфраструктура для команды на базе Jenkins. Реализован плагин для Jenkins, который уведомлял систему мониторинга о статусе сборки. Принял участие во внедрении единых процессов CI/CD на всю компанию (Миграция с Bitbucket на Gitlab. Внедрение Gitlab CI). В период миграции, улучшил опыт работы с Bitbucket увеличив удобство разработки/мониторинга активности и хранения кода, путем внедрения плагинов.
— При взаимодействии с подрядчиками разработан продукт OpenShift as service. Мной разработан bootstrap K8s оператор.
— Разработан поисковый движок для сайта документации (https://cloud.ru/ru/docs/ SphinX) на базе ElasticSearch (Go+JavaScript+Python+Bash).

Роли:
— Поддержка
— Код ревью и оценка/составление технических заданий. Работа с подрядчиками как заказчик, так и в одной команде.
— Встречи и переговоры. IT-консалтинг. Участвовал в массовых мероприятиях, как эксперт, от компании (SberCode hackathon https://sbercode.tech/sber-cloud/ ).
— R&D.
— Лидерство в команде и наставничество (техлид). Тестирование. DevOps.

activity

activity

Lead Mobile Developer (CO FOUNDER & CTO)

Creazard
Декабрь 2018 - Декабрь 2019

Технологии: Cordova, NodeJS, Ionic3, IonicJS, Angular, AngularJS, OpenCart, JQuery, MongoDB, Express, Flutter, REST API

Языки программирования: JavaScript, TypeScript, SQL, PHP, CSS

Результаты:
— 2 выпущенных мобильных приложения на Android/iOS. Реализованы как мобильные приложения (ionic, flutter), так и их серверные части на NodeJS/PHP. Начата разработка как собственных продуктов.
— Построена компания с нуля (Co-Founder & CTO) и ее бизнес модель, был осуществлен, выбор ниши и продвижение собственной экспертизы. Реализованы первые проекты компании — автоматизация работы медицинской компании и охранного предприятия.
— Были наняты и обучены первые сотрудники (QA)
— Начато выстраивание процессов и автоматизаций (CI/CD).
— Участвовали в части конференций Яндекса/Avito.

Роли:
— Разработка мобильных приложений (клиентская часть) и бекенда для них (серверная часть).
— Руководство компанией, обучение и контроль над младшими сотрудниками. Совещания и переговоры с заказчиками/партнерами.
— Написание кода и техническое ревью. Поддержка релизов. Публикация приложений. Внедрение автоматизаций и CI/CD.
— Первичный анализ требований заказчика. Исследовательская деятельность.

WEB DEVELOPER

КрасимПравильно.рф
Декабрь 2017 - Сентябрь 2018

Технологии: OpenCart, JQuery, MySQL, REST API

Языки программирования: JavaScript, SQL, PHP, CSS

Результаты:
— Реализована автоматизация процесса торговли, документооборота, интеграция с логистическими компаниями, выгрузка товара в маркетплейсы, повышена web защищенность.
— Исправлены ошибки системы.
— Разработаны бизнес модели, проводился агрессивный SMM (в том числе работа с отзывами) - поднята выручка компании.

Роли:
— SMM, Менеджмент.
— IT консалтинг. Разработка систем генерации документов (для почты), отзывов (в том числе бизнес модели), интеграции между различными модулями OpenCart в единую экосистему. Исправление ошибок системы, повышение защищенности. Интеграция со сторонними API (Google ReCaptcha, Почта РФ, CDEK и т.д).

Младший разработчик

RED MACHINE GAMES
Июнь 2016 - Сентябрь 2016

Технологии: Cocos Studio

Языки программирования: JavaScript, JSON

Результаты:
— Разработан прототип игры три в ряд.
— Разработан инструментарий для разработки уровней.
— Разработана библиотека игрового интерфейса для данной игры.

Роли:
— Разработка игровой логики, ассетов, инструментария.

Разработчик

DIGITAL ENGINE
Апрель 2012 - Июнь 2012

Технологии: Unigine, Unity3D

Языки программирования: UnigineScript, C++, C#

Результаты:
— Осуществлен релиз клиента игры (MMORPG) в открытое бета-тестирование. Исправлено большое кол-во ошибок в игровой логике, физике, произведена оптимизация рендеринга вследствие чего были уменьшены системные требования (внедрен Deferred Shading, что дало прирост при сохранившихся системных требованиях).

Роли:
Помощь в выпуске проекта (Октябрь 2015 - Март 2016):
— Разработка и исправление игровой логики, внедрение нового UI. Подготовка к публикации проекта (стадия открытого бета-тестирования. Завершена).
— Разработка сущностей для компонентной системы и создание ассетов (Подготовка к миграции проекта с Unigine на Unity3D).
— Тестирование.

Февраль 2012 - Июнь 2012:
— Разработка игровой логики, UI, дополнительных инструментов для игрового редактора.
— Тестирование


Образование

МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ

Магистр
Август 2011 - Август 2018
Прикладная математика и информатика (ПМ)

Навыки

  • Языки программирования:
    C++, C++/CLI, C#, Go, JavaScript/TypeScript, Python, UnigineScript, AngelScript, SQL, PHP, Lua

  • Системы контроля версий:
    Git, Hg, SVN

  • Среды разработки:
    Visual Studio 2003-2022, CodeLite, Code::Blocks, CLion, GoLand, IDEA, Visual Studio Code, XCode

  • Средства кроссплатформенной сборки :
    CMake, make

  • Я могу вести разработку для систем:
    Linux, Windows, Android (NDK, Cordova, Flutter, Kotlin/Java for plugins), MacOS X, iOS (Cordova, Flutter, Swift/ObjC for plugins)

  • Профайлеры:
    Intel VTune, Brofiler, Chrome developer tools, RenderDoc, NVIDIA PerfHud, Intel GPA

  • Инструменты DevOps:
    K8S, Gitlab CI, Github Actions, Bitbucket Pipelines, Jenkins, Bamboo, JIRA, Confluence, ArgoCD, Zabbix, Prometheus, Nexus, Sentry, SonarQube

  • Мобильная разработка:
    IonicJS, Ionic 3-7 (Cordova, Capacitor), React Native, Flutter

  • GUI библиотеки:
    wxWidgets (ex. wxWindows), WinForms (C++/CLI, C#), DevExpress (WinForms, WPF), WPF, WinAPI

  • C++ библиотеки:
    WinAPI, Boost, Posix Threads, wxWidgets (ex. wxWindows), SDL

  • Web:
    JavaScript/TypeScript, Go, PHP, Bootstrap, Angular (Angular Universal), AngularJS, NestJS, Vue (NuxtJS), Cordova

  • Unit tests:
    NUnit, GUnit, PostMan (NewMan), JUnit, Karma

  • Опыт с операционными системами:
    Windows (98-11), Linux (Alpine, RedOS, Astra, RedHat, Ubuntu), MacOS X

  • Администрирование и управление проектами в системах:
    Redmine, JIRA, Trello, Asana, GitLab, GitHub, Bamboo, Confluence

Gamedev:
  • Игровые движки:
    Unreal Engine 2-3, Cocos Studio, Reality Engine, Unigine, X-Ray Engine

  • Физические движки:
    PhysX 1-3, Newton Dynamics 1-2, Havok, Bullet Physics

  • Графические API и языки програмирования шейдеров:
    OpenGL, GLSL, HLSL, CG (CGFX), WebGL

  • GUI:
    ScaleForm, CEGUI, MyGUI, ImGUI

  • Звуковые API/SDK:
    OpenAL, WWISE, FMOD, SDL Audio

Рабочий процесс:
  • Trello, Github, GitLab, Bitbucket, Jira, Redmine, Confluence
  • DoxyGen, Doc-O-Matic, Compodoc
  • Cross browser testing & debugging
  • Кросс функциональные команды
  • Agile development & Scrum; Waterfall

Публикации и упоминания

SberCloud
  • Разработка мобильного приложения для мониторинга использования ресурсов в облаке
    Ссылка 1,
  • СберЗдоровье и SberCloud запускают бесплатный сервис искусственного интеллекта по распознаванию снимков КТ
    Ссылка 1, Ссылка 2,
  • «Сбер» представил Kandinsky — ИИ-модель для генерации изображений по текстовому описанию на русском языке
    Ссылка 1,
  • «Сбер» выложил русскоязычную модель GPT-3 Large с 760 миллионами параметров в открытый доступ
    Ссылка 1, Ссылка 2,
Hyundai
  • Hyundai запускает новый бренд Hyundai One для цифровых сервисов
    Ссылка 1,
NovaML
  • Платформа прогнозирования данных NovaML вошла в экосистему РЕД ОС
    Ссылка 1, Ссылка 2,

Интересы

Когда я вынужден находиться в помещении, я провожу большую часть своего свободного времени, изучая новейшие технологические достижения в мире разработки или читая книги. Когда есть возможность проводить время на свежем воздухе - я стараюсь это делать. В теплое время года здесь, в Москве, я наслаждаюсь автоспортом, прогулками по парку и ночному городу.