Hi there, and welcome to The Conscious Programmer!
You want to take your software development skills to the next level? Well, you’re definitively in the right place.
For years I’ve been passionate about bringing academic and industry together. Today I’m really exited to share this passion with you!
Early in my career I became frustrated about poor code quality and design decisions, tedious debugging sessions, and how difficult it was to maintain and evolve software. I was even more frustrated that in many cases I had a feeling of what could be done to improve things. These feelings were involving ideas from both the industry and academic world, which, too often, stay apart from each other.
One of my favorite topic is how to use Domain-Driven Design (DDD) with Design by Contract (DbC). This will be referred as DDDbC. This is the theme of many of my consulting and coaching mission, as well as software architecture and development in general. If you are interested in those topics, feel free to contact me.
My hope with this blog is to help you combine ideas, methods and techniques together in order to build easy-to-debug codebases, flexible designs, robust architectures, and to keep technical debt under control. In other words, to help you deliver better functionalities to your end users and meet deadline and budget constraints.
After living for many years in the world of applied mathematics, I got interested in all aspects of software design and development. In particular, I have a strong interest in all methods that aim at increasing the quality of software.
Being deeply convinced that the results of the chaos report are not inevitable, I study and put in practice various methodologies that contribute to making software development a more reliable engineering discipline.
My first experience with software quality occurred during my PhD thesis in software modelling and verification. In addition to my research work, I also gave software engineering courses to university students and software developers. This is when I realised how hard it is to bridge the gap between the fundamentals as promoted by academia and the reality of industry.
This was around the time I met Marco (or rather met him again since we’d been classmates at university a few years before). We exchanged a lot about our own professional experience. We rapidly became aware that we shared a common vision: academia and industry, together, can lead to better software.
Then we brainstormed and worked together to give birth to a new software development methodology that inherits from the best of both worlds. Nowadays I run a startup that applies this methodology, and I really feel this largely contributes to the quality of the software we build.