Article summary
During the past few months, I’ve taken on the daunting task of collecting some of the important software development lessons we’ve learned at Atomic over the past decade into a body of writing about the size of a handbook. The goal is to capture the ideas in a way they could be easily shared with a new Atomic developer, so as to build a common framework for having conversations about our dev practices here. We’re excited about this resource, and we plan on sharing it broadly when it’s completed.
While working on this project, I learned a few things about managing time and energy by breaking down tasks, categorizing them, and understanding the environmental and time constraints of each type.
Organizing My Work
Once I had an initial outline and a couple of rough chapters, I created a Trello board to track tasks and filled it with everything I could think of that needed doing. Each task was something that would take somewhere between 30 minutes and 1/2 a day to complete. To avoid distraction, if I was working on one task and realized something else that needed to get done, I’d add it to a backlog list in the Trello board.
At the end of every day, I went through the backlog list and assigned at least one of the following categories to each task (shown as colored tags):
- Writing
- Revising
- Reorganizing
- Sketching
- Project Management
Understanding & Managing My Environment
What I found was that each category of work requires a slightly different environment for me to work most effectively. While the particular constraints will likely vary from person to person, I’ll share what I found to be most effective for me.
Writing
By writing I mean rewriting content or authoring new. For me, this is the most difficult kind of work. I find it nearly impossible to accomplish these tasks in the office due to distractions. I also discovered, to my surprise, that I couldn’t listen to music while writing. Although I usually listen while programming, I find music to be an immediate block on any flow or output while writing. (In the end I did find a few tracks, mostly instrumentals or drones, to which I could listen.) I also found that the best settings for me were either in a park (with few if any conversations to overhear) or in a coffee shop wearing a large pair of closed headphones (with no music playing in them). Mornings work best for writing, usually for periods of 2-4 hours with a few breaks peppered in to stretch.
Tips
- Avoid interruptions.
- Avoid noise or music that captures your attention.
- Block out at least 90 minutes.
- Set a regular schedule (e.g. mornings).
Revising
Revision can more easily be done in the office. Having access to a printer is handy — I find looking at printed text helps me distance myself from the content and safely practice criticism. I found that revision was less likely to be derailed by distractions, and instead was only delayed by the distraction for however long it grabbed my attention away from the task at hand. This was a strength once I realized it, as I could schedule afternoons where I could make myself more available to interruptions, avoiding seclusion from my colleagues. Music helps me avoid distraction, but isn’t strictly necessary. I always wait at least a day before attempting to revise content; anything less than that is insufficient distance from the words and hinders my ability to critique.
Tips
- Interruptions are ok.
- Listening to music can help you stay on task.
- Work near a printer.
- Don’t attempt to revise content that was just written.
Reorganizing
Reorganization is similar to revision, but at a higher level. It includes moving content or refactoring the outline, it it feels more familiar than pure writing. I often put on headphones and play music to gain focus. I find this work easier to derail with interruptions, but I have no problem taking it on in any setting at any time. Some distance in time from a writing session can help reorganizing go a bit more smoothly.
Tips
- Interruptions are harmful.
- Listening to music helped me stay on task.
- Able to do in any setting.
- Don’t attempt on content that was just written.
Sketching
Sometimes sketching visualizations for ideas helps me refine terms, lessons, or approaches to communicating an idea. A few of these turned into illustrations or diagrams, others were just an aid in organization. This work is easier to do around a lot of commotion, using the barrier of headphones and music to stay focused. I find time boxing very useful for this kind of work and engaged in it only once or twice a week at most.
Tips
- Interruptions are ok.
- Listening to music helped me stay on task.
- Have table space to lay out some concepts.
Project Management
Project management tasks include going through existing tasks, generating new ones, having conversations with people helping out in various ways, or trying to project overall progress through the content. I find this to be easy to do at the office, home, or a coffee shop anytime of the day. This proves useful during periods of block on writing when I find myself in a setting that didn’t suit, say, sketching.
Tips
- Can be done anywhere, anytime.
- Useful to set a bit of time for it at least once per day.
- Good to pick up as “filler” tasks.
Conclusion
Again, the specific settings, levels of interruptibility, contexts of music vs. no music likely don’t apply to everyone. However, what I think does apply to everyone trying to write and struggling to effectively use their time is the idea of categorizing little tasks and understanding your constraints for each kind of work. When applied consistently, it can provide a powerful tool to manage your time and energy for such a daunting project.
GREAT ideas and tips. Loved seeing what worked when and why as you differentiated the different types of tasks and customized them to your work style. Trello sounds fantastic for documenting task details. You might consider building a project plan first to generate tasks (work) and their dependencies, then use Trello for details. Not only would this also you to track progress more easily during project execution, it would also let you proactively see how to work in “thematic branches”, and help avoid potential rework/unnecessary updates as you’re able to see what work is impacted downstream.
Great insights Micah!! Love AO’s collaborative style with non-AO people — it helps all of us be better!