Skip to content

Category Archives: Software Engineering

You Aren’t Gonna Need It!

A very common trap to fall into while implementing a new system or feature is to add functionality to ‘future proof’ your code for a use case that you imagine in may be required in the future.  The future for the purposes of this post is any time that is not in your current development [...]

Effective Work Breaks

I have made an interesting discovery since I started taking our new puppies to work with me: I actually seem to be more productive now than I was before I started taking the puppies to work!  The pups generally need to be taken outside to relieve themselves and run off some energy every hour or [...]

The guilt of not programming

I am a team leader of a small team of programmers, we are specialists inside a large central team of specialists.
One of the things I struggle with the most in the adjustment to being a lead programmer is dealing with the guilt of not programming when doing lead tasks like planning, design documents and meetings.  [...]

Branching: Friend or Foe?

Consider the following diagram, which is attempting to show features being added to program in a source control system.
First feature B is added to the mainline A, as feature B is a fairly large change and leaves the programmer with two choices (explanation of terms)

They can add B to the mainline to create AB, this [...]

Remove features, don’t add them!

There seems to be something about programming that makes software engineers seek the perfect solution to a given problem or design brief.
Something that drives them to keep adding things to their program or library until they kill it with love for example Microsoft Word has a gazillion features but until recently (its has improved a [...]