How I Work
I find it interesting to hear about how other creators work, so I thought I would share what I do.
It might look like an easy schedule, but I used to work 12-14 hours a day, which led to serious burnout. My current balance is a lot healthier and I'm still happy with how much I can get done.
I'm a night owl, so I often wake up around 11 AM. Sleep is super important to me, so I get at least 9 hours.
I drink coffee in the morning while I work on any code-related stuff for 2-3 hours.
There are usually a couple of problems left over from the previous day that I can jump back into and approach with a clear mind, with help from my Little Idea Elves.
I almost never listen to music nowadays when I write code, but if I really need to get in the zone, I will listen to trance music or white noise.
Then I take a hot shower, where I use bath crayons to write on the walls if I want to capture any shower thoughts.
After lunch, my brain seems to switch to “verbal” mode, so I switch my focus to writing, personal business, and email.
Later in the day, I usually walk for a couple of miles near the lake, which is a great way to change up my scenery and also focus on anything that’s on my mind.
Sometimes I'll take a short nap, which is a great way to “reset” my mind back into the same clear state that I enjoy in the morning.
After dinner, I will work on art or visual design for 2-3 hours, since it requires less logical thinking. While I do that, I will often listen to jazz or a podcast.
For the past 10 years, I have done all of my work on a single laptop, generally a Macbook Pro.
That’s all I've used for my personal projects, and when I worked as an engineer at Netflix.
I don’t use an external monitor. All of my apps in fullscreen mode so I can focus on one thing at a time.
I turn off all notifications for things like email, group chat, etc.
My desk is just an unfinished Ikea table that doubles as an art table.
After reading the book My Creative Space, by Donald Rattner, I've included more plants and natural lighting to my work area, which has been a nice improvement.
Long ago, I tried all kinds of complicated systems for managing my tasks, hoping I could get absolutely everything done in an optimal way.
But then I realized that there will always be more work than I can possibly get done.
I think about it this way: It only takes a few seconds to think of a task and write down, but each task might take hours to complete. The math just doesn’t work out in our favor.
Also, users have an unlimited desire for more features, and creators (or corporations) have an unlimited ambition to make things. Add in the complexity of software, and the never-ending discovery of bugs, and it’s clearly impossible to ever catch up.
Once I realized that, I figured I should spend less time managing tasks and just do my best to pick the right task for the current moment.
I only use plain text files to list all the things I need to do for each project. That makes it easy to just cut-and-paste to rearrange them as needed.
I don’t really prioritize tasks, but I do chunk related tasks together.
When a task is done, I erase it.
Here’s what one of my THT task files looks like. Nothing fancy.
THT PATCH - Check in latest changes - Fix PHP 8.1 deprecation warnings - front.php - fix relative path for homebrewed php - $thtRuntime = dirname(__FILE__) . '/../system/tht/run/tht.php'; - Error for Page.addBodyClass(‘’) should point to method help page - Run testsite - test install, etc. on windows (php 8.1) - Deploy colors.tht fix - Deploy thtsite update. (install pages)
Picking the “right” task depends mostly three things:
- A gut feeling of what I want to work on
- What my mind can handle at the moment
- How much time I have
I once read that there are multiple ways to prioritize elevator cars. This made me realize that if there’s not even a “best” way to manage something that just goes up and down, then there’s no perfect way to manage complex human tasks.
I just do the best I can, and chip away at my projects day-by-day.