How I Use a Task Manager to Organize My Dev Work

An Approach to Breaking Down Programming Projects to Increase Productivity

ยท

4 min read

Featured on Hashnode
How I Use a Task Manager to Organize My Dev Work

As a super Type-A person dealing with the recent increase in remote work, it's been critical for me to structure my dev work in a way that allows me to get up and running quickly. Up until last year, I mostly used a pen and paper to-do list approach. I'm still a fan of the tactile nature of that approach, but I wanted to see if there was a way that I could automate my workflow in some capacity. It took some time and tweaking to get there, but I finally have a template that I am happy with.

In this article, I will show you what that template looks like and walk through my thought process of how I use it regularly. I hope that this article will give you some ideas of how you can break up your dev work to increase your productivity.

The Template

Things 3 is my task manager of choice, but feel free to use whatever works best for you. I'll go into more details in the following sections and provide an example that demonstrates how I would go about using the template as a guide to breaking down my work into atomic units.

  1. Research
  2. Scaffolding/Styles
  3. Implementation/Logic
  4. Testing
  5. Miscellaneous
  6. Bugs
  7. Cleanup
  8. PR TODO

1) Research

image.png

This section houses tasks for topics or library documentation that I know I need to spend time sifting through. Simply put, this section is mostly for upfront research that you may need to do.

When I'm working on a particularly complex task or know that I will be looking at code that uses some third-party library that I'm not super familiar with, I will add a few tasks in here to set aside some time to watch tutorials or read through the documentation.

2) Scaffolding/Styles

image.png

This is predominantly a UI-only thing, but this section comes in handy when I am working on more greenfield development. For example, you could place tasks like "stub out new landing page" or "modify the button component styles."

3) Implementation/Logic

image.png This is where the bulk of my tasks go. I add all the tasks that will make up the core of the work I need to do to implement whatever feature I'm currently working on. This can be a little tricky to task out since it's difficult to identify every little step that you'll need to take to implement something, but it helps as a general guideline and I am constantly adding new tasks to this section as I work through a feature.

4) Testing

image.png This includes general testing I want to ensure I do once the functionality has been wired up and/or official test cases that I need to write up before submitting a pull request.

5) Miscellaneous

image.png As the name suggests, this section consists of a grab bag of tasks that don't fit under any of the other categories.

6) Bugs ๐Ÿ›

This is a heading to house those pesky bugs that you may find while testing your work as you implement a feature. Sometimes determining the root cause of a bug is not super apparent and will take a deeper dive. Due to that, I like to put those tasks here so that I can make sure to fix them later on. This gives me the ability to forge ahead on the bigger feature at hand while still making sure that the code quality is met.

7) Cleanup ๐Ÿงน

image.png

This section is for general code cleanup things I need to do. Things like "Remove log statements" or "Rename variables" could go here.

8) PR TODO

This is a placeholder heading that I rarely have to use because I write perfect code ๐Ÿ˜œ (just kidding!). On a serious note, if I get pull request comments from teammates to address certain things, I will place them here.

Caveats

Planning dev work is not always the easiest thing to do. Especially since the effort involved varies on the type of work you're doing. I utilize these broad sections in my template as a general guideline to help me in completing the overall job at hand.

The template I've outlined works best when you have a bigger feature that you need to implement with multiple moving and/or complicated parts to it.

El Fin ๐Ÿ‘‹๐Ÿฝ

Thanks for taking a sneak peek into how I use Things 3 to structure my dev work. I hope this birds-eye view will inspire you to create a system that works for you. Feel free to share any comments about how you tackle your dev work.

Thanks for reading and happy coding!

Cover Photo by Bookblock on Unsplash