Алексей Коврижкин

Работа с удовольствием добавляет совершенство в ее результат

Аристотель

Мне нравится создавать программы, которые решают конкретные задачи и приносят в этот мир нечто полезное.
Более всего мне интересны проекты, в которых:

  • Серверная часть пишется на go
  • Правки OpenSouce проектов выкладываются в OpenSouce, прежде всего как MR (Merge Request)
  • Если есть хранение данных, то это - postgresql

Роли

Архитектор / Разработчик проектов, использующих

  • postgresql
  • golang
  • docker

Занимаюсь ИТ профессионально с 1994г, специализируюсь на бэкенде и имею опыт в администрировании linux/docker и задачах фронтенда (html/vanilla js).
Не ограничиваюсь кодированием по ТЗ и стараюсь сделать все возможное для успеха проекта в целом.

В командах занимал роли от разработчика до архитектора и тимлида.

Opensource

В свободное время и в рамках проектов я участвую в opensource и публикую код тут - github.com/LeKovr.

Статистику таких публикаций после 2012 года может быть удобнее смотреть на codersrank. Этот ресурс я использую для информации о том, сколько и какого кода отдано в opensource, объем коммитов сути сделанного не релевантен. Тем более, что они в какой-то момент убрали статистику про docker-compose.

Мой выбор

  • postgresql - я писал под Оrасlе, когда в 1999г встретил СУБД, которая, на мой взгляд, мотивировала не закапываться в лишнее, а делать именно то, для чего SQL и хранимый код наиболее подходят
  • golang - в 98м я выбрал реrl из-за CPAN. В 2015г перешел на golang, который меня привлек лаконичностью, обилием современных библиотек, линтерами, генераторами и т.п. С этого времени все, что не sql и bash, пишу на golang
  • docker - когда он вышел в опенсорс, такие решения как сhеf, аnsiblе, рuрреt, на мой взгляд, потеряли актуальность. Я добавил его в свой стек в 2014г и с его помощью закрываю все задачи деплоя, кроме энтерпрайз-решений на k8s, которыми занимаются уже другие команды
  • linux - начал использовать в 1998г, перестал использовать другие ОС в 2002г
  • удаленка - работаю дистанционно с 2006г, для меня готовность получать нужный результат от сотрудника на удаленке - одно из ключевых требований к нанимателю

Также имею реализованные проекты с использованием

  • Реrl (1999 - 2015)
  • Dеlphi (1998 - 1999)
  • Оrаclе PL/SQL (1997 - 1999)
  • PАL/QBЕ (1994 - 1997)
  • С (1994 - 1995, 2002)
  • Pаsсаl (1990 - 1993)

Примеры проектов

Наиболее крупные проекты, в которых я участвовал

  • транспортная платформа учета и тарификации поездок в ОТ г. Москва (go, rabbit, postgresql), 2021г
  • бэкенд тендерной системы (go, plpgsql), 2017г
  • ядро тендерной системы (perl, plpgsql, jquery), 2010г
  • биллинг оператора фиксированной связи (perl, plpgsql, C), 2003г
  • сервисы публикации прайс-листов для региональной газеты и фармацевтической компании (perl, plpgsql), 2001г
  • расчет и консолидация экономических показателей филиалов банка (PAL), 1996г

Что ищу

IT-команду, которая

  • сопровождает бизнес, привносящий в этот мир что-то материальное и(или) полезное
  • реализовывает проекты с длительным жизненным циклом
  • практикует участие в opensource
  • имеет в составе сотрудников на удаленке
  • использует linux как основную ОС
  • готова использовать Makefile, git submodule, plpgsql

Я бы предпочел начинать общение с новой командой с обсуждения её и моих opensoure-проектов.

PS. а если есть проект, посвященный интеграции хранимого кода postgresql, golang и grpc - я был бы рад добавить в него свои экспертизу и ресурс.

Что не ищу

  • проекты, связанные со спамом, азартными играми и т.п.
  • митинги по графику без реальной темы
  • релокацию за пределы ЮФО РФ

Опыт работы

Системный архитектор (ноябрь 2023 — настоящее время)

  • Компания: Vinteo
  • Должность: Ведущий системный архитектор. Отдел поддержки инфраструктуры.

Обязанности:

  • проектирование архитектуры кластерной версии сервисов ВКС (linux, Vinteo server)
  • реализация пилотной версии кластера (golang, docker compose, make)

ИП (май 2015 — ноябрь 2023)

