24
Aug
2010
dnovotny

Programming

Programming is hard work. It’s an intense mental activity. Good programmers think about their work 24/7. They write their most important code in the shower and in their dreams. Because the most important work is done away from a keyboard, software projects cannot be accelerated by spending more time in the office or adding more people to a project.

via David Veksler

I was commenting recently about how I had worked all night trying to solve a problem, and the rationale given to the group was that as a tech-person, the small things that should work but don't keep us up because we know they should work. This was not programming related, but, its true, that little nag that something isn't working does keep me up. I do constantly find myself working to find the solution. This example in particular I was actually sitting in front of a computer trying to solve it. And it ended up being a cluster of problems, completely out of my control.

However, when I was reading that, it reminded me of a moment a few weeks ago. I had been reading a book on Java, because I went to art school, and never learned to program in Java. I ended up dreaming of code, writing the code in my sleep. I woke myself up, as one wakes themselves up from a nightmare, because the code was wrong. Then, about 45 minutes later, I realized that I had woken up, had continued to refactor the class, and improved upon it. It was 4 in the morning, and I had no reason to be doing this. First, I should have been sleeping. And second, it was trivial code that had no place in my dream or in real life. I don't remember now what complex problem I was trying to solve, but, it illustrates the point made in that quote very succinctly. I had no reason to be coding, but, my mind was doing it anyway. A good programmer, is constantly working. Its an intense mental project that can rarely be speed up by adding more programmers to the task.