I’m a backend software engineer, primarily working in Go, also having rich experience in Symfony and PHP.
During the last 4 years I’ve been involved in designing and developing microservice architecture, which includes CI/CD design, containerization (Docker/Kubernetes), authorization and authentication.
I worked both in a team as a team and tech lead, and as an individual. My working experience is about 70 % remote and 30 % on-site.
Main Professional Interests
- Backend architecture
- API Design and development
- Mentoring junior colleagues
- Transforming monolithic applications to microservices
Open Source Projects
- Symfony Prometheus Metrics Bundle
- Symfony Query Filter Bundle
- Elasticsearch Hook for Logrus
- tahwil - cyclic graph structures serialization library written in go
My Technology Stack
|Data||MySQL, RabbitMQ, Elasticsearch; Doctrine ORM|
|Monitoring||Prometheus, Grafana, ELK|
|VCS||Git, SVN; Bitbucket, Gitlab, Github|
|CI/CD||Bitbucket Pipelines, Gitlab CI/CD, Github Workflow, Circle CI, Travis|
|Code Quality||golangci-lint, built-in |
Codership Galera Cluster
Senior Backend Software Engineer
Aug 2018 - Present
I joined Codership to develop a new tool to manage and monitor Galera Clusters. We have a small team of two people in this project, where I’m responsible for the backend development. My main programming language is Go. In addition, I do some bash scripting.
This project involves integration of different monitoring and management solutions including internal know-hows. Among other tasks I’m also responsible for solving the CI/CD process (Gitlab CI + Kurbernetes).
External Information Technology Consultant (part-time)
Mar 2019 - Mar 2020
Even after leaving the company, I didn’t fully lose my connection to it, and we came to an agreement that I was offering them consultancy services that included the following:
- technology choice advice
- infrastructure optimizations (both performance and finance sides)
- few programming tasks
Head Of Development
Mar 2018 - Mar 2019
As a Head of Development I managed a team of up to 9 people (both internal and external colleagues). While I continued taking part in the software development process, I started solving management tasks like personnel, tactical and strategic decisions. As a result Feedo now has a quality and stable microservices platform with automated CI/CD process implemented. At the same time most of the technologies and components were updated to the most recent versions and all known security issues were solved - this was my priority number one since I joined the company, and by taking this position I was able to reach that aim successfully.
Senior Software Engineer / Tech Lead
Mar 2018 - Mar 2019
Since I came to Feedo in 2016 my main mission has been primarily improving code quality, upgrading the technology stack and migrating the old monolithic core to the microservices architecture. Of course I couldn’t do that alone within a reasonable time range, so building a team was one of my priorities.
After two years of my work at Feedo, we got an efficient and enthusiastic team. We write tests, we started using Kubernetes, which hosts all our new microservices. The general quality of the code has improved dramatically.
NJQ & Associates
Tech Lead & Consultant
Sep 2012 - Present
I joined NJQ & Associates to develop a CRM system for the IP industry for managing full range of tasks that the companies need in this area. This was a completely brand new system that I started building from scratch using Symfony Framework (PHP).
Later we hired more people to the team and I started leading the team. It was my first experience in leading a team of software developers. The most challenging part of this position was that we all worked remotely. As a result I set up standards and processes that are used in the company at present with just few changes.
As NJQ is a small company and we didn’t have any SRE/DevOps team members, I was responsible for setting up development and production environments, CI/CD process and code quality review process.
I’ve been always working closely with a managing director of the company and at the moment I still retain warm relations and offer them consultancy and technical management services.
|Year||School||Degree||Field of Study|
|2001-2006||Kurgan State University||Master’s Degree||Software for Computers and Automated Systems|
|2008-2011||Siberian State University of Telecommunications and Information Sciences||Master’s Degree||Economics and Company Management (Telecommunications)|
- Russian (Native)
- English (Effective Operational Proficiency)
- Czech (Effective Operational Proficiency)
- German (A1/Breakthrough)
Hobbies and Personal Interests
- My personal firmware fork for RG351P: https://github.com/denisvmedia/351ELEC/
- During the last 10 years I visited more than 20 countries and an uncountable number of cities, towns and villages
- Pop-science (physics and space; linguistics; biology)
- Check my favorite YouTube channel on the space topic