Why there will always be programmers

The latest episode of the .NET Rocks podcast is an interview with Robert Martin. In the interview, Robert Martin gives his view of why there will always be programmers. Here’s my summary/paraphrase of his argument.

Systems are full of details, and somebody has to manage those details. That’s what programmers do. Maybe some day, for example, we will draw diagrams instead of typing lines of text in order to specify computer systems. Fine, but then those diagrams will have lots of detail, and we will need professionals who can manage that complexity. Call them programmers.

Carl Franklin, one of the hosts, added that part of a programmer’s responsibility is to know what needs to happen when things go wrong, which is part of managing the details of a system.

The essential challenge of programming is managing complexity. Those who think the difficulty is primarily translating ideas into computer language syntax line-by-line haven’t written large programs. Writing small programs is challenging, and not many people can do it. But far fewer people can write large programs.

To write a big program, you just break it into lots of small programs, right? Well, that’s true a sense, in the same sense that writing a book is merely a matter of writing chapters, which is merely a matter of writing paragraphs etc. But writing books is hard because the pieces have to hang together in a coherent whole. If part of a book doesn’t quite fit with the whole, the result is aesthetically disappointing. If a part of a program doesn’t quite fit in, it’s called a crash. Paper doesn’t abort, but programs do.

(The .NET Rocks podcast posts transcripts of their shows. The transcript for Robert Martin’s interview was not up as I wrote this. Listen to the show or check back later to read the transcript.)

Tagged with:
Posted in Software development
3 comments on “Why there will always be programmers
  1. Just like English is still made of sentences, words and characters, I think that programming will always be made of functions and variables. Of course, as you point out, there are higher levels of programming, and lower ones, but it will be awfully hard to get away from Mathematics (variables, functions…). Mathematics works unreasonably well.

  2. AnnMaria says:

    Writing programs requires understanding a language. In my mind, mathematics is a type of language and, as Daniel said, many programs require mathematics as well as knowing the computer language.

    It’s one of my cliches – knowing a programming language doesn’t make you a great programmer any more than knowing English makes you Hemingway. What programmers do is get a computer to solve a problem someone has. The more complex, larger scale the problem, the better programmer you need to be.

  3. Uncle Bob nailed it with that quote, and any worries I’ve ever had of my job one day disappearing have dissipated.

3 Pings/Trackbacks for "Why there will always be programmers"
  1. [...] Why there will always be programmers The buck stops with the programmer It doesn’t pay to be the computer guy ? X [...]

  2. [...] Recap of the Robert Martin/Joel Spolksy brouhaha Why there will always be programmers [...]

  3. [...] complejo tiene multitud de detalles que alguien tiene que abordar, y eso es una tarea compleja.  El que completa los detalles es el programador. En las metodologías ágiles el concepto de diseño se entiende estrechamente ligado con la [...]