John Topley’s Weblog

The Truth About Real Programmers

Most organisations of any size that practise software development usually have a Real Programmer. I’m sure you know the type—they have a brain the size of a planet and are undoubtedly masters of their field. These are the people who move projects forward with their brilliant insights and phenomenal skills and knowledge. They’re the ones that the rest of us go to when we need help with a programming problem.

We approach these wizards with slight trepidation and ask them to shine a little of their brilliance onto our humble difficulty. For that brief moment of contact we’re prepared to look past their unkempt appearance, and we try to ignore their poorly-developed interpersonal skills, because we’ve wasted a week trying to puzzle this out for ourselves, and because we need to get on, dammit!

They help us, the problem is solved pitifully quickly and then we can get back to coding our getter and setter methods whilst they write the next generation engine that’s going to give us the competitive edge and win awards for technical innovation. Normally all would be well again, but they can never leave it at that. These guru’s gurus always have to give us a mini lecture about Real Programmers.

You must know how it goes. Real Programmers don’t use IDEs, they use Emacs, or perhaps vi if you dress on that side. IDEs are for lusers [sic]. Real Programmers customise their chosen editor using a language that only other Real Programmers can understand, so that it completely simulates that obscure machine that they wrote their first assembly language program on when they were four years old. And no-one else has ever heard of that machine.

Real Programmers don’t use Windows. Windows is the spawn of the devil, although on a good day they might grudgingly admit that the Windows kernel has some useful abstractions. They run God’s own operating system, UNIX. On their PDA. However, they’ll be switching to Linux as soon as they’ve got around to finishing their kernel improvements and submitted them to Linus.

Real Programmers certainly don’t use GUIs, which only slow them down. And why use a GUI when you can perl -e ‘$n=1; while ($n++) {print “\n$n” if (“p” x $n) !~ /^((p)\2+)\1+$/ and “$n” eq reverse “$n”}’?

Real Programmers work on exciting projects in their spare time, projects that are at the forefront of technology. They’re designing a nanocomputer or working on the system software for some future space mission to Neptune. None of this boring business software crap.

In spite of what you might think from this parody, I like Real Programmers. I like them because they’re enthusiasts and I think that’s something to celebrate. However, I believe that what I call Real Programmers are rather different creatures to the caricature I’ve just painted.

True Real Programmers use whatever tools make them more productive, which may well be an IDE (gasp). They customise their working environment, but not obsessively so. True Real Programmers can use Windows without complaining about it because they understand that a large amount of software runs on Windows, which means that it’s an important platform for lots of people. They also understand a lot of the reasons as to why Windows is the way it is, because they read Raymond Chen and Larry Osterman et al religiously.

True Real Programmers use GUIs and command-line interfaces as appropriate and recognise that there’s a time and a place for both. They can probably get certain things done quicker using the command line, but they don’t belittle people who prefer to use a rodent for getting around the screen.

Most of all though, True Real Programmers develop software because they get a real kick out of the thought that something they’ve done has made a difference in some way to a user’s life. Even if it’s just saving the user a half second wait before that search results screens comes up, because they spent three months tuning the messaging plumbing that the user will never even know is there. The Real Programmers are the rounded individuals who approach software development with a balanced and holistic approach.


There are 7 comments on this post. Comments are closed.

  • avatar JohnnieC
    11 February 2005 at 13:56

    Yeah. I don't buy the b.s. either. I think much of this so called 'Real Programmer' behavior is for show. 'Real Programmers' do wash their face, comb their hair, and tuck in their shirt. Plus, they are smart enough and not so full of themselves to realize that social skills are a requirement.

  • avatar John Topley
    11 February 2005 at 14:27

    Hey, I don't tuck in my shirt! ;-)

  • avatar Chris (A non-smoker)
    19 February 2005 at 23:16

    I think real programmers are those who started back in the mid 80's writing 6502 assembler to work out pi to 200 decimal places... even though they couldn't print out the answer! Or maybe that's just me!

  • avatar JB
    09 March 2005 at 22:08

    mmm, I know someone who runs emacs on their pda - definitely a real programmer

  • avatar John Topley
    10 March 2005 at 17:38

    Yes and sadly missed :-(

  • avatar Plazma
    07 July 2005 at 03:48

    A Real Programmer would never use Windoze. Even if Windoze could enable some unforseen advantage, the Real Programmer is clearly aware of the negative impact supporting it has on progress.

  • avatar John Topley
    08 July 2005 at 10:57

    Sorry, I don't know what Windoze is.

They’re designing a nanocomputer or working on the system software for some future space mission to Neptune.


  • Jan
  • Feb
  • Mar
  • Apr
  • May
  • Jun
  • Jul
  • Aug
  • Sep
  • Oct
  • Nov
  • Dec
  • 2019
  • 2018
  • 2017
  • 2016
  • 2015
  • 2014

More Archives

Sign In