Разработчик/тех-лид/архитектор в PoGoDo проектах на договорной основе.

  • RnD по теме GRPC/protobuf/buf (go)
  • Сервис однократного показа паролей (go)
  • IoT в части управления освещением посредством smart-часов (go, js / zeppOS)
  • dopos, DevOps в части адаптации проектов для docker-compose и make

Другие проекты, в которых я участвовал

  • Как разработчик в составе команды
    • 2019, Миграция хранимого кода Оrасlе -> Postgresql (plpgsql)
    • 2018, Бэкенд аналитики блокчейн бирж (golang)
  • Как архитектор и разработчик
    • 2016, Портал авторизации по СМС для Wi-Fi клиентов оператора связи (golang, jаvаsсript, sqlite)
    • 2015, Генератор сайта магазина по xls и md, универсальный API обработки заказов (golang)

Тимлид golang (май 2021 - май 2022)

ГК Иннотех, Москва

Руководитель группы разработки GoLang

  • реверс-инжиниринг, анализ и устранение проблемных мест микросервисов в продакшене
  • координация и участие в планировании работ команды разработки (программисты, тестировщики, аналитик)
  • проектирование новых сервисов и доработок существующих (go, GRPC, rabbit, postgresql)

До октября 2021 - Старший разработчик GoLang

  • создание новых сервисов (GRPC/TWIRP + Postgresql)
  • сопровождение существующих сервисов, обслуживающих общественный транспорт г. Москва (оплата поездок, web-шлюз пользователей и т.п.)

Начальник отдела ИТ (август 2006 - август 2020)

ООО ТендерПро, Москва

  • Руководство ИТ подразделениями компании
    • группа сопровождения и развития проекта www.tender.pro (реrl, sql, js)
    • группа back-end разработки (sql)
    • группа front-end разработки (js, jquery, rеасt)
    • группа администрирования
  • координация работы команды в целях сохранения работоспособности legacy-продукта и сохранения объема доработок
  • внедрение технологий CI/CD для legacy-продукта (я внедрил техпроцесс на основе docker (dcape) для mod_perl-1.24 и двухэтапную систему релизов)
  • разработка архитектуры новых подсистем + создание MVP
    • rpc-sample-app - сервис с фронтендом (gRPC/JSON/Websockets/SOAP), вызывающий бэкенд напрямую или через NATS (+ rpckit), мой вариант миграции legacy в 2020м году
    • sfs - мой вариант архитектуры файл-сервера
    • grpc-sample - начальная архитектура gRPC API
    • dbrpc - слой бэкенда тендерной системы, вышедшей в прод, я реализовал golang-подсистему и был лидом sql-команды

Личные достижения

  • 2010-2012, PGWS. Спроектировал и вывел в прод фреймворк на основе JSON-RPC интерфейса к хранимым процедурам БД (PostgreSQL/plpgsql, реrl, jаvаsсript)
  • 2013, Генератор сайта магазина по xls и md (реrl)
  • 2012, formEV. Плагин jQuеry для просмотра/редактирования форм (jаvаsсript)
MVP

Другие темы, которыми я занимался на уровне пилотов или подготовки к продакшену

  • 2012, Прототип Удостоверяющего Центра ЭЦП, сервер и клиент (реrl, bash)
  • 2009, CCE. Эмулятор работы колл-центра, по заказу ОСС (PostgreSQL/plpgsql, OpenOffice.org Base)

До октября 2009г - Fullstack (реrl) программист

Персональные задачи:

  • доработка текущего, проектирование и разработка новых версий ядра системы (mod_реrl, PostgreSQL)
  • проектирование, разработка и сопровождение подсистемы тарификации клиентов на основе очереди задач (реrl, plpgsql)

Тимлид биллинга телеком (август 2002 — сентябрь 2009)

Южный Телеком, Краснодар

Руководство группой разработки и эксплуатации биллинговой системы телеком-оператора.

Первоначальные задачи включали проектирование и разработку систем тарификации и их эксплуатацию, впоследствии добавились задачи эксплуатации внешних систем, построения и развития комплексного решения.

С ростом круга решаемых задач менялась структура отвечающего за них подразделения и c 2004г его штат составлял 5 человек.

  • проектирование и разработка ПО для тарификации услуг телеком-оператора (PostgreSQL, реrl, bash)
  • разработка подсистем тарификации трафика клиентов (VoIP, NetFlow, Radius)
  • тарификация партнерского трафика и обнаружение ошибок в партнерских системах тарификации (PostgreSQL)
  • разработка коннекторов к новому оборудованию (реrl, C)
  • подготовка отчетности и разработка новых отчетных форм (mod_реrl)

Личные достижения

  • Спроектировал и реализовал при участии команды биллинговую систему телеком-оператора
