Skip to profile
← All websites & profilesWEBSITE & DOMAIN PROFILE

G8 Softwares

The daily work of a programmer is mostly comprehension, not composition. Once you accept that, a great many arguments about craft settle themselves.

Visit website

About G8 Softwares

The daily work of a programmer is mostly comprehension, not composition. Once you accept that, a great many arguments about craft settle themselves.

Ask a room of working programmers how they spend a day and the honest answers rarely feature long uninterrupted stretches of typing. The day is spent reading. Reading the thing that broke. Reading the part of the system that touches the thing that broke. Reading a change somebody else proposes, trying to hold enough of the surrounding context in your head to say whether it is safe. Reading your own work from a fortnight ago and finding that the person who wrote it left you almost nothing to go on. Typing happens, and it matters, but it is the smaller half of the job by a wide margin. Craft, then, is mostly about what you leave behind for the reader.

This is not a sentimental observation. It has hard consequences for how you decide things. If reading dominates, then a choice that saves you two minutes now and costs a future reader twenty minutes is a bad trade, and it is a bad trade even though you will never see the bill. Compressed logic that you find elegant on the day you write it is a liability if it takes someone else half an hour to reconstruct your reasoning. Clever is not a compliment in this trade. The compliment is obvious, and obvious is much harder to achieve than clever, because it requires you to imagine a reader who does not share your context.

When you find yourself explaining what something is, check whether the name could have said it instead.

Size is not a stylistic preference. It determines whether the safety mechanisms work at all.

A fault, an error and a failure are different things, and confusing them muddles every incident discussion.

Explore topics & services

Software Is Written Once And Read For Years AfterwardsWhat’s trendingNaming And ReadingA Good Name Removes The Need For A CommentThe Shape Of A ChangeSmall Changes Can Be Reviewed And Small Changes Can Be RevertedErrors And FailureThree Words We Use Interchangeably And Should NotThe Code You InheritReading An Unfamiliar System Without Trying To Hold All Of ItAbout G8 SoftwaresMost read

Useful website links