Joe Lesko Game Maker

How I Work

I find it interesting to hear about how other creators work, so I thought I would share what I do.

You might look at my schedule below and think it looks pretty easy, but in the past, I used to work 12-14 hours a day, and that led to serious burnout. My current balance is a lot healthier and I'm still happy with how much I can get done.

There’s more to life than being productive, but getting into a creative flow is something I really enjoy, and I can reach that state a couple of times a day if I'm lucky.

My Schedule 

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.

The first 2-3 hours after I wake up are magically productive, so I make my coffee right away (in my Sorceror Mickey coffee mug from my Disney days) and start working on code-related stuff for 2-3 hours.

There are usually a couple of problems left over from the previous day that I can jump right into and approach with a clear mind, with some 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 ambient music or white noise.

Then I take a long shower and try to capture any shower thoughts I have.

After lunch, my brain seems to switch to “verbal” mode, so I switch my focus to writing, personal business, and email.

Around this time, I usually walk for a couple of miles near the lake.

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 midnight, I'll work on art or visual design for a couple of hours, since it requires less logical thinking. While I do that, I will often listen to jazz or a podcast.

My Work Setup 

For the past 10 years, I've done all of my work on a single laptop, generally a Macbook Pro.

That’s all I've used, both at home and even when I worked as an engineer at Netflix.

I don’t use an external monitor. All of my apps are 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.

Task Management 

Early in my career, I tried all kinds of complicated systems for managing my tasks — spreadsheets, color coding, etc. — thinking I could eventually catch up and get absolutely everything done.

Silly me! Eventually I hit reality: I will never catch up. There will always be more work than I can possibly get done.

Think about it this way: It only takes a few seconds to think of something that needs to get done and write it down. But each task might take hours or days 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.

Task Lists 

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.

When a task is done, I delete it.

I don’t really prioritize tasks, but things at the top tend to get done sooner. Some lower-priority tasks keep getting bumped down, to a point where I will probably never see them again.

Here’s what one of the task files looks like for my development on THT. 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)

Deciding What To Do 

We can only really do one thing at a time effectively, so the question at any given time is: What do I work on now?

I was wrestling with this question until I stumbled on an article describing how elevator cars are programmed.

It turns out, it’s not as simple as you might think.

For example, should the elevator car go to the person who’s been waiting the longest, or go to the floor that is closest?

Should it behave differently during peak times versus off-hours? Morning versus evening?

This made me realize that if there’s not even a “best” way to manage a thing that just goes up-and-down, then there’s no perfect way to manage my long list of tasks that have competing priorities.

So for me, picking the “right” task depends mostly three things:

By doing that, I chip away at my projects day-by-day. And over time, quite a lot of things get done.

My Newsletter

Joe Lesko's Weekly Whatever

More Posts