All posts by Stephen Darlington

Unappreciated technology

“Any sufficiently advanced technology is indistinguishable from magic,” or so said Arthur C. Clarke. What struck me when I was on holiday a couple of weeks ago is that there’s a level beyond that: when you don’t even notice.

We were sat in a restaurant having dinner and for reasons that I can no longer recall, conversation came round to the first UK hit by the Rolling Stones. ‘H’ said that it was “Come On,” ‘J’ swore that it was something entirely different. This all being at least ten years before I was born I had no real opinion on the subject but I did know a man who would have the answer. I immediately took out my mobile and texted him. A few minutes later the answer came back (‘H’ was right).

Of course, this was all taken for granted, except ‘J’ who now owed ten thousand dong. But have you ever considered the level of technology required to make this happen?

A very much simplified sequence of events looks something like this: my phone sends the message to the local cell tower (those things they put on top of schools that fry pigeons and cheaply microwave the chicken nuggets the kids are having for dinner). The cell tower transfers the message on to some “command centre,” a big room with stacks of computers, noisy fans and flashing lights being maintained by men in white coats clutching clip-boards. From here it zips all six thousand miles back to the UK, only pausing to make a note in the billing system. Once back in Blighty the network tries to find the phone, transfers the message to the nearest cell and on to the phone itself. The return trip would be similar but with the added complexity of having a UK phone operating on a foreign network.

All this happens faultlessly in just a few seconds. Isn’t that amazing?

Of course I’m not claiming to be the first to notice this. I remember hearing an interview with Douglas Adams where he marvels at the complexity lying behind a light switch. The difference, in my mind at least, is how quickly this immensely complicated technology has moved from magic to invisibility.

Joel On Software

Let’s cut to the chase: if you’ve read and enjoyed any of Joel Spolsky’s ramblings on the web you’ll like this book. Skip the rest of this review and just go buy it.

For the benefit of those that have not heard of him, who is this Joel chap and what is the book and his normal prose about? The “About the Author” section describes him as an industry veteran that writes an “anti-Dilbert manifesto” on his website. I can’t think of a better description, which is why I have shamelessly copied it rather than finding my own phrase…

He writes about software development at every level from bashing out code right through to strategy and he applies the same degree of pragmatism, common-sense and humour to every subject he covers.

The book is split into four sections and an appendix. In the first he talks about “the practise of programming,” which is the low level stuff. He starts with choosing a programming language (or, at least, why it’s probably not as important as you might think), moves on to the now almost classic “Joel Test” (Google it if you’re in any doubt how influential it has become), moves onto functional specs, schedules and the like.

Section two is all about managing developers. Personally, I think this is the part that he really excels at. Indeed, the best bits of the other sections are actually about the higher level stuff. One of the highlights is about what he calls “leaky abstractions,” basically that clever things that try to hide their underlying details tend to fall down in unpredictable ways. Ever got confused about the way a string class works in C++? This is the chapter for you!

The penultimate section is a random collection of articles, including his thoughts on the 80/20 myth, various business models and open source. I particularly like the piece on getting things done when you have no authority to do anything officially. Most books assume that you just need to learn what the right thing to do is, so it’s refreshing to find a book that deals in Real Life!

The final section is less relevant to someone like myself with a Unix background (and interest). There are three pieces on Microsoft’s .NET architecture. Nevertheless, I did read them and thought that he had some interesting things to say.

There is also an appendix, which is a “best of” collection of questions from the “Ask Joel” section on his website. This is perhaps the weakest section in the book and, although entertaining, most of the good advice in this section has already been expressed more clearly in earlier sections.

You can probably see by that I was impressed. It was an easy book to read — something that a lot of technical writers forget about — and even when I disagreed with certain things I could at least see where he was coming from.

The facts

Author: Joel Spolsky

Cost: $24.99

ISBN: 1-59059-389-8.

Buy from Amazon.co.uk.