Blank Page Problem
One of the most common problems, which writers, journalists, and other men of letters face, is the problem of the blank page. It happens when you have to write something, but the blank page is the only thing you currently have. And you seem to have ideas and time, but it is extremely hard to write the first sentence as it might determine the rest of the text and the quality of the resulting piece. That’s why it takes a lot of courage to write it.
The blank page problem is a little different for software developers. Imagine you had a long and intense day yesterday and you managed to do a lot. You spent two extra hours fixing the bug because it had to be done yesterday. Your product has to meet all the necessary requirements and it was crucial to fix the bug in time. The product is usually compiled at night, so that in the morning the new version can be tested. And yesterday you did everything in time, great job! The compiling went, and you achieved your ultimate goal. Because there is nothing worse than a failed compilation because you’ve messed something up.
But today’s morning is quiet. The bug you worked on yesterday is no longer a problem; the compilation of the product is fine. You turn your computer on, log in and your “blank page” is in front of you. Of course, there are tasks waiting to be attended to, but you haven’t started working on any of them yet. You think about reading your mail, checking out the news. You have not “assumed the working position” yet. As soon as you start working nothing will distract you. But you have not started yet. And later you find yourself reading some online blogs or news articles, you watch a video your friend has shared, you drink tea and wait for lunch.
What should you do?
It’s really very simple. If you suffer from the “blank page syndrome”, the thing to do is to not have this blank page in the morning. Well, you can not jeopardize the compilation process and the repository must have a live compiling code. But you are free to do anything on your own computer. Technological advances gave us project version control systems, and, therefore, we can create any chaos on our personal computer we like. And if it helps us to be more productive – why not?
My idea is simple. At the end of the day we are very eager to make the code in the repository work. But we must do one more thing before leaving, and that is to BREAK the project code on our personal computer.
You always have an idea of what you will be working on tomorrow, don’t you? Why not start working on it today? I am not asking you to work extra time! Spend some 30 seconds or a minute and begin a new task with minimum effort. There is a bug in the product? Great! Launch the debugger to check the product and stop at a breakpoint in a suspicious method. There are no bugs, but there is a new task? Then write an interface /class /method prototype to solve it somewhere. Do not try to do it in the best possible way; it is unnecessary at the end of the day. What’s more, the worse you do it – the better! The code should not compile. Launch the compilation, get the error message from the compiler, highlight it, and go home.
Do not turn off your computer. The electrical power it will consume during the night is not worth the hours you will spend on setting yourself up for the task.
And now let’s see what happens the next morning. You come to work, turn on your screen (log in), and there is no “blank page”! You have the task ALREADY BEING SOLVED. Something has already been done, there is some progress already. I don’t think any software developer is able to minimize the IDE window with the non-compiling code and start looking through pictures of cats or watch a video with a clumsy poodle. Debugger at a breakpoint is even more challenging! You can check the value of this variable right now, or see what this function can restore, or something else… Here you go – you are already working! There is no “tuning in”, or drinking tea, or reading news. Within the first minute of your working day you are already engaged in your current task. It’s quite possible that you’ll complete it by noon and then you’ll be able to take on a new task in the afternoon. You’ll manage to do more during the day and the time will be spent more efficiently.
And the main thing to do before leaving home is to break the project on your computer again!