My morning work ritual is to open my computer, scan for urgent email, make tea, and open Lobste.rs. Drinking my morning tea and checking the top stories and recent helps me get my brain in “tech” mode instead of “home” mode. And unlike Hackernews or Reddit, Lobste.rs doesn’t start my day with outrage or a firehose of content. Just enough intelligent articles and comments to get excited about technology and to consume with that one cup of tea.
I turn off my network connection.
The “Watching Myself Code” item really resonated for me. It’s like Tom Brady or any other NFL player spending the majority of his days when he’s not physically training watching HUNDREDS of hours of football footage, both of his own team on the field and of others and prior games, looking for flaws, ways to optimize etc.
I’ve found the “Eliminating Distractions” bit particularly hard. It’s not the voluntary stuff, it’s the stuff that’s unavoidable on my team. I’ve been trying to think through ways to improve my productivity by attempting to decrease the time it takes me to return to productivity when I AM interrupted, but haven’t gotten anywhere with that yet :\
I write a test first and keep steam of consciousness notes as I work through a task.
Then I know where to jump back in when I get back to coding after an interruption.
Maybe that would help you?
I’ll give it a shot, thank you!
Writing the test first is key I think. I’m pretty good about doing that with my own projects, but get intimidated at the complexity of mocking some of the more complicated objects and APIs we use at work.
Gives me more skill building to look forward to I guess :)
Another thing I like to do is keep engineering notes.
Open a blank page and start writing down what you are planning to do. I have WORK.md in my global gitignore. What matters is that it’s very low friction to edit. Keep that page updated with notes related to the task.
This has a few nice side-effects:
I really like this suggestion! Do you ever have to clear blog post contents with your employer? Or do you just go ahead and post?
If it’s work-related it’s best to clear it. Since I do devops, the customer generally doesn’t really care because it’s not a trade secret, just overhead for them to build their product. I must admit that this part is also quite aspirational, I don’t do it as often as I would like to.
I really like this article. My favorite two points are the last two…
So often people give advice for some type of improvement, and these two points are missed. If you don’t review, if you don’t look at the before and after… how do you know if what you’ve done has helped? For the second point, too often people (I should speak for myself!) try to take on too much all at once. Incremental steps that stick will yield much greater returns over time rather than too many changes at once that someone can’t handle.
Thanks for the article!
I’ve never thought of watching videos of myself coding, but that’s a good idea. I’ve been thinking about trying to track my time for a while (since I read The Effective Executive), but I’ve never found a method that works well (e.g. a program that tracks the currently in-focus window can’t tell that I’m having a conversation with a colleague).
I’ve also found that putting my phone where I can’t reach it from my bed helps a lot with not wasting time in the mornings, as does installing leechblock in all my browsers (higher limit at home, low limit at work!).
I’ve started using ffmpeg -video_size 3840x2160 -framerate 2 -f x11grab -i :0.0 output.mp4
That saves two frames a second, and uses my native screen resolution, seems to work well enough.
ffmpeg -video_size 3840x2160 -framerate 2 -f x11grab -i :0.0 output.mp4