Head of QA: Aug 2023 - now
Engineering manager: Sep 2022 - Aug 2023
Apr 2022 - now
* Improved quality assurance with autotests
Developed and led the creation of automated tests development for several departments.
By adding auto tests to CI/CD, we reduced the
time of manual quality control. Also, it allowed us to detect errors
and critical problems entering production earlier
I led communication between development teams, QA engineers and devops.
It was also necessary to establish priorities, implementation order and
approve the plan with a senior managers
* Improved quality assurance with monitoring
By adding monitoring and alerts with Datadog and Slack integrations we caught some
critical bugs on production that weren't possible to caught during QA on dev.
My role was to communicate with development and devops teams to get all the logs to the
Datadog we need. I investigate major issues, conduct RCA, create tickets for dev teams, etc.
so we have relevant monitoring and metrics.
I also created alerts, dashboards, log-parsers, metrics, etc.
In addition, I set up a process of alerts handling, so we won't miss anything critical.
* Knowledge sharing, documentation, test cases
By setting up a process and motivation for documentation writing (confluence, qase) we
reduce risks related to a bus factor and improve communication between QA and dev teams.
My team and I write many documentation pages.
Also, I set up weekly knowledge sessions where each team member could tell about their
team's services, processes, specifics, etc.
* As en engineering manager I improved features' development and implementation speed
By reducing legacy code complexity, improving CI/CD practices and test coverage
the time required for development was reduced several times.
I developed a plan on how to achieve desired goal, enlisted the support of developers,
approved it with a senior manager. By agreement with the product owner,
we allocated 20% of the sprint time to technical debt.
We achieved our goal in a half a year, but improvements were noticeable even
after the first few sprints
* Hiring, dismissals, layoffs
TL;DR: Sometimes we have to let employees leave. As a manager I decide on hiring, have
experience with layoffs and transfer of an employee to another department.
Head of development department
Jan 2021 - Sep 2022
* Build a development department from scratch.
A team of 5 people has been assembled.
I led the hiring process, shaped and facilitated processes of onboarding and adaptation.
We have team building activities, regular 1:1s and feedbacks.
Together we've built CI/CD, we have good-documented code base and knowledge-sharing inside a team.
I facilitate the process of deployment planning, analyze risks and prepare plans to mitigate such.
Each sprint I take 2-3 development tasks, write tests and do code review.
* Implemented SCRUM in the development team.
We have 2 weeks sprints. Each sprint we have retro, refinement and planning activities.
In the result of the SCRUM implementation work processes of the development
department have become more transparent and manageable,
and the team's self-organization has increased (the team plans the last sprints on its own).
Lined up a system of regular increment delivery to business.
* Organized the transfer of two departments work processes from Excel to the CRM system.
I was responsible for the collection and formation of technical specifications,
selection of a contractor, contract formalisation, price negotiation.
We were doing the project with an external contractor. So acceptance process,
migration and training of departments' employees were my responsibilities too.
In the result of moving to the CRM the work processes of Sales and Presale
departments have become more transparent,
staff productivity has increased, and the quality of customer service has improved.
* Automated the process of collecting statistics on customer consumption.
When I started to work in the company, collecting statistics on customer
consumption was mostly manual.
I collected requirements from the financial and technical departments.
Prioritized and approved the procedure for implementing automation.
Using the internal development team, we have automated the manual collection of statistics for more than 10 services.
As a result of automation, customers began to receive detailed consumption reportsx.
The financial department began to receive more accurate data,
and resources were freed up in the technical department. The company's profit grew up.
* Migrated legacy service to new technologies.
There was a service on the python2 without tests and documentation.
The developers of this software were not available for contact.
The service performed a critical role for the business, about 60% of the company's profit depended on its work.
My team and I migrated the service to new technologies. We wrote documentation, covered it with tests,
and split it into services. We made the user interface to reduce the amount of manual work of developers.
As a result of automation, the cost of service support has decreased, monitoring has improved qualitatively.
The risks of failures in business-critical functionality have been significantly reduced.
Digital pathology: UNIM
Backend developer
Apr 2020 - Jan 2021
* Single-handedly maintain and develop new
functionality for digital pathomorphology system (python, node.js, JS).
Company's product was a platform for diagnosing cancer with a large amount of data
(each patient image weighed from 3 to 9 GB). Previous development team left company without any
documentation or knowledge transfer. So our team had to accept a service with a load
of about five thousand patients per week and with KPI to make a diagnosis - no more than 72 hours.
My own responsibility was 3 services responsible for diagnosis.
Also we had to quickly migrate from Amazon to our own servers.
As a result the services of my responsibility's area have become more stable
(the number of requests from users has decreased by about 60%),
there are autotests, documentation, a description of the applied architectural solutions.
Also, the delivery of updates to the client for half a year of my development went without
any problems.
Backend developer
Sept 2019 - Apr 2020
* Develop web application: Jira quick reporter (python).
There was a team which were doing an opensource project - Jira quick reporter.
I was a part of development team. Took a part in architecture decision process.
Result was a ready-made technological solution for speeding up work with Jira.
You can find it
here.
* Develop web application: language school (python).
Our team's goal was to maintain and develop more features to a language school service.
In a result new features was added into the software.
Outsource agency: TechBoss
Backend developer
Jun 2018 - Sept 2019
* Independently develop a indoor navigation system for a restaurant (python, JS).
The system should help to determining where to carry an order in the restaurant
based on the location of the client.
Result was a ready-made technological solution for implementation in a restaurant chain with all
the necessary for support and implementation. All done by myself.
* Develop new functionality in the billing and reporting service (python)
There were a team which were developing billing and reporting service. I took a part in
the development process and added some new features.