Recently I have been thinking about productivity and why is it so, that often when I do something, I'm not happy with a result. I feel like I shouldn't spend so much time on some issue, task. That feeling led me to do some research about workflows and work routines. And I ended up with a meta-work term.
What is meta-work?
I found that best way to describe meta-work is to define work term first. Work is a process where you make actual progress on your tasks, features and so on. Basically, it's a work that is useful to an end user. Meta-work is a work that you do indirectly get the real work done. Stuff like todo-lists, meetings, stand-ups, planning, refactoring and so on - this list can be endless. All these earlier mentioned things are not bad, the problem is that we have this weird habit, to use as many tools as possible. And that leads to the problem, where we are not so productive as we should be... Meta-work enables us to develop a supporting system for our work, but it shouldn’t replace the actual work we need to get done.
Mattias Petter Johansson (Software engineer at Spotify) in one of his Youtube channel video, called "What editor do you use?", made a good point. That for him it's really easy to fall into the trap of using meta-work as a type of procrastination. I totally agree with him - I have felt the same, even though I have been in this business for a year now. The bad thing is that it's possible to spend all day doing meta-work without noticing it.
How to fix this problem?
Before you are going to make some meetings, stand-ups and planning, ask your team, do we have to do this? Do I have to be at this or that meeting? Do we have to do so often stand-ups? I found that this is the way to exclude meetings where you don't need to be and you make team think through the meetings point.
Use few tools
Use as few tools as possible to get a job done. Like I said previously, be skeptical. Do I have to use this or that? Do I have to know all these short keys? Do I have to make todo-lists look pretty?
Allocate specific time for meta-work
Try to keep meta-work and work separately. This way you can keep track of how much time you really spend on some task or issue. It is important to keep in mind, that you don't want to overlook the meta-work, otherwise, you won't have supportive information to get a job done. Therefore allocate some time for meta-work - try to do it in the morning or evening. It depends on what fits best with your workflow. Remember, don't feel guilty about meta-work.
Keep the main goal in mind
Whenever you are reviewing code, making a to-do list, calendar try to have specifics benefits in your mind. Be skeptic. Why do you want to organize your desk? Why do you have a todo-list? Having a purpose in mind will lead you to perfect ratio of meta-work and work, this will keep you productive.
So, in conclusion, meta-work is not bad if you do this in a right way - use fewer tools, keep meta-work and work separately and be more skeptical about what you do.