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.