I got my first job in 2004. It was a standalone accounting system developed in Delphi. Most of the business logic was embedded directly in form event handlers, leading to spaghetti code. However, it was not that bad in the sense that changes made in one part of the application did not impact the rest.

Later on, the concept of features isolated from each other will be introduced in the Vertical Slice Architecture. But before that happened, I had time to:

  • work as an Assistant Professor at the Kharkiv Technical University,

  • start as a software engineer at a large Scandinavian telecom,

  • begin to hate the developer job,

  • and then start loving it so much that my wife would occasionally have to pull me away from my laptop,

  • and of course, C# and .NET appeared in my life.

I have never worked for Big Five, but I’ve had the opportunity to work on huge systems with hundreds of thousands of customers and millions of requests per day, deal with European and American management style, and collaborate with engineers from all over the world.

Here I would like to share my experience and notes that have accumulated over these years.