HACKER Q&A
📣 segmondy

Does anyone record themselves while programmming?


It's a good habit to keep worklogs when programming, some don't and their commit log and perhaps code comment might be it. But lately I have been thinking, what if I recorded every time I programmed, both myself and my screen session and spoke to the computer and captured my thought process. Sort of like folks do when screencasting but just for personal reference. I'm curious if anyone does so and if so, what are the pros and cons you have noticed?


  👤 macromaniac Accepted Answer ✓
Ive done it for 5ish years, the advantages are huge and absolute.

#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.


👤 avitzurel
I've never done it for myself. I did, however, do it for screencasting (Twitch and YouTube).

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


👤 slap_shot
Funny enough I just recently started doing this. I started watching a lot of developers on Twitch, and while I don't want to screencast my day to day work, it was interesting to rewatch myself and see myself from a "third person" perspective afterward.

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.


👤 RangerScience
In a recent task, I started journalling (using Medium). The particular task was a deep dive into how some open source tech worked (specifically, how Electron loads Chrome extensions). At each step (more or less), I'd copy over code snippets, and provide links to the source code and documentation.

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.


👤 mikegreenberg
I was thinking what a Twitch for Programming might look like. And then I found https://asciinema.org/. While limited to the terminal, this could be an interesting genre to explore. Repurpose the underlying recorder and foster some sort of community around the practice... if only to improve each other's skills. Anyone want to work on this, the idea if yours. LMK if you want a hand. :)

👤 fraXis
This makes me think back to the times that Notch used to record/stream himself when he would program. I used to love watching those because it helped me become a better programmer.

https://news.ycombinator.com/item?id=3811332