Principal Software Engineering Manager - Microsoft (UK)
September 2022 - Present
As part of Industry Solutions Engineering (ISE) organisation at Microsoft, I'm leading a team of highly skilled and motivated engineers who deliver value to Microsoft customers and help them do more with less.
Our role in ISE is to act as "training wheels", as teachers, as mentors to our customers and bring them on the journey of digital transformation. We come to a customer where they are in the process, we adapt our approach to their situation, but we also help them to get to the new level in all aspects of software engineering, be it agile practices, engineering fundamentals or most practical cloud usage.
This experience cannot be described by one common list of tech we use. Digital world nowadays is so vast and constantly changing, that each new engagement with our customers can be unlike the previous one. From building MLOps pipelines to support Data Science teams, to building backend services in Python for video analysis and image recognition, to setting up Data Warehouse system for data gathering, reporting and governance. We do all that in ISE and more. And, as a technical manager of the team, I participate closely throughout the whole project. Starting from the initial stages of brainstorming architecture, to code reviews and occasional pair programming, to finishing up the project with documentation and an occasional blog post.
And of course, this position is also about people. As a people manager at Microsoft, I follow our framework of Model, Coach, Care to deliver success through empowerment and accountability. Regular 1:1 meetings with team members, mentoring engineers at the start of their journey and coaching people to reach next level in their career.
Senior Manager, Lead Engineer - NewDay (UK)
April 2020 - June 2022
I've been hired by NewDay to fill the role of a technical lead in a newly formed team of API developers. After showing my skills and proving my expertise, within six months I've been promoted to a Senior Manager alongside the Tech Lead role. Since then I've been combining these two roles and supporting my team in delivering the best quality code possible.
As a Tech Lead, I work with Solution Architects to come up with system design for new projects we are planning to work on. I work with team's Product Owner and Business Analyst, to understand business requirements and translate them into technical specifications. I help out in keeping team's backlog groomed and healthy, stories written properly and agile ceremonies followed in the way that helps team succeed. I support developers on my team via sharing my expertise, pair programming and comprehensive pull request reviews. I also like to write code myself when I have time, writing code is still the main reason I do this job. At this position my main tech stack is around C#, Azure Functions, CosmosDB/MS SQL, event-driven services. But I am flexible and can apply my expertise within any stack required.
As an Engineering Manager, I help people on my team grow and advance in their careers. I support them with regular 1-2-1s, performance reviews and general chat whenever they need me. I try to maintain healthy atmosphere in the team and make sure that everyone is having a good time while delivering value to the company.
Lead Software Engineer - Invenias Limited (UK)
April 2012 - December 2019
Before being acquired by a competitor (for an undisclosed amount of many dollars), Invenias was the leading company providing software for Executive Search and Recruitment. I was one of the first developers and the leading one on the product since the beginning of the company's journey. It is my belief that my extensive contribution over the years to this project indirectly lead to the acquisition. The buyer recognised that it was easier to buy the company than build a better product.
My main role was to oversee the creation of a comprehensive API layer in the backend stack. Due to my many years working for Invenias, I was in a unique position of having a thorough knowledge of every little bit of functionality of this vast and complicated piece of software. That allowed me to play the role of an orchestrator/backend architect to help other teams to implement digital transformation of Invenias from a legacy on-premise application to a modern cloud.
In my other role, I was leading a team of several developers responsible for the company's flagship desktop product. It is a complex enterprise level application written in WPF with tight integration into Office products. I was helping the team to realise the API layer in accessible and user-friendly UI, coordinate with other frontend teams (web and mobile) to ensure that UI/UX consistency is maintained and wrote a lot of the frontend functionality across all the teams myself.
Being the lead developer for the whole product allowed me to spend time working with the business and product side of the application. I would often hold meetings with a product team to discuss customers' business requirements, help convert those requirements into engineering specifications, give estimates on the workload produced by specifications and plan teams’ resources.
Senior Software Engineer - Memos Software (Czech Republic)
February 2008 - April 2012
I was working as an outsourcing software developer on a project for Invenias (see above). This position was the start of my work on this product. Later on, the company realised the value of having me as a full time inhouse engineer and invited to join the company proper.
Senior Web Developer - EffectiveSoft (Belarus)
August 2007 - October 2007
Web Developer - Itransition (Belarus)
October 2005 - June 2007