Houen's Blog

Thoughts on life, startups, tech & code

The day you became less stressed at work

I have found a work system that helps me relax. It helps me focus my brain on energising and fun things. My brain has no worry about remembering tasks. It is free to focus on fun and creative thoughts.

Passively I have been simplifying and evolving the system all my work life. I will try to tell you about the system as I use it today. This way you can hopefully jump right into being less stressed and more productive, starting tomorrow.

Note: I will spend some time here trying to convince you why you should have a system. If you are already convinced, scroll to “The System” below.

Why a system?

  • Your brain has a finite amount of computing power.
  • Everything you need to remember uses up this power.
  • The more power you can use on interesting tasks, the more real progress you can make.
  • Things can get complicated at work. The first thing to go the way of the mammoth is your overview. This is when you need a good, simple system.

If you are anything like me:

  • Remembering everything that comes in at work is tasking. (Most for managers, but also as a developer)
  • You spend too much energy actively remembering things you must not forget.
  • You stress about important things you have to remember to do.

Even if you are not like me, this is true for everyone:

  • Things often come up that must be handled later, but you are in the middle of something else.
    Coding maybe? Maybe you are in “the zone”.
    Maybe it is imperative that you do not switch focus constantly.

A good work system can help with all of the above. In my system, it takes me 5 seconds to be sure I do not forget a task. No matter how important a task is.

This way, even if a task is very important, I can continue whatever I was doing without wasting time switching tasks.

But we use Jira / Trello / Taiga / Kanban / Scrum already?

Awesome! But those are team systems. You need a system that is private only to you, where:

  • You do not need to care what your boss / coworkers / HR thinks about what you write.
  • You are limited to only the important things.
  • You are not distracted by other peoples tasks or ideas.
  • You can put a task in so fast there is no reason not to. This goal is key.

Many people use no system

I see many developers working in tech startups not using any system for managing their personal work. This can work very well, but I believe with a good system they could be doing even better. I have been using mine for the last decade. It has served me very well. I am writing this post to suggest you to give it a try.

The system has proven versatile

My system has evolved through my different roles. While evolving, it has also stayed much the same. It has served me well as junior developer, senior developer, team lead, CTO and freelance contractor.

The system is deceptively simple

Prepare to be underwhelmed. My system is insanely simple. That does not mean it is not valuable.

The system

Here it is. It is just a piece of paper. The power lies in the checkboxes.

160408_the_system_2

The checkboxes

I currently use four kinds.

The empty checkbox

This is a task I should remember to take care of today. Taking care of a task means one of four things:

A started task: “The Dot”

This is a task I have started. I am actively working on this task today.

A deferred task: “The Arrow”.

This is a task I needed to defer until tomorrow. Either it took too long, or better things to do came up.

A completed task: “The Check Mark”.

This is the most satisfying. The task has been completed, and I have moved on to other things.

A dropped task: “The X”.

The task was for some reason either not doable, or not needed. I currently do not plan to  revisit this task.

How I use my system

The weekly routine

I keep all my today lists in a bundle with a paperclip. This way I can always easily see what I did this week, and compare with what I need to do today.

Daily Standup

If you are not a software developer and/or have not heard of daily standups: It is a system where a team meets every day. Most commonly it consists of the following:

  • What did I do yesterday?
  • What will I do today?
  • Am I currently blocked by anything?
  • Do I need help from other team members?

Between when I come in to work and we have our daily standup, I fill in my tasks for the day. At standup I use the task list from the last day as a reminder of what I did and how it went. If anything comes up during standup that I need to take care of, I add it to my list immediately. 5 seconds, remember?

The daily cycle

  • I start by reviewing last days paper. Things to defer to today, I copy to todays paper, and mark with the Arrow. Otherwise they get the X. Or the Check Mark if it is completed.
  • Now pick a task based on the fun / benefit of doing. Mark it with The Dot. Work on it.
  • Switch to something else. Mark that. Work on it. Come back to the original task
  • End it. Mark it with The Check Mark, The Arrow, or The X.
  • Workday is over. Leave paper. Come back tomorrow.

A small side note; I use “next day” instead of “tomorrow”, since on Monday, I review the paper from Friday. Once the Friday paper has been reviewed, I archive or trash the notes from the previous week. Normally I archive them. They will help me if I need to remember something. As I am currently freelancing, they also help with my CV / Resumé.

The emotional boost

I get satisfaction from checking the boxes completed during the day. When it is done I can look at the check marks and think: “I did well today.” This emotional boost should not be underestimated.

Conclusion

There you have it. This is my system for keeping track of my daily tasks, and keeping my head clear. I know it can seem trivial. It is a small change, with a big impact. For me it has made a huge difference. I can focus on what I am doing without worrying about what I need to do next. I can more easily achieve “flow”.

Parsley bootstrap form validation in Rails 3

Hi there

Parsley bootstrap form validation in Rails 3

‘ } , listeners: { onFieldValidate: function ( elem, ParsleyField ) { return false; } , onFormSubmit: function ( isFormValid, event, ParsleyForm ) {} , onFieldError: function ( elem, constraints, ParsleyField ) {} , onFieldSuccess: function ( elem, constraints, ParsleyField ) {} } } );

10 Funny commercial warning signs

Here’s a list of ten funny warning signs I have noticed in commercials. Be wary whenever you see this in advertisement:

  1. Collagen in creams: Collagen is a molecule that is too large to enter the skin. This is the whole point of the skin.

Git large rebase made simple, easy and painless

Git clutter

The large Git rebase

At my work we use a simple and clean workflow, for getting our code into production. We use Pull Requests for our branches, and rebase them so our history is nice and tight. This works very well 95% of the time. Branches are sufficiently small, turnaround is fast, and we have no problems. But, sometimes we still end up with something less than ideal. Luckily there is a nifty way of doing this. (more…)

Easy way to copy one git branch to another local branch

At my work we use a couple of branches for deployment with CodeShip. When we push one of our ‘build’ branches, Codeship automatically starts a new build on it, and deploys if all tests pass. One of these is our QA branch. For this reason it is beneficial for us to have a quick workflow to make one of these branches behave like a dev branch we want to test-deploy. I think I have now found the easiest, fastest Git command for doing so: (more…)

Dependency Injection makes your Ruby and Rails methods easier to test

I’ve read a lot about Dependency Injection in Ruby and Rails lately, and thought I would do a quick post to showcase how Dependency Injection can really help you with even small methods. Such as testing the common current_user method in the ApplicationController:

Here is a quite simple method to authorize the current user by an Auth-Token variable, for API authentication. (more…)

Get email about new posts

Get the latest posts delivered to your mailbox: