I mentioned my #TODO list in a previous post. It’s nothing complex, but chewing on it late last night, I thought it might be worth writing up. Late night was followed by early morning, so here I am. I should point out all examples in this page as fictitious, but based on real work over the last couple of years.
I’ve started both previous “how I work and live” posts being embarrassed to be writing them, because they’re not especially clever or new, but I’ve had some lovely feedback and so maybe they’re at least entertained, if not helped, some folks.
Over the last 26 years, what I work on and how has evolved significantly, mostly because at 14 I was washing dishes in a pub and today I’m architecting clouds (or something ridiculous sounding), but the processes behind “what do I work on now” have fallen into a few small groups.
This page is chronologically listed, skip to the end to read about what I do today, or read though and see if any of the things I’ve linked to click for you.
Dirty plates and Scarab tickets
My first job was washing dishes in a pub in Cumbria, at a time when it was going gangbusters. The answer to “what do I do next” was easy, the next thing was in a big stinky heap behind you and it needed washing up. Crockery and cutlery from the dining room came in, got scraped into “the shit box” and piled onto a trolley. Pans, trays and knives from the chefs went onto the same trolley.
The job was basically to keep taking stuff off the trolley, washing it and putting it onto the top of the chest freezer and then when you got a chance, putting stuff away. You had to choose what to wash up next, either for efficiency (do big stacks of plates together, it’s easier), or to keep the system flowing (wash up huge pans because they’re quick to do but take up a lot of space on the trolley) or because of external priorities (chefs yelling because they need a big pan RIGHT FUCKING NOW).
Every so often weird stuff would come up that didn’t fit the <10 second rhythm of washing up, duck roasting trays need soaking in boiling water to clean them, the shit box needs emptying into the outside bins immediately, a very heavy thing needs carrying in and one time all the kitchen staff piled out into the carpark because a waitresses boyfriend turned up and started causing a fuss. Those things broke the rhythm and whilst you sorted them out the trolley got bigger and less organised.
The answer of what to do next was easy, it was right in front of you and it was pretty satisfying at the end of a long night to close the door on a kitchen where everything was put away, every surface wiped, the floor mopped and the sinks washed out, even if it paid nothing, your hands were ruined from 8 hours submerged in water and a chef had clattered you round the back of the head for not getting them their favorite frying pan back fast enough.
The more I think on it, the more this manner of working carried over into my first IT job when 7 or so years later I worked on a version control and deployment team (yes, that was a thing) on a large government project whilst working for a consultancy. As a junior employee doing very hands on technical work, my work was driven by a ticketing system, called Scarab (which looked a lot like Trac now I think about it). The job was basically picking which Scarab to do next, assigning it, then working it until it was done or blocked. We chose which Scarab to pick, either because it was chronologically next, or other Scarabs had dependencies on it, or somebody was yelling at us for it (literally in some cases, I will never forget or forgive you Ruby). Delivering complex Oracle 9i+Solaris tickets turned out to be pretty much like washing dishes, only it paid more, and you never got back to the clean kitchen, but the risk of being hit with a frying pan was dramatically less.
It was whilst working at that company I lived with somebody who first got me thinking about how I worked. In passing, they mentioned GTD, Getting Things Done which I didn’t really get. I was cynical, not helped by watching them once write “pick up socks” in a notepad whist looking at a pair of balled up socks on their bedroom floor, but I did eventually years later pick up a cheap copy of the book and read it.
Start up life
For a few years I worked in (and founded one) early stage startups. I was employee number 1 at one, and in the first 10 at another. This lead to some very different ways to manage my day, mostly based around doing “the most important thing”, especially during a time where we went though a tech accelerator. My TODO list was pretty short, changed frequently and ultimately wasn’t brilliantly managed, I bounced from the most important thing now to the next most important thing and probably ended up missing out on the longer term stuff that ultimately sank because it Important (not Urgent).
It was around this time that I ran across the 2x2 grid of Important verses Urgent which I’ve since found is called an Eisenhower Matrix. If you spend all your life in the Urgent but not Important boxes, not only do you feel like your hair is on fire all the time, but you miss the really Important stuff. If you’re lucky it just becomes Important and Urgent, if you’re unluck it slides away, a lost opportunity.
Other things I tried around this time include flagging/starring emails in my inbox was functional and works ok (I use it today as I’ll explain below), using read/unread status is not, because one day the preview window will screw you over and you’ll loose track of something important.
For development and group work PivotalTracker was great as a light weight backlog manager because it tracked velocity and had floating dates, great for building products, probably not so great for tracking other things. Trello was better for generic lists, less great for tracking development stuff. Both were screamingly popular at the time and I still use Trello today in my personal life.
Having a pad of paper next to me that I write down things that needed doing and drew a little square next to them as actually really effective.
At some point I ran across Merlin Mann’s “43 folders” approach which felt like a good way to manage the cadences of different types of work by allocating them into a specific day or month. I didn’t do much with it other than replacing my A4 pad with a hipster PDA (because hipster). To this day I still use a stack of index cards on my desk for making notes and lists.
Self managed time and motivation
Over time my career lead me into much more self managed and motivated work. No longer was the cadence of goals measures in hours, but more like weeks, months and in some cases years. Tools like Kanban boards didn’t mesh well with the influx of emails and IMs and it was very easy to feel very stressed all of the time because ALL OF THE THINGS needed doing, at some point. What I ended up running with was based on a few inspirational things and people.
At some point the slightly trite “jar of rocks” analogy, which really stuck with me. I have to admit, I only really apply it in the work context, something reinforced with planning within our company using the phrase “big rocks” for major projects.
My old boss used a highly customised Emacs setup to maintain text files for everything, from notes on 1:1s to his todo list. Because they all rendered down to text files, and he had a developer background, he was able to work in the tools that were so intuitive that his fingers knew them better than his brain did. One part of his text files was “the tickler list” a name cribbed from (and misapplied) Merlin Mann’s folders. If he came across something that was interesting, but not for now, he threw it on the tickler list and he’s rake over the list periodically to see if something suddenly seemed more relevant/actionable/interesting today compared to when it went on the list. I imagine his list was years old (mine is). These days I have a tag on pinboard.in for this stuff.
I read Turn the ship around and was really struct by the concepts of “Thinking out loud” and “signaling intention” (rather than briefing and asking permission).
I started to really believe in benefits of rhythm and cadence in my working life. I’ve written about this in Bell, Book and Candle, and whilst that looks like I’ve taken it to an extreme (honestly, my entire life is not driven by my calendar and my phone alarm), the benefits of having a routine bring me great solace.
Staying motivated is a huge topic, but I’ve tried to structure my TODO list so that I get little kicks of satisfaction through the day. Just as closing a ticket and dragging it to done or finally dumping the shit box and hosing it down came with a little moment of satisfaction, so does ticking off something on my list and this also helps reinforce me breaking tasks down. “Write enormous plan” could go on for a couple of weeks and not come with the serotonin kick until the end, being able to tick off “first raft of plan structure” to day and “roles and budgets sections” tomorrow does.
So finally, after all my blethering on, here’s how I run my TODO list.
Firstly, I have a single large text file, called work.txt, which I keep open in Sublime Text, a text editor I adore and have been using it for years (even if it is only in the last couple of months I found how to turn on spell check). Technically it’s a Markdown file, but I’ve never got round to rendering it, it’s just a nice parsable way for my to make lists and break them up.
The text file has four key sections…
- What I’ve got on right now
- This week I intend to…
- Today’s list
- All the “Today’s Lists” for the last 3 years below it.
What I’ve got on right now
This is a bulleted list of “Project” size things that I’m either responsible for or involved in. They’re things that will probably be on 1 to 3 month time scales. If something is more like 6 months or a year, I break them up, so the list looks something like this…
* AWS Migration
* * (by June) - high level plan + budget + sponsorship
* * (by Dec) - everything moved
* ISO27001 2021 - UK audits (by June)
* Build environment for Badger Team
* Vendor X - migration + close down vendor Y
* Make on call life better (long term)
This list lets me make sure I’m not too overloaded, I aim to have 3 chunky things and a couple of “one monthers” on at once. This list helps me keep sight of the annual scale things, it’s the rocks in my jar.
This week I intend to…
This is a list of things I will do or achieve this week, and I send it to my boss in an IM on Monday morning. It means that there should be no surprises for him with things not getting done, or something he wasn’t expecting happening. The list is generally broken up by the “What I’ve got on right now”. It’s a mix of “what I’m going to do” and “things you might need to know about”. If I stretch the analogy, these are the pebbles in my jar.
This week I indeed to...
* get plan reviewed by team leads and edits made - want to present this to leadership team in about three weeks, needs one story at that point.
* make sure awareness training is 90%+ complete
* make sure Badger Team have documented their new process for access
Build environment for Badger Team - it's up and running, user auth isn't standard but it's ok
* make sure it's wrapped in ISO
* work with Chloe to figure out what we're missing from the old and get that planned
Vendor X - nothing this week - waiting on quotes. Vendor Y starting to realise we're probably moving - will skip the weekly sync call to avoid direct question unless you want me there?
Make on call life better
* compile the alert numbers for last week - gut feeling is they look better - will automate this if this next week presentation works for you
* Mandy was definitely out of bed twice in one night for Product Badger though - will check in with her - smells like there wasn't anything she could do to resolve the "problem"
This might seem like I’m asking permission or facilitating micromanaging, but compiling this list helps me shape the week and generally it just gets a 👍 reaction. Occasionally I’ll get something like “ignore Vendor X - meeting them next week” or “could you partner up with new guy for a few hours, show him the org”, generally very tactical things. If there’s a new Rock about to appear in my life, it might get a mention here but generally we’ll talk about those in our weekly 1:1.
This is where there’s the detail of all the things I need to get done, the sand in the jar. I compile it first thing in the morning (see “morning routine”) and then use it to drive the stuff I’m doing that day. If something comes up during the day, even if I’ll probably do it in an hour, if I’m not doing it right now, I throw it into the list which takes a second because it’s the text editor I live in, and move on. Everything I need to do goes onto the list, if not for today then tomorrow or any future day. Generally I’ve got a few days stacked up ready in the list.
Examples of a days TODO might look like…
### Monday 12th July: WFH
* Meeting: 1:1 Chloe
* Meeting: Budget review with Badger team
* Meeting: Incident retro - Badger payments outage
* Meeting: Vendor X sync (skip - send apologies)
* Meeting: Engineering all hands (passive listen in only)
* Rotate API key for Badger API - pass on to Vitali
* Chase up remaining 10% of ISO training skippers
* Prep for Badger Build Env gaps meeting - find old specs
* Actions from Tech Planning meeting - they are in the notes
* Check example.com/wiki/some/deep/link - why did the IP blocks change - odd
* Reply to Steve - backup strategy
As I work though the day I add ✅ against items as they get done (brain chemistry boop), add things into the list as they come in and generally turn to the list for “what’s next”. It might seem odd that I include meetings in the list because they are already in my calendar, but it helps me frame “meetings as work”, something I’ve really struggled with in the past.
The “WFH”, used to say which office I was in, because when I was a team lead I used to drop and edited version of this into our stand up channel, skipping a lot of the people related stuff. I wasn’t delivering tickets from that teams backlog most of the time, so rather than clutter up the actual stand up, I just dropped this in and sometimes it would prompt the team to ask me about something, or remind me of something they though was going to happen and I had missed or update me on a subject that had changed since I wrote the TODO item.
All the “Today’s Lists” for the last 3 years below it.
As part of my morning routine I update yesterday’s list, tick off things in “This week I intend to…” and then start building today’s list. Yesterday’s list shuffles down the page, which I add to the top of, forming a history of my entire time here. Naturally I check this file into git, because it’s a text file.
I rarely go back down the list, but I do occasionally search for stuff (easy, because text file), and it’s useful for those periods of reflection on “what the fuck am I actually doing”.
The morning routine
The first twenty minutes of my day are almost always the same. Over a coffee, and before I really speak to anybody, I set up the list for today.
- Skim inbox flagging anything that needs reading better or replying to (at all, don’t fall into the trap of dashing off a reply right then), then mark all as read and move to Archive. I think this is something I cribbed from the Inbox Zero.
- Update yesterday’s list and mark things I didn’t do with ❌ and then if I still need to do them, copy the line into Today’s list
- Skim my calendar and Accept/Decline/tentative-for-the-notes all my meetings so my attendance is clear. All things I’m going to go onto the today’s list.
- Skim Teams, do <1min replies then and there, otherwise throw an item onto today’s list (this is not a great mechanism, but probably says more about how we use Teams than Teams functionality)
- Rake over “This week I intend to” and add actions to Today or other days this week.
- Work though flagged items in inbox and either deal with them then or send them to TODO list with a holding reply “I’ll get this back to you later in the week, probably Tuesday”
By the time I’ve done this, I’ve got a solid list of things to do which keep me on track for the longer term goals, I’ve not stressed there’s some forgotten horror in my inbox somewhere, and I’ve dealt with any Important and Urgent things. Time to brush my teeth, have a second coffee and start the actual work.
This seems over elaborate and rigid?
My setup works for me, and bits of it might work for you, but it does take some time and some discipline. Where it brings me great solace is it is much less stressful than the adrenaline fueled Inbox and IM driven workflow that people get into when they’re not delivering work from a backlog or equivalent system. I found that if I relied on being reactive to inbound things, and didn’t have a good way to keep track of the non-noisy longer term stuff, it either didn’t get done (the squeaky wheel got the oil) or I was endlessly going round in my own head jumping back to big projects without a small, discrete and deliverable thing to work on next (ineffective and stressful).
I guess what I’ve really done really is turn multiple sources of things that need doing, which happen over very difference cadences, into a trolley, stacked with dirty plates, and a shit box that needs hosing down every so often, in an environment where you’re unlikely to be dinged with a hot frying pan.