Simplify, then add Lightness

Before I got into software engineering, my studies were in other engineering disciplines. One of my idols in engineering is Colin Chapman, of Lotus; he would operate on a fraction of a budget of those around him, and at them all through creativity and thinking outside...

Managing software entropy

In physics, the laws of entropy are that overall complexity tends to increase. Software engineering has borrowed this concept, and it holds true – especially if unchecked – that as time goes on, any given codebase will tend to grow in complexity. As each new feature...

What if NoSQL means Not Only SQL

I was having a conversation earlier today with a fellow software consultant who felt he was in a predicament: he had a problem domain that needed the ability to write versatile queries over related data, but he felt he couldn’t recommend the team use SQL! The...

Why I check packages into version control

For a long time now, Git has been my de-facto version control tool. It is fast and efficient, does everything I need and much more, and gets the things that are important to me right. If you’re not familiar with Git, one of its big strengths is that it is driven...