Meet Your Instructors: Huw Collingbourne

When you open a platform up for anyone to teach, there’s a good chance you’ll get a lot of riff-raff. Somehow, though, we here at Udemy have been stupid lucky with talent.

Take Huw Collingbourne, for instance. He’s one of our top rockstar Ruby instructors, and let’s just put it this way: the Dos Equis guy ain’t got nothin’ on Huw Collingbourne.

If that’s not enough to intrigue you beyond comprehension, here are a few quick facts to get you primed for the interview below. Huw’s been a programmer for more than 30 years, and currently holds the position of Technology Director at SapphireSteel Software. He’s also written a handful of books, including The Book of Ruby (he’ll explain later why there’s a Samurai Robot on the cover). And to leave you with a few quick facts:

  1. He was a pop journalist, and has a keen interest in the 80s.
  2. He keeps company with enormous white fluff balls (Great Pyrenees dogs, not tribbles).
  3. He not-so-secretly aspires to play a super villain on TV.
  4. He has quite the enchanting accent, much to Udemy Native Dinesh’s enduring fascination.

You’ll laugh! You’ll cry! You’ll hear advice from a code professional! You’ll find Udemy instructor tips! Lo and behold…The Most Interesting Man in the World.

(Or at least on Udemy – we’re not sure we’ve met everyone in the world.)


What advice would you give those just starting to code?

Write good code. Then write better code. Never be satisfied that your code is good enough. It never will be.

Don’t believe people who tell you that that their favourite programming language is better than other programming languages. Anyone who says that is either lying, showing off, or doesn’t know any other programming languages.

Don’t try to write “clever” code. Clever code is just the programmer showing off. If there is choice between writing code that’s clever and writing code that’s clear, go for “clear.” Of course, if you can write code that’s both clever and clear, you’ve hit the jackpot. But people who can do that are very rare and they are too busy earning a fortune to have any time to waste on boasting about how clever their code is.


What are some things no one knows about keeping enormous dogs?

The great mystery about keeping enormous dogs is why anybody would be fool enough to do it. I have two Pyrenean Mountain Dogs (also known as Great Pyrenees). They destroy the furniture, they splatter mud all over the house, they leave hair everywhere, they cost a fortune to feed, they take me for long walks (usually in directions I don’t want to go). And, worst of all, when I’m recording a ten minute video for one of Udemy courses, it’s pretty much certain that they’ll wait until I’m nine minutes in before they both start woofing at top volume. I’m hoping that I’ve edited out most of the dogs’ woofs from my videos.

I’m also hoping that I’ve edited out all of my cursing. Yup, that’s the thing that no one knows about keeping enormous dogs – why the heck any sane person would want to do it. I couldn’t live without my dogs. You may make your own judgment on what that says about my sanity.

Got any tips for instructors who teach online?

Don’t keep enormous dogs. Other than that, just be yourself and care about what you do. In particular, if one of your students asks for help or more information, try to respond as quickly as possible. If someone criticises your course, take that criticism seriously.

For example, in my Ruby course, I had a couple of students complain that I didn’t give enough information for Mac users (I have always been a Windows user). It turns out that a lot of the students on my Ruby courses have Macs. That made me realise that, in order to deal with their problems, I needed to be a Mac user too. So I bought a Mac. It was a big investment. But I consider it a worthwhile investment because it helped me to improve the quality of my courses. But you don’t have to invest in a new purchase to improve your course. The best investment an instructor can make is time and enthusiasm.


Who wins in a fight: Ruby Robot Samurai or Johnny 5?

The Ruby Robot Samurai (on the cover of my book, The Book Of Ruby) and Johnny 5 (from the film, ‘Short Circuit’) are both misunderstood, peace-loving robots, so they are more likely to sit down together and discuss Zen philosophy over a cup of green tea than to get into a fight.

It’s funny but many people think I chose the Samurai Robot because, when I’m not programming, I am an instructor in the Japanese martial art of Aikido. But that’s not how the picture came about at all. It was my publishers who decided to go for a Samurai due to the fact that the Ruby language was developed in Japan. We then spent months arguing about whether or not the subtitle of the book should mention something about Samurai.

