O'Reilly logo

Becoming a Better Programmer by Pete Goodliffe

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 32. It’s Done When It’s Done

In the name of God, stop a moment, cease your work, look around you.

Leo Tolstoy

A program is made of a number of subsystems. Each of those subsystems is composed of smaller parts—components, modules, classes, functions, data types, and the like. Sometimes even boxes and lines. Or clever ideas.

image with no caption

The jobbing programmer moves from one assignment to the next; from one task to another. The working day is composed of a series of construction and maintenance tasks on a series of these software components: composing new parts, stitching parts together, and extending, enhancing, or mending existing pieces of code.

So our job is simply a string of lots of smaller jobs. It’s recursive. Programmers love that kind of thing.

Are We There Yet?

So there you are, getting the job done. (You think.)

Just like a small child travelling in the back of a car constantly brays are we there yet?, pretty soon you’ll encounter the braying manager: are you done yet?

This is an important question. It’s essential for a software developer to be able to answer that one simple request: to know what “done” looks like, and to have a realistic idea of how close you are to being “done.” And then to communicate it.

Many programmers fall short here; it’s tempting to just keep hacking away until the task seems complete. They don’t have a good grasp on whether they’re nearly finished or not. ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required