#1) no impossible to reproduce bugs
Any one off bugs you find a are instantly replayable, often times things that you think are bugs were actually just misclicks. Since issues you open in eg github are timestamped (and commits) you can go back to the video and see what happened
#2) You can now quantify what's wasting your time in numbers
By randomly sampling hundreds of hours of video I can say 60% (60%!) of my development time was spent on premature optimization. With this data I have now effectively doubled my programming productivity. An added bonus is now you know exactly how long everything took to complete in hours (837h for current project)
#3) Helps you stay on task
At the end of the day i tell myself what i need to do tommorow in a very short 5 minute video and suddenly its really easy to jump in.
In short, I highly recommend it, and theres really very little reason not to do it.
There are a couple of things here:
1. Talking to yourself is extremely useful. You'll be surprised by how effective it is. 2. A recording is not very useful because discovery is awful. Even though all my content is on YouTube, There's no way I can find that one time I fixed an interesting bug or implemented something complicated. Without proper logging of what you did and indexing in the video, it will just be like any other video you take with your GoPro, hours of nothing.
What I found to be really effective with my teams is this: 1. Draw your thoughts. 2. Write up a mini-plan of how you want to "attack" this 3. Talk through it, even if it's only to yourself. 4. Pseudo Code and Pseudo Flows of data
It's surprisingly cringey to rewatch how I was solving a problem or just the general inefficiencies of programming. But seeing it helps me more cognizant of them going forward.
I'm surprised it took me 10 years to try this, because I play a lot of sports and, for me, watching my form on video has been the biggest way to improve in sports... kind of makes sense it would work with programming.
I referred back to these notes all the time during the rest of the dive, and I still refer back to them in the subsequent tasks.
It's mostly about not retracing steps; having a link to this or that SO question; or about having a checklist ("here's all the places this symbol appears"). It was also handy when resuming work, or when something was a dead-end and I had to resume from a different point.