Nick Sologoub

Nick Sologoub

Principal Engineer/Manager/Architect

PDF

Summary

I am an experienced Principal Engineer/Architect with 15 years of expertise in writing complex enterprise level software. My speciality lies in creating well architectured and thorough backend API layer, driven by the power of Azure Cloud, be it an IaaS, PaaS or even FaaS stack. In my previous experience I had a chance to lead a team transforming a legacy on-premise bare-metal product into a cloud PaaS architecture.

My frontend experience is comprehensive since, as a backend architect, you sometimes find yourself having to help out the frontend teams to realise your vision of the product that you’ve expressed through API. The biggest part of my frontend expertise is in Desktop tech stack (WPF/Win Forms). But, as it happens with any modern product, you eventually get exposure to all aspects of frontend one way or the other. In my previous job I had to deal with Angular, ASP.NET WebForms and some mobile cross-platform through Xamarin.

Key Skills

Languages:

  • C#
  • XAML
  • JavaScript
  • HTML
  • CSS
  • TSQL
  • PowerShell
  • Python
  • C/C++
  • VB.NET
  • TypeScript

Backend Stack:

  • Azure
  • Docker
  • ASP.NET MVC
  • .NET Core
  • WCF
  • IdentityServer

Frontend Stack:

  • WPF
  • Win Forms
  • ASP.NET Web Forms
  • Angular
  • AJAX
  • Visual Studio Tools for Office

Databases:

  • Microsoft SQL
  • Entity Framework
  • NoSQL

Tools/Frameworks:

  • Visual Studio
  • Microsoft Blend
  • PRISM
  • Unity DI
  • DevExpress WinForms/WPF Suite
  • JetBrains profilers
  • Fiddler
  • NUnit/Moq/xUnit
  • WinDbg
  • CefSharp
  • Selenium
  • Postman

CI/CD/VCS:

  • Azure Devops
  • Git
  • TeamCity
  • NANT
  • Octopus Deploy
  • GitHub Enterprise

Work Experience

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

Education

Belarusian State University of Informatics and Radioelectronics

2003-2008

Masters, Computer Science

Accomplishments

70-511 TS: Windows Applications Development with Microsoft .NET Framework 4

70-513 TS: Windows Communication Foundation Development with Microsoft .NET Framework 4

Coursera.org – Machine Learning by Stanford University

Languages

  • Russian (native)
  • English (proficient)
  • Czech (basic)
  • French (basic)
  • Mandarin (basic)