I really hate daylight savings time. It’s a terrible thing. Today I woke up feeling off. What better way to get back than to get started on my routine. I did so and took notes in TDP. It was a very typical Monday. Except it wasn’t. It was broken. It didn’t look like it should. My streaks were wrong!
Every time a goal is marked as done, the system calculates the streak. It then tucks this away. It’s an awesome metric and it encourages me a lot. I really love it. I was devastated it was broken, but I was motivated to fix it. The code here is complex.
I started to look at it. The most demoralizing part to this exercise is a note I left for myself:
FIXME I think this is broken, I wrote unit tests to cover this but I feel this is not right.
Great. I knew it was wrong but at the time I couldn’t place why. My subconscious was telling me and I tried to listen. It just didn’t click. Now I was faced with a problem that was hard to track down but I felt pretty good about fixing it. Right then I thought about it a bit harder and started to panic.
I could feel the stress creeping in and my confidence leave me. My breath quickened and I stared blankly. I did what anybody would do. I started banging on keys. Mash! Mash! Mash! It still wasn’t working!
After 30 minutes of swinging a wrench at the problem my stress was building. I wasn’t any closer to a solution but I did a good job of increasing my stress. The little voice in my head told me to stop and finally I listened. I closed my eyes, took a deep breath and held it in for just a moment.
On the exhale, I opened my eyes and deleted all the code in question. It was causing me stress. Time to throw it out. I had a lot of unit tests (all of which were telling me there was a problem). I needed to just start over. This is a luxury with software, we can throw our problems out and rebuild!
I still felt panicked and a bit of stress, though. I tried to relax but couldn’t. I wasn’t seeing a clear vision of the end result. I knew I wanted it all to work but I still didn’t have a plan. I got up and stepped away from my computer. I had a piece of paper and I defined a plan. I thought it through while not facing the problem.
I sat back down and succeeded. The best way to solve the problem was to move away and stop. I need to do that more often.