There are a variety of ways that software engineers stay organized, but one way I'm going to discuss today is based off of a cooking term mise en place - roughly translated, it means "everything in its place." When it comes to software engineering, having a routine or a set work area helps to free your mind from everything else except the task at hand - programming or problem solving. In short, I like to think of as a ritual.
The way I employ this technique encompasses several pieces.
The first part is what I call a developer's journal or a code journal. This can contain any number of things relating to your daily work as a developer, including:
- Code snippets
- Notes on problems you've run across and how you approached the problem
- Stream of consciousness as you're thinking through a problem
- Work journal of items you want to accomplish during a given session
- Handy links you come across
- Ideas you'd like to explore
I tend to like to organize my thoughts by day, so I keep an entry setup for each day. I also include a section on that day that tracks how many Pomodoros of uninterrupted work I've been able to accomplish.
Speaking of Pomodoros [francescocirillo.com], if you haven't worked with these yet, I highly recommend it. The concept is fairly simple:
- Set a timer (generally for 25 minutes)
- Block out other distractions (Social Media, Email, phone, etc.)
- Focus on one task or a small set of tasks
- Break for 5 minutes at the end
- Repeat as necessary
What are some common tools you may use as a developer to stay organized and focused?
- Todo list tracker (I like to use Todoist [todoist.com], but there are several out there)
- Something that will manually remove distractions for you (check out Mac Apps that Reduce Distractions [makeuseof.com])
- Go full-screen with your main app
- If you use an IDE, you can force that full screen and just stay in there
- Most IDEs have built-in consoles that you can use
- Or you can just use something like EMACS if that's your jam
- Background music/sounds
- Recent research has shown that using binaural beats can help the brain get into "focus" mode or reduce anxiety
- I use Brain.fm, but there are others available
- Other people like campfires, noisy cafes, or music (e.g. heavy metal, techno, classical)
Bottom-line is this, if you have trouble focusing on things, there are plenty of tools to help you engineer the right space for you to focus. This is all part of mise en place; you are creating your virtual workspace, the environment and ritual that helps you get into the zone as quickly as possible. Keep trying different things and combinations of things until you find something that works for you.
This is my "mise en place" that helps me to get into the zone as quickly as possible:
- Open my Developer’s Journal
- Scroll to Today and set it up if I haven’t already
- Start my background music (typically either Brain.fm or a soundtrack I've picked up on)
- Start my Pomodoro Timer for 25 minutes
- Organize my thoughts for this work session
- Review previous notes as needed
- Figure out what my very first step needs to be to execute on my ticket or todo
- Open my environment/tools terminal, IDE, etc that I will need to perform work (if they aren’t already)
- When my timer goes off, mark my first Pomodoro as complete, take a 5 minute break
- Repeat until I'm finished with that task
Yours may be different, but hopefully this is a good starting point for you. Do you have something like this already? What's your ritual for getting into the zone?
Get your free ebook
"The 30-Minute Project: How to improve Your Side Project Game to Become a Better Developer"
at 30-Minute Project