Metasyntactic variables, coding and foo


“Unix is user friendly. It's just very particular about who its friends are.”

If you find that funny, you’re probably a programmer.

Understanding the nuances of such programmer’s humour provides you with useful comprehension into what your IT teams actually do, particularly if you outsource key technology services.

Why does this matter?

Whether you manage a large IT shop our outsource all of your keep the lights on activity, it helps to understand what the programmers actually do. Not only does such insight help you set achievable project goals and define logical project outcomes, but it may even help you reach better outsourcing deals – knowledge is power, after all.

But do you need to learn to code for this?

You can if you choose.  In part this is because there are not enough coders -- some predict there will be 750,000 IT jobs to fill in the UK by 2017 – driving governments and tech firms to invest in the coding education. Google, Apple and others offer various coding resources, while some governments offer financial support to encourage people to learn. There are also numerous online resources including these good resources on Lifehacker, and a growing range of dedicated online courses:

The Codecadamy (free), offers a self-paced interactive online course to help you learn to code. From making a website to writing apps to learning jQuery, javascript, PHP, Python or Ruby on the Rails, the service has you covered (and has 24 million learners to date).

More advanced users may want to try fee-based courses, such as the Pure Python Hacker Bundle ($49) which teaches Python on a step-by-step basis, from beginner through to advanced topics.

You can also explore hardware through systems like BBC Micro Bit and Raspberry Pi. These small scale platforms are a good way to learn how the computing devices actually work, plugging the perceptual and skill gap fostered by our dependence on increasingly commoditized tech offerings like iPhones, PCs or tablets into which we have no insight beyond the user experience.

But we warned, learning a little bit of code does not make you a programmer. Peter Norvig, director of research at Google, wrote: "Bad programming is easy. Idiots can learn it in 21 days, even if they are dummies."

Even if you do find you have an aptitude for coding, learning to do so at a professional level takes serious commitment and time, if you have no near term intention to give up your day job, it’s foolish to expect to gain the skills you need to beat your IT department at its own game.

What you can look forward to is building a better insight into what these teams do, improving the way you communicate and the expectations you place upon the team.

So should you learn coding yourself? A little knowledge may help gain some insight into the craft which may help you become a better leader to your IT teams, building up your understanding of what they do. Any kind of improvement in communication should enable you to identify how to support your team, including by taking ownership of the tasks they hate.

*A metasyntactic variable is a placeholder name used in computer science, a meaningless word that’s meant to be replaced by some objects that are relevant to the context in which it is used. One such meaningless word widely used in US coding is “foo”.

Take a look through our monthly online magazine, Real Times, for more real world stories covering the impact of technology on the wider world.

Jon Evans

Jon Evans is highly experienced technology journalist and editor. He has been writing for a living since 1994. These days you might read his daily regular Computerworld AppleHolic and opinion columns. Jon is also technology editor for men’s interest magazine, Calibre Quarterly, and news editor for MacFormat magazine, which is the biggest UK Mac title. He's really interested in the impact of technology on the creative spark at the heart of the human experience. In 2010 he won an American Society of Business Publication Editors (Azbee) Award for his work at Computerworld.