How to Get Things Done

Ever since I became a competent developer I have had a flood of ideas every day all day that I’ve wanted to build and create. Many of them related to coding, others related to my other passions like music. I think we can all relate to the issue of having too many ideas and spreading yourself too thin. Having too many ongoing projects at once is a productivity killer. I’ve recently come up with a strategy that I want to share with other developers out there struggling with this same issue of “option paralysis” or “analysis paralysis” that should help you clear your ever frantic brain and calm the constant stream of todos running through your head at any given time. So let’s talk about how to cut the clutter and organize this frantic mess.

If you’re like me then you have a few ideas you’d like to pursue each week, a long running list of projects in various stages of development, and a todo-list that’s miles long which defeats the purpose of a todo list (regardless of whether you’re using the GTD method or something else). The first step is identifying the project that you should be working on.

Identifying the projects you will take on

My first piece of advice is to keep your current app or method of tracking todos. It may be a todo list or it might be Trello, who knows. The point is, you don’t have to ditch it. What you should do however is trim it down. Identify the projects that you’re realistically able to accomplish, are important to you, and can be pursued within a reasonable amount of time.

You may not use the same tools but as an example I use the amazing Things for macOS, iOS, and WatchOS as well as Trello boards. In my todo list app, Things, I have the lists:

  • Inbox – where things to be sorted later go
  • Today – Things to accomplish today
  • Scheduled – Todos that are due on a certain date or recurring todos
  • Next – What’s next after the current day’s todos
  • Projects – These todos show up like the others in the Next category but are associated with a project

I have 3 projects that I want to complete so I have todos added to my Today list each day depending on the day of the week it is. The rest get sorted later.

So first off, getting the todos out of your head and onto a list is great. Whether that’s paper or an app it doesn’t matter. I have a system to track whether I’m living up to my commitment to myself.

Pruning your existing projects and todos

So you have this great big list of things to do. Now you need to decide which of these projects you want to realistically take on and delete anything that you haven’t done in forever. Be honest with yourself. Are you really going to work on that project you abandoned on GitHub almost a year ago? Probably not. Fresh start. Decide what’s relevant now and try not to take on more than 3 projects at once. I have 3 projects but in reality they’re very much related but different enough to warrant their own project. But the bottom line with mine are that they all support each other. One project is a coding side project and the other two are music and marketing related. That last two are closely related but the tasks are different enough to warrant different project names.

Anything that’s old and won’t be touched in a while should be pruned and deleted. Anything you can’t realistically take on while your priorities are being accomplished should be pruned out of your todo list. Don’t think twice. Prune that sucker.

Set a schedule

After I decided on a schedule for my projects I decided to create a list of recurring todos that would appear certain days of the week. Of course there are always todos that fall outside the scope of your projects (chores and one-off things) and that’s okay.

I decided that I’d practice guitar for at least 15 minutes a day every day. That’s something I can’t compromise on.

Next I have music recording and marketing set for Mondays and Wednesdays.

Finally, I set a todo to appear on Tuesday and Thursday for marketing my music which you can find here when I launch the site.

The weekends are mostly free days where I choose any project I want to work on so long as I work on something on Saturday and Sunday. It may be the same on both weekend days but sometimes I’ll work on a different project Saturday than I do Sunday. It’s the weekend. It’s up to me.

Set a deadline

Each project needs a deadline. So even though I have these recurring todos coming up daily they’re pointless if the projects go on forever. By setting a deadline you’re imposing rules that stop a project from going on forever. An infinite deadline leads one of two outcomes eventually: You either never complete the project or you so over engineer it that it loses it’s immediacy or emotional impact (depending on whether it’s technical or artistic).

So set a deadline for your projects if you want them to actually be finished.

Identify actual tasks to be accomplished

My personal todo list is filled with generic todos like “Practice guitar for 15 minutes at least”, “Market Felix and Friends site/music”, “Work on web dev online course”. Those todos are generic. What I needed was a method for picking out a specific task related to that todo to work on. That’s where my Trello comes in.

You may not use Trello but I recommend some sort of tool to store and track specific tasks whether it’s a digital tool or paper, it doesn’t matter. Just get them recorded so you’re not wondering what you need to do specifically when you check your generic todo list.

I have a ton of Trello boards for projects that I just gave up on. I either deleted them or un-starred them so my Trello was organized and I could easily access a current project and then pick out a task from it that I could accomplish within that day.

Organize, identify, schedule, set a deadline, and track progress

However you track your progress on your projects, remember to not take on too much more than you can handle. Be sure to identify specific tasks within your projects. Schedule time for those times to be worked on. This could be after work or whenever you can block off some time. For me, I block off time after work. Then track your projects on those specific tasks. You don’t need to complete an entire task in one day but be sure to track your progress on it (to do, in progress, in review, finished, etc.). Above all, set a deadline. If you don’t set a deadline then you run the risk of getting bored and abandoning a project. Feel free to extend a deadline if you’re making progress but be self-aware enough to know when you’re just not going to get it done and don’t be afraid to give up.

Everyone in your life tells you to never give up but the truth is that’s bullshit. Giving up is an option, a wise option sometimes. Don’t live by bumper sticker Facebook meme feel-good bullshit. Do what’s right for you.

Getting things done

That’s how I get things done. I used to be scatter-brained and unable to focus at work but now I can concentrate on the job and know what I need to do and have time carved out for my personal projects. And, more importantly, I know when to quit. That’s my advice. Now go get shit done.

Productivity, Self-improvement

« Private Key Mismatch Errors on AWS - Fixed Are programmers the new blue collar worker? »