For a long time, it was going to be called the guide “For the Ruby Ronin” which would, in principle, convey the idea that the book was both a guide to ‘defensive’ programming and also a bit subversive. But we eventually decided that many people wouldn’t know what a Ronin was. So we ended up using the subtitle “a hands-on guide for the adventurous”. In retrospect, I think we should have stuck with the Ronin. Sure, it would have seemed a bit weird. But then again, having a picture of a Robot Samurai on the cover of a programming book is pretty weird too, so we might as well have gone the whole hog.


What got you interested in programming, and why Ruby?

You are standing in an open field west of a white house, with a boarded front door. There is a small mailbox here…

That’s how it all started for me. It was an old text adventure game called ‘Zork’ and I first came across it in a time far away and long ago called the 1980s. I played that game for ages and I just couldn’t figure out how the computer managed to create a self-contained, self-consistent landscape in which doors could be opened, trolls could be fought and game-players could be eaten by grues. It intrigued me and I decided I had to find out how it was done. And that meant I had to learn to program.

Ruby hadn’t been invented back then. I began with the free version of Basic (called GW-Basic) that came with my PC. It was a terrible language. Really, really horrible. Luckily it wasn’t too long before I discovered Turbo Pascal. That was a great language. Once I learnt Pascal I never looked back.

In my first year with Turbo Pascal I wrote my own Zork-like adventure game, called The Golden Wombat Of Destiny. It was a tremendous learning experience for me. I made every mistake possible. By the end of the year I looked at the code that I’d written at the start of the year and it seemed to have been written by someone else – a complete idiot!

I released the game into the public domain and, bizarrely, people are still playing it to this day. I often get emails that say things like – “Oh, I love your game. I played it when I was a kid. And now I play it with my grand-children.” I’m never sure whether to be flattered or depressed. Was it really so long ago…?

Anyway, in the years since then I’ve programming in lots of different languages: Smalltalk, Prolog, C++, Java, Modula-2, ActionScript, C# and others. Programming has become my career. I’ve written hundreds of programming articles for magazines and I am also a director of a software company, SapphireSteel Software.

Ruby is a great language because it’s simple to get started with but it also has lots of interesting, quirky stuff hidden away. It would be the perfect language for writing adventure games. If ever those games make a comeback, I’m ready and waiting…


What type of voice modeling do you do on the side?

Oh no, not “the voice” question! This is starting to get embarrassing. For some reason, a lot of people seem to like my voice. I don’t know why. I’ve never thought too much of it myself. It’s the only voice I’ve ever had and it sounds pretty damn ordinary to me.

I first noticed the voice-fetishism tendency after I posted a programming video on YouTube a couple years ago. Pretty soon there were loads of comments underneath that video – and almost all of them were discussing my voice instead of the subject I was talking about. Oh well, if people like listening to my voice, that’s nice. After all, they are going to hear an awful lot of it if they subscribe to one of my courses.

The first time I ever spoke ‘on air’ was when I was in my teens. I contacted a local radio station and asked if I could broadcast a few short features. They gave me a try out and seemed to think I was OK, so I did about half a dozen broadcasts for them – short, humorous monologues. That taught me how to speak into a microphone. I remember the radio producer telling me that the trick is to over-emphasise your words – but only slightly. If you don’t over-emphasise at all – that is, if you just speak in the way you speak in daily life – as far as the listener is concerned, it sounds as though you are half asleep. But if you put too much emphasis into what you’re saying, you end up sounding like a crazy person. I’m not sure I always get the mix right. Then again, I’d rather sound crazy than asleep.

I also used to record video features for the cover disk of PC Plus, which is one of Britain’s best-selling computer magazines. By chance, a TV producer saw those videos and asked me to record some features for the BBC. I don’t regard myself as a broadcasting professional. It’s just something I’ve done when the opportunity arises. Speaking of which, if anyone knows of an opening for a British villain in a Hollywood movie, let me know. That’s something I’d love to do. I think Brits make the best villains. And I have the added advantage that I’m a lot cheaper than Ian McKellan or Anthony Hopkins!

*** Learn Ruby with Huw’s course for beginners. ***