Author Archives: Graham

About Graham

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

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 | Tagged | 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 | Tagged | 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

On interviewing and generalist software engineers

After publishing podcast Episode 53: Specialism versus generality, Alan Francis raised a good point: This could be very timely as I ponder my life as a generalist who has struggled when asked to fit in a neat box career wise. … Continue reading

Posted in software-engineering | 3 Comments

You say “cave dweller debugging”, I say debug logging

There are still many situations where it’s not feasible to stop a process, attach the debugger, and start futzing with memory. We can argue over whether this is because the industry didn’t learn enough from the Pharo folks later. For … Continue reading

Posted in code-level | 1 Comment