Lead Software Engineer / Tech Lead - Unim (Digital Pathology Laboratory System Modernization)
Duration: June 2020 – December 2023
Summary:- Digital pathology laboratory specializing in cancer diagnostics digitization
- The project involved stabilizing and modernizing a legacy distributed system critical for laboratory operations and cancer diagnostics
Responsibilities:- Inherited and stabilized a legacy system with zero documentation composed of multiple distributed monoliths in JavaScript, Python, and Go.
- Maintained continuous laboratory operations during infrastructure rebuilding.
- Analyzed and refactored existing subsystems while ensuring service availability.
- Designed and implemented new microservices to modernize the architecture.
- Established CI/CD pipelines using GitLab, implemented smoke testing with Postman, and created OpenAPI specifications.
- Introduced code generation tooling (oapicodegen) to improve development velocity.
Technologies: JavaScript, Python, Go, Microservices, GitLab CI, Postman, OpenAPI, oapicodegen
Lead Software Engineer - Spora (Nefrosovet) (Nephrology Platform Development)
Duration: February 2018 – June 2020
Summary: Development of a nephrology platform aimed at supporting kidney disease management and related healthcare services.
Responsibilities:- Participated in architecture design of the platform.
- Led a development team of up to 5 engineers.
- Handled hiring and onboarding processes.
Software Engineer - One Million Likes (Go Microservices Development and Maintenance)
Duration: July 2016 – February 2018
Summary: Remote development and maintenance of Go-based microservices supporting the company’s platform.
Technologies: Go, NSQ, Docker, PostgreSQL, Redis
Software Engineer - REG.RU (Messaging and Authentication Systems Development)
Duration: February 2016 – May 2017
Summary: Development of messaging systems, user authentication services, API gateway, and CRUD microservices for a domain registrar and hosting company.
Responsibilities:- Developed a dynamically configurable messaging system supporting SMS, SMTP, Viber, Telegram, Slack, MQTT using Go.
- Built user authentication service with JWT, LDAP, OAuth backends.
- Developed a custom API gateway using KrakenD as a library with dynamic configuration and JWT authorization.
- Developed and maintained CRUD microservices using Go, MongoDB, CockroachDB, MQTT.
- Containerized projects with Docker and wrote Helm charts for Kubernetes deployment.
- Set up GitLab CI for automated testing and Docker image builds.
- Applied code generation tools (go-swagger, oapi-codegen) and design patterns to improve codebase flexibility.
- Maintained legacy code in Perl, Catalyst, MySQL.
- Wrote technical documentation and API specifications.
- Developed internal link shortening service.
Technologies: Go, MongoDB, CockroachDB, MQTT, JWT, LDAP, OAuth, KrakenD, Docker, Kubernetes, Helm, GitLab CI, Perl, Catalyst, MySQL, go-swagger, oapi-codegen
Software Developer - Setup.ru (Website Builder Platform and Related Services)
Duration: May 2012 – February 2017
Summary: Development and maintenance of a website builder platform and associated services including legacy code support and integration with third-party services.
Responsibilities:- Maintained legacy code on custom framework and Mojolicious-based service using Perl and MySQL.
- Wrote technical specifications and decomposed tasks.
- Developed new functionality in Perl and Go.
- Worked with accounting for report generation, interaction with counterparties, and billing support.
- Integrated with third-party services such as payment systems, social networks, and OAuth.
- Developed and implemented an email newsletter system.
- Reorganized development processes including git flow and daily deployment.
- Supported high-load service for static data using Go, Aerospike, and Cassandra.
Technologies: Perl, Go, MySQL, Aerospike, Cassandra, Mojolicious, OAuth