by Richard | Feb 27, 2017 | Culture, Practical
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...
by Richard | Feb 21, 2017 | Culture, Practical
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...
by Richard | Feb 20, 2017 | Practical
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...
by Richard | Feb 17, 2017 | Culture, Planning & Estimating, Practical
One of the easiest ways to make a software project fail is to simply build the wrong thing. Every time there is a hand-off of requirements, there is the risk that they are changed in translation. It’s not always easy to work out what customers actually want, and...
by Richard | Feb 17, 2017 | Practical
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...