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 to avoid those cases. We will explore good practices and designs through C, C++ and C# and look at what can be done to improve our life as software developers both 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 value centric projects. I have spent over half of my life writing code. 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 them. It is the subtle differences between a generic in C# and a template in C++, or an object in JavaScript or TypeScript 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, ATDD, and BDD, 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 term 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 or the latest anime.

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.