About Me

Hi there, my name is Michael and I am an experienced software developer with a focus on C# .NET. My journey in programming began as a Games Programmer at university, where I built a solid foundation in C++. Over the past eight years, I have gained extensive experience in the .NET ecosystem, working on a wide range of projects and utilizing various tools and frameworks. I have a deep understanding of the various technologies that form part of the .NET ecosystem, including Autofac, Entity Framework, and Hangfire.

Currently, I am a Lead Software Engineer, where I have honed my expertise in cloud-based technologies, particularly Microsoft Azure. I have designed and implemented cloud-native applications, leveraging Azure’s capabilities to provide high availability, scalability, and resilience.

My focus has been on large-scale architecture projects, specializing in scalable microservices. I have worked extensively with microservices architecture, utilizing tools such as Kubernetes to design and implement highly scalable, fault-tolerant microservices-based systems. Furthermore, I have designed and implemented event-driven architectures, leveraging technologies such as Azure Service Bus to build highly scalable and decoupled systems.

In addition, I have expertise in database technologies, particularly SQL, and have experience working with a range of database systems, including SQL Server and Azure SQL. I have designed and implemented highly scalable and performant database solutions, utilizing techniques such as sharding and partitioning to handle high throughput and large data volumes.

Aside from my technical expertise, I also have experience working with agile development methodologies and have been instrumental in driving agile transformation in organizations. I am passionate about building high-performing teams and creating a culture of continuous improvement.

When I am not working, I enjoy personal game development projects which can be viewed in the portfolio section of this site. These ventures allow me to explore aspects of development that I might not otherwise get the chance to practice, and serve as a means of acquiring new skills or sharpening existing ones.

Thank you for taking the time to read my about me section. If you have any questions or inquiries, please do not hesitate to contact me.