Hi, I’m David Courtinot, and I’m a software engineer with about 5.5 years of experience. Anyone who’s ever worked with me would tell you I’m a fairly opiniated guy. That’s what they would tell you in public. Behind closed doors, they’d probably tell you I’m a nightmare. I’m in fact just starting this page so that I can terrorize more people with my sermons about good development practices.

More seriously, I noticed that every time I changed team, which only happened twice until now, I had to wage the same battles to push some ideas around good software development practices. An effective way for these practices to stick around is to convince a few individuals in the team, who will in turn help enforcing guidelines in code reviews, until the majority of the team naturally writes code that closely conforms to the shared understanding of what good code is. Another important aspect is documentation. In the initial phase of evangelizing certain good practices, you can end up repeating the same things on dozens of code reviews until it pays off. That takes a lot of time, unless there are some handy resources to share, in which case it’s just a link to paste.

It turns out that working for a good tech company which selects engineers against a certain quality bar doesn’t protect from encountering bad code, or at least code that would benefit from some basic quality guidelines. That’s why I decided to start documenting the views I developed on a variety of topics over the years. In addition to being a useful link to paste in code reviews regardless of the company I work for, this might be helpful to some random people on the internet. And maybe it will help pushing back the age at which I’ll have seen so many 5000-line files riddled with deep inheritance and mutation that I’ll go blind.

PS: why dicee.github.io? Github Pages requires the URL to match the Github username, which happens to be the alias I’ve used for years on online games, forums (or to be fancy, fora) etc. It’s pronounced D-C, and these are simply my initials.