Boring but Effective Productivity Tips about TODO Lists and Setting Goals

Today let me take a break from my usual Flutter tutorials and talk about productivity.

I know you've been there.

You started the day with good intentions.

Maybe you wanted to make progress on that side project. Or close a few bugs that you've been putting off for too long.

But by the time you clock out, you haven't accomplished what you wanted.

You got stuck and spent 2 hours down the (wrong) rabbit hole. Or maybe you got distracted and your daily goal flew off the window. Or maybe you didn't even have a goal to start with.

And you know what? It happens to all of us.

It certainly used to happen to me. But I'm doing much better now.

How to be more productive (tips for ordinary humans)

Let's set one thing straight!

I'm not going to say that you should work 85 hours/week as Simon does.

I'm also not going to talk about the best extensions and shortcuts for VSCode (though you can find plenty of great videos about that).

I want to talk about a very simple and boring technique I have used for the last 15 years.

And that is (roll of drums please 🥁)...

Write down your tasks/goals

There is something powerful about writing things down.

You can use a to-do list, a Trello board, or whatever else works for you.

Just. Write. Things. Down.

Here's my to-do list for today and tomorrow:

My to-do list on any given day
My to-do list on any given day

Here's how I use it:

  • Every week, I write down all the tasks that I want to complete
  • Then, I allocate all the tasks from Monday to Friday
  • Each day, I work on the tasks and tick them off when finished

To make sure I work on the right things, I also have monthly, quarterly, and annual goals. These help me see the big picture:

My goals for 2020 and 2021
My goals for 2020 and 2021

Every month I update my goals and break them down into a set of discrete tasks that I can tackle every day.

Of course, in software development (just like in life), change is the only constant.

So I'm not too strict with things. If something comes up or a task ends up being bigger than expected, I move the remaining tasks to the next day.

So what are the advantages of working this way?

The rabbit hole is no more

I have a rule that if I'm stuck on something for more than 20 min, I take a break or work on something else.

I have to, because the todo list is staring back at me and I don't want to push back all the tasks to the next day.

Time and again, I've come back to a problem with a fresh pair of eyes and found the solution right away.

Taking breaks works well for articles/blog posts too. I always write articles over 2 to 3 days even if I could do them in one sitting. The result always ends up better.

Doing the work that matters

Having a to-do list is well and good, but if you're working on the wrong things you ain't going far.

So alongside my todos, I also do planning and ask myself what will get me closer to my goals.

When viewing things from that angle, certain tasks don't appear so important and I can push them back to the backlog (or delete them).

Working for yourself vs others

Of course, this method works for me because I run my own business and get to choose my priorities.

But even back in the days when I was a full-time dev, I had a daily to-do list that I was using to prioritize my tasks and hold myself accountable.

Even if my workplace was using JIRA or some other project-tracking tool, I would always have my little to-do list tucked away.

This allowed me to set my own timeframes (which were more aggressive than what was expected of me for a given sprint) and deliver better results, faster.

So give the humble to-do list a try. 🙂

And if you have other productivity tips, share them with me on Twitter.

Happy coding!

Want More?

Invest in yourself with my high-quality Flutter courses.

Flutter In Production

Flutter In Production

Learn about flavors, environments, error monitoring, analytics, release management, CI/CD, and finally ship your Flutter apps to the stores. 🚀

Flutter Foundations Course

Flutter Foundations Course

Learn about State Management, App Architecture, Navigation, Testing, and much more by building a Flutter eCommerce app on iOS, Android, and web.

Flutter & Firebase Masterclass

Flutter & Firebase Masterclass

Learn about Firebase Auth, Cloud Firestore, Cloud Functions, Stripe payments, and much more by building a full-stack eCommerce app with Flutter & Firebase.

The Complete Dart Developer Guide

The Complete Dart Developer Guide

Learn Dart Programming in depth. Includes: basic to advanced topics, exercises, and projects. Last updated to Dart 2.15.

Flutter Animations Masterclass

Flutter Animations Masterclass

Master Flutter animations and build a completely custom habit tracking application.