April 02, 2009

Coder, your days are numbered

Communication skills, not coding skills, are a developer's greatest asset in a bear economy

Programmers care about languages. Opinion on the topic is generally divided into two schools of thought. One holds that a good programmer will be versed in a selection of different languages, to be better equipped to handle a variety of coding styles and challenges. The other school maintains that the best way to remain marketable as a developer is to become an advanced specialist in a single, popular language, such as C# or Java.

Programmer and blogger Jeff Atwood definitely falls into the second camp, only with a twist. According to Atwood, what matters most is not the language you code in but the language you speak. Programmers who want to be successful can be fluent in any languages they choose, he says -- just as long as one of them is English.

If the thought of claiming English as the lingua franca of software development makes you just a little bit uncomfortable, join the club. Atwood even titled his own blog post "The Ugly American Programmer." It doesn't help that one of his supporting citations comes from open source luminary Eric S. Raymond, a self-described gun nut.

Still, I'll see Atwood's point and raise him one further. Language proficiency is important, but not just in the sense of grammar, vocabulary, and syntax. Rather, what programmers need most are good, old-fashioned communication skills -- the same kind that are in demand for any other job.

[ Find out how to get an edge in the tough job market with our 2009 Tech Career Survival Guide. ]

As the global economy shrinks, the role of the rote coder is disappearing. Today's developers must be equally effective in the conference room as in their cubicles. They must be fully engaged, not merely in the software design and implementation process but in the business itself. For many programmers, that means learning not just a language but a whole new set of skills. And woe betide those who can't keep up.

The coder as typist
Sure, basic English proficiency is a boon for any programmer. Just for starters, the keywords and library function names of the vast majority of programming languages are based on English words. The bulk of technical jargon itself is derived from English. The majority of developer instruction and discussion is conducted in English. And commenting and documenting code in a language that's understood by all present and future maintainers of that code is just good practice.

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

Trial

Free 30-Day Desktop Virtualization Trial

Download a free 30–day trial and experience how XenDesktop delivers a pristine, on–demand desktop experience to users on whatever device they choose, while cutting IT complexity and costs.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »
aartibyte 4-Apr-09 8:47pm
Truly technically deep people are always able to explain things clearly (they may not enjoy it or want to - but are able) - be that as it may in broken English or quaint grammar. At least in our line of business, a great communicator is not necessarily a great programmer, but a lousy communicator is almost always a lousy programmer. The inability to communicate reflects an inability to clearly understand and formulate needs, game-plans and paths. Bottom line is that things have to be built correctly with the least amount of time wasted on rework, misjudgments, or self-indulgent tangents.
Raven 20-Apr-09 6:17am
I am partially agree with this article. I know most of programmer those communication is not good but they are good programmer and less successful in their companies. If you have good communication skills than you gain opportunity in your company. Codventrue
Buzzby 1-May-09 11:09am
I'm not sure I agree with the following assertion: "As it turns out, it's much more efficient for me to put my own ideas to the page myself -- with the aid of modern technology -- than to communicate my ideas through a series of intermediaries." Have you worked with a good secretary? It's quite a lot like pair programming, with a steady interplay of ideas and critiques. I think it will create a higher quality product per unit of time - which seems a fair measure of efficiency. I think the above quote and the observation of "Ideas are generated at the top and then passed downward through general managers, product managers, technical leads, and team leads." point to an assumption of a heirarchical model. It assumes a stepwise progression - but very often, in the development of products there is a network model, where the group of tech leads, product managers, program managers, etc. all reach consensus regarding ideas. ...And then it's quashed or unilaterally modified by general management! But the point about communications being paramount is absolutely on target!
Reboltutorial 19-Jul-09 2:04pm
1 reply
Sorry, I'm software project manager, I already see the catastrophy of young colleagues who just get out of school with no idea of what software engineering is about, who can just make useless powerpoint and cannot plan anything, so if the programmers are also like them, no doubt there are less and less competencies and more and more problems inf software management. Organization more than Communication is the key. The problem is more that services in Fortune 500 are divided into profit centers with a pyramid of hierarchy and so called IT Governance, that this cause communication to be difficult as each service is in competition with other for power so that nobody has interest to work for the whole. And no Managers want to recognize that the problem come from them and put the responsabilities on the developers instead. Deming's teaching has been forgotten, I'm sure most of you don't even know who he was and what he did for Japan Industrial Quality: Dr Deming's Revolution in Videos Dr Deming's 14 points on Management
Reboltutorial 19-Jul-09 2:09pm
See The truth about French “Social” Protection Myth applied to IT In Frace IT Managers are recruited very young nearly with no real world experience and they come from Business or General Engineering School with no IT Backgrounds, have contempt for technical stuffs, would prefer to get rid off programmers thanks to offshoring, and IT Guys with more than 40 years old aren’t welcome in Jobs offering. In fact you can be considered as outdated at 35 years old already when it comes to Java or .NET Technologies. And when the manager is about 30’s he doesn’t want to cope with a guy older than himself because he would fear his authority / competency would be challenged. So they pretend to focus on Communication. Sometimes I wonder if I was in Software or Marketing department.

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Today's Headlines: First Look Newsletter

Find out what will be news for the day, with our first-thing-in-the-morning briefing.

©1994-2009 Infoworld, Inc.