Can you remember the first day of high school? For some, it’s a time far behind us, for others it’s much fresher in the memory. And yet the same goes for all of us: it was the most structured day of your entire academic career. You had everything with you: a diary, your books, pens and above all a notebook. Some had a separate notepad for each subject, others did their work with a combined notepad.
Most things I didn’t do anymore. I didn’t keep track of my schedule, didn’t meet my deadlines and regularly had to borrow a pen because I had no idea where mine were. Nevertheless, throughout my academic career, I did one thing faithfully: I always carried a notepad with me, and neatly wrote down everything that would come in handy for me later on.
Usually, I didn’t do much with that. Most courses were easy for me and I didn’t really have to study for it. Still, I think many of my successes back then were based on the fact that I wrote everything down so faithfully. At the time of writing, it forced me to think in a structured way. Writing over what was said was not an option, because I didn’t write fast enough for that.
As a programmer, that’s the only thing that really matters: structure. As a developer, you’re more of a designer, an architect. Once you have a good overview of the program and the internal structure, the rest of the work is child’s play. Once you’ve worked out a program on paper, a chimp can type it for you.
And that’s why I’m so surprised to see so many programmers who don’t even have paper in their pockets. These programmers are so self-overestimating that they try to do everything in their heads. Many, perfect illustrations have already been made about this.
And of course, I don’t advocate writing out complete pieces of code on paper before typing them into the computer. That would be absurd. Compile errors are fine, they’re part of the job. What is not fine are errors in the structure of an application. That’s what you get when you start writing without a plan.
And besides that, it’s not wrong to write something down if you come across something. Sometimes you come across a flag of which you don’t immediately know what it is meant for. Of course, you will have to make sure that the documentation improves or the comments are clearer, but it is also useful to have it written down. So you can read back what considerations you made two weeks ago, for example.
So, where’s your notebook?