Time management tactics from the Happy Bear team

By Kaitlyn Tierney

As a time-and-materials consultancy, the primary product of our work is our developers' time and attention. Applying time + attention + our skills, experience, and work process frequently results in high-quality code. Other times, it can result in a day of frustrated debugging, or expanding our knowledge of a given domain.

For this writing exercise, we asked everyone on the team to consider how they stay productive as a developer. Are there any tools we use, or rituals to getting to work? Any distractions to avoid or processes that have helped?

Kriszta Matyi, Senior Developer:

I usually start my working day with a coffee while I check my emails, Slack messages, any other communications from the team/workplace that I received overnight. This gets me in the work mindset. Then, depending on what I need to do that day, I will start working on my tasks.

My biggest productivity killer, by far, is jumping between tasks. To avoid this I have now started writing very detailed todo lists. I will use a tool like Trello to track the work I need to do but I always have a notebook with a daily todo list. I write very detailed, specific tasks in there (almost subtasks of, say a Trello item or an issue on Github or any other issue tracker) I need to do and this helps me stay on track and focus on a particular issue until I see it through.

Another thing that helps me stay focused is putting on my big noise-cancelling headphones but not playing any music. I feel like I'm really in a cocoon when I do this.

Funnily enough, when I used to work in an office a thing that really helped me stay focused and helped my productivity was working from home. So much less distraction than in an office. Now that I'm working from home the biggest distractions, I find, are things you need to do around the house (say do the washing up). I always need to remind myself it can wait until later.

I am not particular to any tools to stay organised. I quite like Trello and Wunderlist for task managements and todo lists (I use these for personal projects). At work I usually adapt to the tools my team prefers to use. I'd like to experiment with a time tracker to be able to better track/allocate my time.

The biggest way I procrastinate is by spending time looking at Twitter. This is something I try to avoid doing but sometimes can't help spending a few minutes just aimlessly scrolling through it. If anyone knows how to break a Twitter addiction I'd be happy to hear it.

Gabriel Hilal, Senior Developer:

After a few years working as a developer and trying different tools to stay focused, I realised that my productivity is mainly related to the boundaries between work and personal life. Establishing these boundaries is not easy, working remotely makes things even more difficult. Without well-defined boundaries, I found myself replying emails from the dinner table and washing up dishes when I should be working. As a result, I was not being productive at work, nor with my household duties.

A few years ago I decided to change completely my routine and created an office space inside my house (pyjamas are not allowed!). When I close the office door, I can concentrate on the work without distractions related to the house. On top of that, I've disabled all stuff related to work on my mobile, except for direct messages from Slack (in case of urgent matters from clients or colleagues). In this way, I managed to improve my work-life balance enormously.

Besides the boundaries between work and personal life, there are a few things that help me with productivity in a daily basis. I've spent some time learning tricks and shortcuts to speed up things on my text editor (Sublime). I've also installed a few linters to help me identify syntax issues even before running the code. Lastly, from time to time I stand up, go to my whiteboard and scratch a few diagrams to help me thinking about the problem I'm trying to solve or a feature I need to implement (I love diagrams!).

Esther Olatunde, Senior Developer:

I’m one of those people with lists of goals for the year, month, 5 years plan, etc. I started this habit at 16 on pen and paper. Of course, when life happens, I always question why I still write down my plans/goals? I think I need to do that to have a sense of direction, some sort of control — otherwise, I’d be a complete mess.

Here are a few things I’ve experimented with over the last couple of years:

Every hour of a given week on my Google Calendar synced between 3 email accounts is planned — yeah, I schedule sleep, breaks, TV time, work time, etc, I'm unbearable! :D

I like having a list of goals/to-dos for the week ideally by Sunday or early morning on Monday. These lists are usually refined every morning based on changing priorities.

I’m quite introverted so I need a lot of me time to be productive. Context changing is the bane of a productive day for me. On days where I need to have meetings, etc — it’s important to give myself some time to recoup before going back to work. Attempting to get work done in between chats, meetings, etc. is futile. I’ll spend most of that day distracted.

I have noticed that I am most productive super early in the morning or during the midnight — so, I tweak my daily routine around to optimize for deep work during those periods.

A typical morning routine goes - get up, meditate, do some exercise, get breakfast + coffee, identify the things I have to do/ write a to-do list, respond to/send messages, put my phones on silence, abandon my phones in the bedroom, move to my work area if I'm working from home or the nearest cafe, then do some work while plugged in to a playlist on Spotify.

If I get stuck on a particular task, I usually like to continue and stick to it till I figure it out. Sometimes, I take a few minutes break and come back to it.

On Tools, in addition to GCal & Momentum, I recently found Things — it's amazing for tasks management, reminders, etc. For dev work planning, I prefer Trello or Pivotal Tracker — tried Asana and Taiga on a couple of projects but they didn't stick. I make use of ColdTurkey to keep my Twitter addiction at bay.

Kaitlyn Tierney, Apprentice Developer:

I like to end each day feeling that I've accomplished something of value. I've tried every to-do list app under the sun, but I'm too addicted to the satisfaction of putting a high-quality pen to a piece of paper and crossing an item off a list.

I love writing lists. I write lists, I write lists of lists, I write indexes to my lists of lists of lists to refer back to later. I start each morning with a mug of {{ caffeinated beverage }}, a few good pens, and my notebook, reviewing the previous day's lists, the month's lists, and writing a new list that contains every task I want to accomplish that day and every event I need to attend. Then I spend the rest of the day crossing things off the list, in no particular order.

Like Esther, I like to do deep work early in the morning or late in the evening. I like to read and write in the afternoons. I like to spend the mid-morning catching up on my admin tasks after I've made my daily list, so I can quickly cross things off or add new things to the list as needed—I find this rhythm gives me a nice velocity to carry me through lunch. At the end of the day I revisit my notebook, making sure all the important things I've learned have been written down and indexed, any new meetings are on my paper and digital calendars, and evaluating the tasks that were done and the status of any that remain.

It's a routine that works for me.

Najaf Ali, Founder:

Like a lot of developers, I’ve always struggled with productivity and focus in my career. After about ten years of programming, I now spend most of my time on the business of running Happy Bear Software, so I perhaps have a different set of problems to deal with than most developers when it comes to focus and distraction.

To stay focused and productive, I use a number of strategies. They revolve around setting myself up to have a productive day, being clear about what I should be working on (and perhaps more importantly, saying no to), and then actually doing the things that I planned to. This is all made difficult by the fact that Happy Bear Software is a running business, and constantly generates situations that I have to attend to. I am getting better at delegating those situations to the rest of the team, but I’m not yet comfortable e.g. taking time off.

My productivity depends on how much sleep I’ve had and whether or not I’ve had a good breakfast (though short-term fasting can actually help me with concentration). My day for example will be fairly unproductive if the boys have been keeping us up all night. I know that the business will constantly have things for me to jump into, so I try to plan my day first thing. In general I try to spend a one or two hour time-box in the morning on “batch” tasks like emails, payroll, invoicing, check-ins with the team etc. I try to spend time on deeper work like writing in the afternoon.