My wife (and the rest of my family in fact) has never comprehended what I do as a software developer. Throughout all the years we have been together she has seen me sat in front of the computer and typed code into the screen for hours on end. But still she does not know how ideas in my head are transformed into a software application like one that she uses everyday. She thinks it is all voodoo magic, really she does. Last week, I explained to her that software development is kind of like cooking. Not the follow the recipes in the cookbook type, rather the Michelin Star chief type where the dish is created out of thin air.The image of 'programmers' and 'hackers' portrait by Hollywood does not help either. When I tell people that I write computer software for a living, I am pretty sure in their mind they see binary code (probably green) flowing down the black screen continuously in multiple overlapping windows. Just like in 24 or The Matrix, in fact. And coding involves typing a few lines of indecipherable command in one of those black windows, more code flows down, and Boom! Global warming is solved!
While this image works really well in a TV series or movie, unfortunately software development is not that dramatic or glamorous. The idea of someone (be it a genius or a mad scientist) working alone deep in the basement and conjuring a software application out of nowhere and that every single line of code is memorised is so deeply ingrained in the general population psyche that I truly believe this is affecting software development as a whole.
Of course, it is partly our own fault. We, the software developers, have worked so hard to make complex and powerful software easy to use for the users. We have worked so hard to improve our development process to decrease the turnaround time for each development cycle so new features and bug fixes are delivered to the users with increasingly shorter time-scale. This has raised the expectation of the users on our ability to deliver feature that looks deceptively simple on the surface but probably hugely complex behind the scene.
Is there a light at the end of this tunnel for software developers? Perhaps, but only if we work very hard on at least the following two areas. First better design concepts (object-oriented design, design patterns, refactoring), processes (Agile, TDD), and development tools (C# 3.0's LINQ, Ruby On Rails, etc.) will continue to be improved to let us deliver more and faster. These are already in place and many clever people are working hard to take us there. More importantly, as well as building kick-ass software; we also need to begin an education initiative.
We need to change the perception of our work in the users' mind from part voodoo magic, part art, part skills, and full nerds to a disciplined profession. Some may even want to call it 'software engineering', do you believe that?! Until the general population considers software development on the same level as lawyers, doctors, or engineers, recognises the immense complexity of software applications and the skills requires to build them out of thin air, our job as software developers would only get harder and harder.
* Dev Chair: The place where I plant my butt after a hard day of code bashing and muse about meta-issue. [Alex Hung is a co-developer of desktop blogware ecto and will be penning a regular series for DLS about software development.]














Reader Comments (Page 1 of 1)
2-08-2007 @ 3:27PM
JC3 said...
Good article.
oh, and in the tradition of posting - first! ;)
Reply
2-08-2007 @ 4:07PM
D said...
Great article, very true. Education and perception of software develepors needs more attention in the U.S. Other developed countries have long outpaced us in this field.
Reply
2-08-2007 @ 4:57PM
Bert said...
In law enforcement this is called the CSI affect. Jurys expect, because of the lab work investigation they see on TV that officers and detectives can do much more than they actually can, with much less to work with. Like showing code being written in only a few lines. However, law enforcement and defense attorneys have begun to use this in their favor by hinting that they have much more evidence than they do.
I say turn the expectation around and make tell people, yes, I can do it all.
Reply
2-08-2007 @ 6:29PM
Ankher said...
But the green-text-on-black-window idea looks so cool! :)
Reply
2-09-2007 @ 8:00AM
padieg said...
Hehe, something similar happens to me. I'm a 3D illustrator, and when someone watches me working they get bored to death cause everything's so different as in the TV, where you can create a whole world just using a few keystrokes. And my girlfriend hates me when we watch CSI cause I tend to criticize the way they "analize" the cases with those fancy graphics.
Reply
2-22-2007 @ 4:07PM
KevinB said...
I had a similar experience yesterday. I am going to Podcamp this weekend at Ryerson. My wife works in real estate so she'll be in and out this weekend. Our 11 year old daughter stared on the "what about me, I'll be so bored." I offered to take her with me to the Podcamp. They both looked at each other, started laughing and walked out of the room. Leaving me to reply...or maybe not.
Reply