Normally when people read or hear a fascinating story about anything, they tend to imagine themselves as an actor in the unfolding drama. That’s how it was for me when I first read Ben Carson‘s Think Big a few weeks before I joined high school. When our physics teacher came around for our first lesson and asked us what we would like to be when we grew up, I shot up immediately and proclaimed, rather importantly, that I wanted to be a neurosurgeon. Needless to say, I had the limitless pleasure of explaining to my dismayed classmates that the job of a neurosurgeon is to open up people’s heads and fix any problems he might find.
Even today, whenever I read a great book, watch an intriguing documentary or just listen to someone who really loves their job, I can’t help visualizing myself in a lead role in their story. Which really is the aim of any great story teller – to paint a picture so vivid that his listener sees himself in it. For most people (and most stories), this fantasy wears out soon after the end of the tale. When you read a president’s autobiography for instance, you imagine how it must be to be president. But however much you enjoy the book, you typically don’t embark on preparing for next general election on the basis of that experience alone. When you listen to the operating theater intrigues of your surgeon friend, you don’t send your application for admission into med school the next day.
It appears though that there are certain kinds of stories that invite a fantasy that lingers far longer than usual – or at least that’s how it seems for some people. I guess it affects activities that are viewed more as hobbies rather than real professional undertakings. Things like photography, animation, rally driving and… wait for it… software development. Somehow these things attract the notion that it really can’t be that hard. And understandably so. It is certainly easier to take a picture, animate a stick figure, attempt a heel-and-toe or write a “Hello world” program than it is to perform a circumcision or run a small country. The sheer accessibility of these vocations make them seem deceptively straightforward compared to more dangerous or people-driven initiatives. The problem, I think, is a lack of appreciation of the wide chasm between hobbyist and professional pursuits of these careers.
I have met a good number of people with a small amount of training in computer programming – but often little or no apparent interest – who seem to think they can just cross over from whatever they are doing and make a career out of writing software. Such people will usually have written their last line of code a few years before, have zero or very rudimentary projects under their name and fond memories of how nice it was to never have to remember semicolons in Visual Basic 6.0. They will usually have struggled with some other job(s) for a while and then, by various means, come under the impression that software development is a very lucrative career. At which point a light bulb comes on in their head and they instantly remember their computer science roots and voila! Their fantasy journey begins.
Self taught developer
As a largely self-taught developer who does not trace his roots to an IT or CS degree, I will be the last one to say that software development is rocket science. Far from it. Anybody with the passion and a decent level of analytical skills will get by just fine. I am also not saying it is not a good hobby to pick up. I would recommend it to anyone who is genuinely interested. What I am saying is you can’t just come from being a credit control officer and hope to polish up your first year or diploma C lessons before applying for a software development job. It doesn’t work like that.
Professional software development is a lot more than memorizing compile commands and putting your curly braces in the right places. It is more than the number of programming languages with which you are familiar. It is about identifying people’s problems and solving them. It is about learning to talk to users who have no clue what they want but are especially adept at detecting what they don’t want the very moment they see it. It is about project management. It is about people and relationships management. It is about inventing tomorrow today. And you don’t get very good at these things if you don’t enjoy doing them. At least a good number of them anyway. Because writing software is as much a science as it is an art. And you know what Doug Coupland said about creativity? It is the only other thing, besides competence and sexual arousal, that you can never fake.
So go on and dream about becoming a professional software developer. And you have my best wishes. Just understand that it’s going to take you passion, time and hard work. And because the industry evolves so much so fast, you will need the willingness and tenacity to frequently update your skills. One more thing, in this industry, evidence of projects you have done carries far more weight than the most outstanding school grades you can muster. Unless your interviewer is not too smart – which, I must tell you, is not entirely inconceivable.
- Presentation: Making Software Development Make Sense to Everyone (infoq.com)
- Ask HN: How to safely switch to programming? (news.ycombinator.com)