Watching Myself Program
Michael Malis described an interesting technique for improving his software development workflow: > One incredibly useful exercise I’ve found is to watch myself program. Throughout the week, I have a program running in the background that records my screen. At the end of the week, I’ll watch a few segments from the previous week. Usually I will watch the times that felt like it took a lot longer to complete some task than it should have. While watching them, I’ll pay attention to specifically where the time went and figure out what I could have done better. When I first did this, I was really surprised at where all of my time was going. (It's from his How to Improve Your Productivity as a Working Programmer, which I found through Dan Luu's 95%-ile isn't that good, itself an excellent description of how getting better at small things compounds into larger improvements). I've read that some people who play sports or games record themselves to find opportunities for improvement. But it never crossed my mind that the same could be applied to programming. After all, sports and games are designed around making players' performance legible and comparable, and in contrast, programmers' productivity is notoriously difficult to measure. My gut feeling was that something like this could never work. But what if it could? What if it really did bestow the user with productivity gainz? Well, I could meditate on this and do some research. But being a programmer, I could also throw some code together and experiment myself, which would be interesting and fun. So I wrote a quick and dirty script that captures a screenshot of my screen(s) every 30 seconds and, on the next day, compiles all the screenshots into an mp4 video. (Here's the source code - it should work on any *nix system that has ffmpeg and scrot installed). After a few days, I settled on reviewing 1-2 videos from the work week, focusing on days that felt particularly good or bad or interesting. This allowed me to av
I've recently noticed that reading code has become harder for me. I need to stare at a line an sound out, in my mind, what is happening there. Then on the next line, I need to verbalize that too, and switching back and forth between the two lines to get a feel for where this is going. It's like squeezing water from a rock.
Moreover, I've noticed that the feeling that usually came with reading code is absent. It was something like a tactile feeling, almost as if I were handling a mechanism and feeling its different parts, maybe scraping my nail over an edge, or brushing my thumb over a screw. Now reading code feels like reading IRS form instructions: the words go in, but they don't even touch my mind.
It occurred to me that this might be burnout and I appreciate you writing this piece. I need to read through some of the links, but now I have some threads to pull on.