Author Archives: Graham

About Graham

I make it faster and easier for you to create high-quality code.

In defence of assertions

The year is 2017 and people are still recommending processing out assertions from release builds. many assertions are short tests (whether or not that’s a good thing): this variable now has a value, this number is now greater than zero), … Continue reading

Posted in code-level | 1 Comment

In defence of large teams

Seen on the twitters: 1) Bad reasons why tech startups have incredibly large mobile teams even though from an engineering perspective they don’t need it. This is the No True Scotsman fallacy, as no true software department needs more than, … Continue reading

Posted in Uncategorized | 1 Comment

Your build needs to be better

I’ve said it before, build systems are a huge annoyance. If your build is anything other than seemingly instantaneous, it’s costing you severe money. Your developers are probably off reading HN, or writing blog posts about how slow builds cost … Continue reading

Posted in architecture of sorts, code-level, tool-support | Leave a comment

I just want to point out that even the best of us aren’t doing what we expect the makers of acne creams to do. What we actually know about software development, and why we believe it’s true by Greg Wilson.

Posted on by Graham | Leave a comment

Why your app is not massively parallel software

That trash can Mac Pro that hasn’t been updated in years? It’s too hard to write software for. Now, let’s be clear, there are any number of abstractions that have been created to help programmers parallelise their thing, from the … Continue reading

Posted in whatevs | Leave a comment

Working Effectively with Legacy Code

I gave a talk to my team at ARM today on Working Effectively with Legacy Code by Michael Feathers. Here are some notes I made in preparation, which are somewhat related to the talk I gave. This may be the … Continue reading

Posted in advancement of the self, books, code-level, learning, software-engineering, TDD | Leave a comment

Build systems are a huge annoyance

Take Smalltalk. Do I have an object in my image? Yes? Well I can use it. Does it need to do some compilation or something? I have no idea, it just runs my Smalltalk. Take Python. Do I have the … Continue reading

Posted in code-level | Leave a comment

Tsundoku

I only have the word of the internet to tell me that Tsundoku is the condition of acquiring new books without reading them. My metric for this condition is my list of books I own but have yet to read: … Continue reading

Posted in advancement of the self | Leave a comment

A full-stack software engineer is someone who is comfortable working at any layer, from code and systems through team members to customers.

Posted on by Graham | Leave a comment

FOSDEM

My current record of FOSDEM attendance sees me there once per decade: my first visit was in 2007 and I’m having breakfast in my hotel at the end of my second trip. I should probably get here more often. Unlike … Continue reading

Posted in Uncategorized | Leave a comment