Difficult problems can be a lot to handle if you aren’t writing notes. I'm going to give you two examples for why i take notes with the hope that you learn something valuable. I've been coding for 5 years now and one of the best coding practices i think i have is writing notes. I see very few people doing this and it really costs you nothing to take 1 min away from your work to organize your thoughts.
Every time i run into a difficult problem I start to run into a lot of smaller problems. This is just a given with coding. Working on a Buy Now system for example. The main goal of that task is to have a way for a user to purchase something. What i ran into after working on a Buy Now was that i also needed to make a way for the user to receive a receipt. I also saw the need for repeat customers. These two alone are entirely separate tasks that you should tackle once you have a way for the user to purchase.
What i did was turn to my Notebook and write down what i still needed to do to have my Buy Now module be ready for User Testing. That's all this article is about its that moment when you are working on a big task and take the time to write sub-tasks down. We can avoid many huge issue we face if we write it down.
The human brain can only hold so much information. As you move on with your day you will start to forgot everything you were working on. I only mentioned two sub-tasks in my example but you can just imagine all the other tasks you could run into. That's why it’s important to write down the task, when you do finally complete the Buy Now system. You’ll remember that you need a way to handle repeat customers but you might also forget to have a way to email the customer.
We’ll run into this problem a lot as a programmer. We’ll think we are done with a System but really we forgot to put in that one critical piece. If you don’t write down everything you need to do for that system to be considered complete then how do you ever know you are done? Most of us go with a gut feeling but in my opinion this is how you shoot yourself in the foot and run into more bugs than you wanted to. Save yourself the effort and take notes.
If you’re not convinced yet to start taking notes then maybe this next point can sway you.
Big companies don’t expect programmers to take meticulous notes. I'm not saying its a requirement. There really are no requirements for your process, there are just standards for your output.
One thing i run into is; I’m working on a game or feature and half way through the process i get pulled off to work on something else. When working at a company like DoubleDown or Microsoft what you should do is create backlogs for the sub-tasks that still need to be complete. It could end up being that you aren’t the developer who finishes up that project so its really helpful for the next person to see things that still need to be completed. If you took notes than this could be really easy for you to do.
Your project Manager will be very pleased that you took the time to make the backlog items and your peers will appreciate having such a detailed ticket.