Chad Fowler was DOOMed from the start. Best known for his work with Ruby, it was the 1993 first-person shooter by id Software that initially sparked his interest in programming.
“I wanted to know how it worked because I loved it so much,” says the ‘passionate programmer’. “I got into multi-player gaming and it was more the psychology of it […] It was amazing that they created this fast-paced chess-like game.”
While playing as a professional saxophonist, Fowler would come home after gigs, fire up his “terrible little 386 or 486 and connect via old serial technologies to some big computer somewhere and teach myself programming.”
Hooked on the habit he began to work in software development, waking early every Saturday morning to spend a few hours teaching himself a new language. One weekend, he learned Ruby, which would dramatically change the course of his career.
Ruby had started out as a “‘fringey’ and weird” language with no documentation, only popular in Japan. But about five years after Fowler had initially learned it, Rails – a web framework written in Ruby – was introduced and it suddenly became very, very popular.
Fowler, already a dab hand had been running the International Ruby Conference, “when it was just a nerd-hobby thing” and founded the International Rails Conference. He was perfectly positioned to write the second book that ever came out about the language and his name soon became inextricably linked to it.
Now, Fowler mans the decks as CTO of Wunderlist, so I asked him a few questions about programming, programmers and how passion fits into it all.
How do you start from scratch and become a successful programmer?
There have been waves of people over time because of the potential lucrative nature of programming, that just know that they want to be trying to program but they don’t know why. It’s unlikely that you’ll be very successful if you do that.
It’s way better if you have an idea of something you want to make. Hopefully something pretty simple. Of course, if you’re not a programmer, you’re not going to know very well what simple is until you try, but that’s how you learn. And then, just make something, ideally that you would use.
It’s pretty simple then because Google exists and Stack Overflow and cheap or free video tutorials. If you want to learn iOS programming with the new Swift programming language, you can just type it into YouTube and you can have someone teaching you, probably at world-class level.
Is a self-taught programmer as valuable as someone who came through a university degree course?
Maybe even more so […] When I was with Living Social I started this programme to test this idea that passion and intelligence are more important than credentials or experience. It was called Hungry Academy. We hired 24 people who had, most of them, zero programming experience and my goal was within five months to train them to be as good as people who had gone through university and had a couple of years of experience.
So after 5 months they all joined the LivingSocial team as software engineers.
It was a rigorous process and […] it was based on creativity, ability to communicate demonstrable passion and demonstrable energy, self-starting, all those sorts of things that you need from an entrepreneur.
What language should beginner programmers start out with?
It depends on what you want to do, but probably Swift at this point. Because the Apple platforms are so popular, especially iOS, and Swift is the direction they’re going. It’s also easier to learn I think, for new people than objective C.
How important is passion to good programming?
I didn’t play saxophone professionally because I thought it would be a good way to make money. That would be stupid. I did it because I thought I could be something special, and I could make an impact and I could be well-known and there’s all that sort of ego stuff that goes with it too. When I got into programming I took exactly the same approach. I didn’t have the same dispassionate [attitude of] ‘I learned this crap in school and now I’m going to go sit in a cubicle and do what I’m told’. It was more that I was going to make messes and make things happen.
What traits do you look for in developers?
It’s passion and work ethic. I actually wrote a blog post called who I want to hire that answers exactly this question. It was because I was frustrated that I couldn’t find the sort of people that I wanted because I’m more interested in work ethic than I am experience.
How do you know when it’s time to move on from a job?
When I was with GE – I was there for 5 and a half years and I had done just about everything I thought I was going to do – I got really good advice from a friend when I was trying to figure out what to do. He asked me, ‘is it your destiny to work at GE?’ and then I thought, “yeah… I have to go”. I could have been in Louisville, Kentucky right now, living in the suburbs, wearing khaki pants.
What’s the hardest things about managing a team?
Working with humans in large quantities is painful, it’s emotionally painful. I honestly mean that being a manager is a painful thing, unless you don’t care about anyone and if you don’t care, then you won’t be good at it. Being a good one means you empathise and you’re compassionate and when you have really strong empathy and compassion you feel a personal commitment to making everyone’s experience really good. That’s what I do anyway. But I know statistically, because we’re human and everyone’s different, some percentage of people that work for me, are going to think I’m a dumbass.
What’s the most annoying thing about how programmers are portrayed in pop culture?
To me, it’s the way programmers are represented as socially-stunted people who hate other people and like to sit in the dark. That’s really one-dimensional. I hate sci-fi and fantasy movies. All the things that the Big Bang Theory people are into are exhaustingly boring to me.
Everything about being a nerd is exhaustingly boring to me and I am a programmer, primarily because I find it to be a really cool way to collaborate with people because you rarely do something by yourself, when you do it well.
Unfortunately, there are programmers who identify with this nerd stereotype who then amplify their negative qualities as it’s sort of glorified […] they create this thing that makes it okay to be this idiot nerd troll when it’s really not okay in any context to be like that. That’s a terrible person to be glorified. […] It’s not all just these dicky white guys that like to play WoW and read The Hobbit.
Thanks so much to Chad for taking the time to chat to me. Since we spoke things have been going pretty damn well at Wunderlist – they’ve just announced that they’ve been acquired by Microsoft. As if that’s not enough, Bethesda recently announced DOOM 4 at E3. Seems like everything’s coming up Chad!
Image of Lego Programmer by wiredforlego