When I was asked to write Beginning Xcode I initially said no. Mostly this was because of a fear of exposing myself to international criticism – I had enough trouble coping with the local kind, dealing with anxiety issues like imposter syndrome and the like without opening myself up to harsh reviews and the inevitable burning rage that meant my reply would probably be far form professional.

I thought about my decision for a couple of days and then changed my mind – decisive as always. I have a tendency to self-deprecate (after all it’s harder to be mocked for something if you’ve said it first), but I’ve still felt that for someone who wasn’t particularly academic I’ve done really well – mostly because I love what I do and that makes learning easier.

I don’t really remember where my interest in computers started, but I have early memories of my uncle having a ColecoVision back when I was 5 or 6 and that was my first introduction to computer gaming. From there I ended up getting a Spectrum and Commodore 64 (about 10 years after they came out – we were poor) and while the tapes were fun and all, I wanted to make these machines do the things I wanted them to do and for this I turned to books.


One book in particular sticks out in my mind; Sixty Programs for the ZX Spectrum. There were such variety in the applications, and there was no lengthy explanation for why you were doing something it just gave you pages of code and left you to it. My sister and I would sit for what seemed like hours typing in the code on the unforgiving rubber keyboard of the Spectrum 48k, typing feverishly to get to the point where we could press run and hope that each of the 200 or so lines were perfect; they never were.

Yes, the book is as memorable for its infuriating bugs as its brilliant code but that was all part of the charm. Back then there was no popping online to the publishers website for the errata updates, you had to figure things out for yourself – learning by necessity.

I’m writing this post because as I sit outside in the garden (making the most of the sun but struggling to read what I’m writing on the screen) I’m uploading zip files of images for the Swift 3 version of Beginning Xcode and got to reminiscing about how I got here and why. Even today – the era of digital everything, programming and development books have a huge part to play in helping the next generation of coders find their way. I hope the crippling neck pain writing these books has caused me goes on to help another person somewhere make their dreams come true.