Проекты

Проекты, которые находились (или находятся) в продакшене более года

  • 2005, Онлайн-Тарификация звонков в реальном времени с поддержкой кредитов и абонплат (PostgreSQL/plpgsql, gnu-Radius)
  • 2003, Офлайн-Биллинг телеком-оператора (mod_реrl, PostgreSQL/plpgsql)
MVP

Другие темы, которыми я занимался на уровне пилотов или подготовки к продакшену

  • 2008, JAST::Wiki. Система поддержки документации (mod_реrl)
  • 2004, OverSSI. Конфигурируемый через SSI web-интерфейс к БД (mod_реrl, PostgreSQL/plpgsql)
  • 2002, Библиотека построения диаграмм по XML спецификации (Linux, C, libxml, libgd2)

Fullstack+admin (июнь 1999 — июль 2002)

Фармацевтическая компания “Фарма плюс”, Краснодар

WWW-программист, системный администратор

  • перевод компании на использование открытого ПО в части работы с интернет (linux, apache, bind, proftpd, iptables, sendmail, dovecot etc)
  • разработка сервиса публикации прайс-листов (HTML::Mason)
  • программирование системы offline-заказов (jаvаsсript, реrl, email)
  • проектирование отказоустойчивого решения для корпоративного сайта (slave frontend - Apache, rsync)
  • построение и администрирование решения для корпоративного доступа в интернет (firewall, email, proxy - Linux)
Проекты

Проекты, которые находились (или находятся) в продакшене более года

  • 2001, Сервис публикации прайс-листов для региональной газеты (www.price.kuban.su) и фармацевтической компании (www.farma.ru) (mod_реrl, HTML::Mason, PostgreSQL)

Программист (август 1994 — июнь 1999)

Акционерный банк “КубаньБанк”, Краснодар

Главный специалист отдела программирования АСУ

Разработка систем поддержки принятия решений для отделов планирования (головной банк и филиалы):

  • проектирование и разработка решений по анализу деятельности банка (Oracle, Crystal Reports)
  • подготовка балансовой отчетности для РКЦ (Paradox)
  • расчет аналитических показателей по пользовательским параметрам (Paradox)
  • агрегация данных филиалов (результаты расчетов и журналы ошибок) (Paradox)

Личные достижения

  • 1999, Система учета движения товаров и услуг для сервисной фирмы (Delphi, Crystal Reports, MS Access)
  • 1996, Система расчета и консолидации экономических показателей филиалов банка (Borland Paradox/PAL)
  • 1997, Клиент/серверная версия системы анализа баланса банка (Oracle,PL/SQL, Delphi, Sybase Power Designer)

Образование

Высшее, 1989-1994, Кубанский Госуниверситет, Краснодар. Факультет прикладной математики

Хобби

Актуальные проекты

  • dopos - Настройка и развёртывание docker-приложений на выделенном сервере (docker, make, golang, gitea, traefik, postgresql)
  • pgmig - Пакетная загрузка SQL (миграции) в БД (golang, postgresql)
  • procapi - API к хранимым процедурам Postgresql (golang)
  • apisite - SQL API для шаблонов и внешних клиентов на основе procapi и apitpl (golang)

Прошлые проекты, которыми я занимался на уровне пилотов или подготовки к продакшену

  • 2021, mqbridge. Сервис обмена сообщениями между Postgresql и NATS
  • 2020, logbase. Сервис для размещения в БД Postgresql структурированных журнальных файлов (golang, postgresql)
  • 2020, siwemon. Пример построения графиков мониторинга по данным webtail
  • 2019, fiwes. Сервис формирования превью изображений
  • 2018, poma. Makefile для загрузки SQL в БД (make, postgresql)
  • 2017, metricinc. Сервис сбора инкрементных метрик (golang, grpc, boltdb, docker)
  • 2017, webtail. Сервис доступа к изменяемым файлам через websocket

И, конечно, за пределами IT тоже есть жизнь. До декабря 2016го меня увлекали велосипед и стендовая стрельба, а потом мы переехали из Краснодара в Ставрополь, потом в Ростов, потом еще ближе ;) В итоге, с осени 2019го мы снимали дом, где я включал в отдых настольный теннис, пневматику, работы в саду, мангал, бассейн и “пора покатать форика”.

Языки

  • Русский — родной
  • Английский — читаю профессиональную литературу

Увлечения

  • велосипед
  • стендовая стрельба (скит)
  • путешествия (Токио, Париж, Флоренция)

Личные данные

Версия для печати


http://lekovr.github.io/cv/