About The Project

Stovepipe system: A barely maintainable assemblage of ill-related components” (Wikipedia)

While we all love the old industrial designs with thousands of chimney rising up in the sky, I think we can agree that this is exactly what we don’t want in software. This blog is about designing systems in a way that will avoid ending up with a big pile of smokestacks. We will explore good practices and designs through C#, TypeScript and others, and look at what can be done to improve our lives as software developers as hobbyists and professionals. I hope you will like your journey through this blog.

About The Author

Hi folks!

I am a software developer from Quebec/Canada trying to preach the values of clean, SOLID code developed in an agile and sustainable manner. I have spent over half of my life writing code at this point. During all of those years, I played with C, C++, C#, F#, Java, Python, PHP, JavaScript, TypeScript and many, many more.

I am a polyglot and pride myself in not only using multiple languages, but focusing on the philosophies and mentalities behind each of them. It is the subtle differences between a generic in C# and a template in C++, or an object in JavaScript or F# that makes those languages shine. It is also those different philosophies that had me hooked on design patterns and how they get expressed in all of those different languages.

I put a lot of value in TDD, BDD, and DDD, in emergent architecture and failing fast, in abstract estimation techniques and in close client interactions. In other words, I specialize in coaching a development team on how to be successful both in terms of code design and structure as well as Scrum project management and self organization.

When I am not working for my current employer, I am working on various open source projects or this blog. I stay up to date with the latest stuff through tons of blogs and social networks like reddit. If I need to get away from things, I usually go for a walk around where I live or watch some sci-fi tv shows, the latest anime, dabble in my habitual Friday D&D game, or just make awesome Coffee!

I am always up for new challenges and love to take on new projects. If there is one thing I hate, it is clinging to something for too long. When I find a better way to do something, I switch, even if it means dragging and coaching my entire team along the way.

Hopefully, you will enjoy reading this blog; this vision I have of the perfect software. And who knows, maybe we’ll get to meet one day.