Distinguish Yourself

September 10, 2010

Dan Pink’s recent quote of the day asked, “Have your skills become commodities?” Dan quoted Catherine L. Mann from a New York Times article, where Catherine observed, “C++ is now an international language. If that’s all you know, then you’re competing with people in India or China who will do the work for less.”

I agree with Catherine, if C++ is all that you know, then you have a problem in the making, and your skill – understanding a programming language – will rightly be perceived as a commodity skill. To be perceived as more than a commodity worker you need to move beyond coding skills. You need to be able to design and architect software. You need to be able to collaborate effectively with other people. You need to contribute to solving those difficult problems that can’t be completely specified in advance.

I’ve been concerned about the commoditizing of white-collar work like software development for while. In my post, Is Commoditized White-Collar Work on the Horizon? I referenced the book The Numerati by Stephen Baker, and how there is a movement to turn white-collar work into numbers with the goal of “optimizing productivity.” Unfortunately, this optimization is all about keeping those defined as commodity workers laboring as close to 100% as possible, making it impossible to generate the creativity and innovation that companies claim they desire.

Commoditization is all about keeping white-collar work in the mold of factory work, or at least duplicating the factory model as much as possible. I explored this topic (referencing Dan Pink, Micheal Lopp, and Seth Godin) in my post, Are You a White-Collar Factory Worker?

In the final analysis, you definitely don’t want to be viewed as a commodity worker whose work is indistinguishable from that of someone else; chances are, those skills can be easily and cheaply obtained elsewhere. Be a difference-maker and tackle the difficult problems. And don’t let the fear of failure get in your way.


davearonson said...

Even within just the realm of coding, you can distinguish somewhat yourself by knowing a wide variety of popular languages. Had I not already demonstrated learning capacity by learning C, C++, Java, Javascript, Python, Perl, HTML, XML, OO principles, design patterns, and a lot more, on my own time and dime, before I ever had any need for them on the job, I probably would not have gotten my current job. It let me finally break out of the @#$%^&* "Plain Old C" rut and work mainly in Perl, with some Ruby (which I learned for this job) and occasional Python.

Now I'm trying to steer my career more towards Ruby and especially Rails. I pretty much missed the Java boat, by not pushing hard enough to land much work in it before it became a "gotta-have". Now I don't want to miss the Ruby yacht. (Sorry, but somebody had to say it.)

September 10, 2010 at 10:40 AM
Dave Moran said...

@davearonson: It sounds like you are doing a good thing and broadening your horizons -- being versatile in the process. You mentioned OO principles, design patterns, "and a lot more." Kudos to you for doing this on your own time and dime! I try to allocate some work time for my staff to learn and improve -- we're working very hard at implementing agile development and sustainable development to accommodate continual learning, and I have a great deal of respect for those who strive to improve through their own efforts.

I am concerned for those who are limiting their learning. While many individuals have gotten by in the past with a limited repertoire, the ability to command a good salary as we move forward, and in the face of global competition, is less and less likely. The quote, "If one programming language is all that you know," is at the extreme here, but if you adopt the notion that "I have a language under my belt, so I'm a programmer," you're placing yourself in a position of milking the cash cow of your current abilities, but what about tomorrow?

September 11, 2010 at 12:33 PM

Post a Comment