How many tasks you need to complete as a software development engineer in a week? A lot… At least for me. I sometimes feel overwhelmed by all the tasks with different priorities thrown at me at the same time. Although each company must have some kind of task tracking system, either sending ticket or sprint management, it is still a hurdle to know exactly what to focus on everyday. I know that people with different position have their own way and tool to manage their task, but as a SDE, I prefer the most geeky way possible, command line. That’s right, I use command line to manage my todo list. It is fast and easy for me, since I always have several terminals open. Of course, you have to use some kind of tools for that, or if you are really good and have a lot of free time, you can create your own wheel. I don’t, so I use a tool called Task Warrior. It’s very easy to setup and use. Let me show you what I mean.
Well, you can follow their own documentation to install and setup for different OS. I use a MacBook for development, so I will just quickly write the setup for MacOs here:
$ brew install task
$ task version
Then… Euh… That’s it…
Let’s say I have a task, which is to write a blog about task management. This is whay I do:
$ task add Write a blog about task management tool
Now to see my ToDo list:
$ task next
ID Age Description Urg 1 13h Update external api 0 2 13h Synthsize external service pipeline 0 3 13h Sync with Jack about documentation 0 4 13h Review a bunch a of code review from Chris 0 5 43s Write a blog about task management tool 0 5 tasks
As you can see, “Write a blog about task management tool” is added to my todo list as task number 5.
You can set priority to your task
$ task 5 modify priority:H
Of course, you can also create the task with priority directly
$ task add priority:H Write a blog about task management tool
ID Age P Description Urg 5 7min H Write a blog about task management tool 6 1 13h Update external api 0 2 13h Synthsize external service pipeline 0 3 13h Sync with Jack about documentation 0 4 13h Review a bunch a of code review from Chris 0 5 tasks
You can also set a due date for your task
$ task 5 modify due:27th
Or you can setup due date during creation of this task as well
$ task add due:27th Write a blog about task management tool
ID Age P Due Description Urg 5 15min H 10h Write a blog about task management tool 14.6 1 13h Update external api 0 2 13h Synthsize external service pipeline 0 3 13h Sync with Jack about documentation 0 4 13h Review a bunch a of code review from Chris 0 5 tasks
When a task is completed, simply
$ task 5 done
$ task all status:completed
ID St UUID Age Done P Due Description - C 235e5e56 1h 16s H 2020-09-27 Write a blog about task management tool 1 task
You can also delete a task when it is not needed
$ task delete 1
ID Age P Due Description Urg 1 15h Synthsize external service pipeline 0 2 15h Sync with Jack about documentation 0 3 15h Review a bunch a of code review from Chris 0 4 tasks
Well, there are more features that you can explore in here, but those are pretty much everything that I use daily. I hope this helps you on task-managing and keeping a high efficiency everyday.
Written on September 26th, 2020 by Ted Wang