Step 1: Look at the problem. Nod. Understand. Smile. “This isn’t so hard…we just have to do A, B,C…”
Step 2: “….but HOW?!” Begin attempting to break down the problem and work out what to do first.
Step 3: begin writing the easy part of the code. Fingers are flying everywhere. Code spews out of your mind onto the screen.
Step 4: “Now to test.” Frown. Type out tests wearily, hoping everything works.
Step 5: “RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWWWWR!” Bad news: your tests don’t work. Good news: at least you already knew you weren’t done yet.
Step 6: 4 hours later, once done debugging. “Now onto the next method….” Your face now looks like a ball of cotton candy, you haven’t slept well in a week and have been staring at a computer screen for 7 hours already.
Step 7: This is the point where one of two things happen: either your lack of nutrition begins to make your limbs shake and your lack of sleep tricks you into calling it a night. Or, you begin to REALLY lose your mind. Off tune singing and non-nonsensical replies are a norm. You no longer know how to communicate your ideas to other people and can only talk in CODE.
Step 8: Everything stops making sense – you sleep.
Step 9: You return the next day and everything suddenly makes sense. You debug your code in an hour and a half and continue working on your project.
Step 10: Repeat this cycle 5 or more times depending on the length of project.
Step 11: You reach the finishing point. Write your last test and hit the “Run” button. Then one of two things happen. You cross your fingers, the anticipation building. Either: everything blows up and you fall on the floor in frustration, or everything runs and you are left sitting there looking as though you’re a 5-year-old faced by a very big, chocolately birthday cake.
This is my life now. If you code professionally, I feel your pain, and I’m still in school. Share your stories in the comments! I’d love to swap horror stories 🙂