I’ve heard this, often said tongue in cheek, “If people realized how simple software development was, it would be a minimum wage occupation.” Of course it changes slight when said from person to person. The main point is there, that somehow, someway, software development is easy. I think it is easy, and many developers I’ve worked with, find it easy.
I sat and thought about this for a while during a re-reading of “Refactoring – Improving the Design of Existing Code” and came to a simple and straight forward conclusion. Software development is easy to us software developers because we do it, because we’ve learned the processes, we are enraptured by the multi-faceted, multi-process, brainy work that it is, and we excel because we “software developers” are obsessive compulsive learners.
News flash, the general populace does not embody any of the listed characteristics. The slightly above average IQ isn’t even in the cast of “obsessive learner”. They aren’t even remotely interested in multi-faceted, multi-process, and brainy work. This left me with a solace of some sort, the average person, even the above average person, even the witty fellow that seems to know a bit of everything is not going to come take over the software industry and drop the wage rates of software development. Even the initial off-shoring of American Software Development has wavered in the simple fact that Americans are relatively good at software development. You can’t introduce this occupation to average people or cultures that don’t inherently accept obsessive traits and individualistic perseverance like the software industry does. We excel at building and creating “new” things. Sometimes we have a hard time picking up good process, lean and agile, sometimes we bump our heads on the “stupid block”, but the average man isn’t going to intrude upon this industry. The cultural and personal characteristics of the software developer are just not easily duplicated.
So to summarize, employers aren’t going to get people cheap anytime soon, software isn’t free no matter what license is included. Somebody is going to do the work, and those software grognards aren’t remotely average. The software people need to remember, that we aren’t average, and thus stepping out of self mindset and looking at one self from another perspective is important. The two main things, don’t underrate one self and don’t overrate, know and work diligently to keep up with where you stand in the industry.