Author Archives: Graham

About Graham

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

Transcendence

I was at the RSE conference in Newcastle, along with many people whom I have met, worked with, and enjoyed talking to in the past. Many more people whom I have met, worked with, and enjoyed talking to in the … Continue reading

Leave a comment

The Image Model

I was reflecting on things that I know now, a couple of decades in to my career, that I wish I had been told at the beginning. Many things came to mind, but the most immediate from a technological perspective … Continue reading

Posted in advancement of the self, smalltalk | Leave a comment

Phrases in computing that might need retiring

The upcoming issue of the SICPers newsletter is all about phrases that were introduced to computing to mean one thing, but seem to get used in practice to mean another. This annoys purists, pedants, and historians: it also annoys the … Continue reading

Posted in whatevs | 3 Comments

On entering programming in 2022

I recently taught an introduction to Python course, to final-year undergraduate students. These students had little to zero programming experience, and were all expected to get set up with Python (using the Anaconda environment, which we had determined to be … Continue reading

Posted in edjercashun | 1 Comment

More detail on software requirements

My talk at AppDevCon discussed the Requirements Trifecta but turned it into a Quadrinella: you need leadership vision, market feedback, and technical reality to all line up as listed in the trifecta, but I’ve since added a fourth component. You … Continue reading

Posted in software-engineering | Leave a comment

Why mock objects aren’t popular this week

The field of software engineering doesn’t change particularly quickly. Tastes in software engineering change all the time: keeping up with them can quickly result in seasickness or even whiplash. For example, at the moment it’s popular to want to do … Continue reading

Posted in TDD | 1 Comment

Bizarrely, the Guinness book of world records lists the “first microcomputer” as 1980’s Xenix. This doesn’t seem right to me: Xenix is an operating system, not a microcomputer. Xenix was announced in 1980 but not shipped until 1981. The first … Continue reading

Posted on by Graham | 1 Comment

On self-taught coders

When a programmer says that they are ‘self-taught’ or that they “taught themselves to code”, what do they mean by it? Did they sit down at a computer, with reference to no other materials, and press buttons and click things … Continue reading

Posted in advancement of the self, edjercashun | Leave a comment

On the locations of the bullet holes on bombers that land successfully

Ken Kocienda (unwrapped twitter thread, link to first tweet): I see so many tweets about agile, epics, scrums, story points, etc. and none of it matters. We didn’t use any of that to ship the best products years ago at … Continue reading

Posted in agile | Leave a comment

Even more on generalist software engineering

There is a difference between a generalist software engineer, and a polyglot programmer. What is that difference, and why did I smoosh the two together in yesterday’s post? A polyglot programmer is a programmer who can use, or maybe has … Continue reading

Posted in software-engineering | 1 Comment