A local software company, FreeCause has decided that all its 60 employees need to learn to write code.
The company president, Michael Jaconi (who, not surprisingly, is a mere 29 years old), explains that forcing sales and accounting people to learn how to write code will help bridge the communication gap between non technical and technical employees. Bridging communication gaps sounds like a laudable goal, but trying to turn salespeople into programmers sounds like a bad idea.
Jaconi says he modeled the idea after learning about a Japanese company that decreed that all workers should learn English.
Asking everyone in the company to learn programming is somewhat analogous to asking every player and locker room attendant on a football team to learn to kick field goals so they can better appreciate the starting Kicker.
Rather than expressing appreciation for the unique contributions and skills of individual team players, the FreeCause approach would seem to encourage competition between weak performers to develop secondary skills. How is this a good thing?
In the Japanese example, English was being taught as a means of improving communications with the external environment. The FreeCause approach hopes to make meetings shorter by eliminating silly technical questions. I totally agree with a goal of shorter meetings, but I question the approach if it is aimed at reducing interaction between team members.
Full disclosure, I never earned a dollar writing software code. I tried COBOL back in the good old days, thinking that it would be good for me as a systems analyst to appreciate how difficult it is to do. I did find it hard, but it was hard in a tedious way, not really difficult. I did learn that it takes a certain way of thinking - a detailed and patient mind set to write computer code. These seemed to include my weakest attributes, so I concentrated my efforts at understanding business functionality and processes (which the techies tended to be weak or uninterested in). By being the "front man" for the applications development group I carved-out a role that used my skills and aptitude and thus made my humble contribution as a valued team member.
I've always believed that the people who create the product are the most important people in the company (and should be treated like gods). But the folks in accounting keep the lights on, and they should be valued for their contributions and encouraged to focus on doing their jobs, not to be messing around with JavaScript.