Monday, Jan 24, 2022 • 17min

Some of My Productivity Mechanisms

Play Episode
Increasing clarity informs perspective. Changing perspective often brings new clarity. When we manage our work through effective process, we are seeking clarity on that work. We refine our to-do list by clearing up ambiguity. We add clarity by getting input from others, breaking work down into simpler pieces. In this episode, I talk about this relationship between clarity and perspective, and how simplification benefits my productivity drastically.
Read more
Talking about
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Speakers
(1)
Jonathan Cutrell
Transcript
Verified
Jonathan Cutrell
00:00
Getting work done one moment at a time. That is a theme of productivity on this show, it's not a simple hack that you can employ. Instead, it is a way of thinking, and in today's episode, I'm gonna talk you through some of the mechanisms of how I personally deal with the things that I need to do on a day-to-day basis. How do I stay
Productive
?
Share
00:31
My name is Jonathan Cutrell, you're listening to Developer Tea. My goal on the show is to help driven developers like you find clarity, perspective and purpose and their
careers
. In today's episode, mostly we're going to be talking about clarity, and as we gain clarity - this is one of the most important kind of interactions that we can talk about on this on this show - the interaction between clarity and perspective.
Share
00:60
Perspective provides us a unique vantage point, whereas clarity gives us a full vision from that vantage point. As we begin to gain clarity, we may want naturally to adopt a new perspective. So this interaction between clarity and perspective, as you gain clarity, you might choose a different perspective, you might seek a new perspective. Or if you suddenly have encountered a new perspective that may provide clarity to your current one.
Share
01:43
So this interaction between clarity and perspective is critical to our day to day productivity, because a lot of the process, and I use that word very carefully because we can get wrapped up in process, but a lot of the process of productivity - the management of your tasks, the dragging of cards in
Asana
or in
Jira
or whatever tool you're using, the checking off on your to do list... a lot of this kind of administrative via that you probably engage in is about increasing clarity.
Share
02:26
So what is this clarity that I'm talking about specifically? Well, the clarity of how things interact with each other, for example, how does this task relate to the other one? How does this work related in terms of priority to the rest of the work? What exactly needs to be done, And can I do it or should someone else do it? Should we do it at all?
Share
02:54
All of this kind of clarity is what we're seeking in that administrative via in the process part of our work. And interestingly, as we move through our work we begin to validate and hopefully adjust our processes, because we can find what kinds of clarity we are getting or, most importantly, the kinds of clarity we aren't getting that we need.
Share
03:25
I wanna be very clear about something: I am not going to push you towards any specific kind of process. Some processes work better for certain scenarios than others. This is a long belabored discussion on teams of all sizes and types over the years.
Share
03:44
Certainly there are some principles that I would recommend that you pay attention to, and then you kind of bring into whatever process you do choose, but I'm not going to push you towards any particular process. Instead, I'm going to talk about some of the things that I do, some of the more atomic and practical parts of the way that I kind of mechanically deal with my tasks in today's episode.
Share
04:09
And hopefully this will help you as you go through, you know, the management of your things to do, and it will help you gain a little bit more clarity. Before we do that though, I want to talk a little bit about today's sponsor, Cord.
Share
Break
Jonathan Cutrell
06:01
Before we get into talking about the kind of mechanics of how I manage my tasks on a day-to-day basis, I do want to take a step back and say this is not a recommendation that you just carte blanche adopt the system that I use. In fact, I don't think you should do that with anybody's system. It might be a good starting point if you have nothing at all.
Share
06:21
But the important thing here is to pay attention to kind of the underlying commonalities between your situation and my situation, that kind of - we mentioned it before - the principles of what I'm doing. And one of the most important principles is the one I'm going to start out with, which is simplifying.
Share
06:42
Now, I don't mean reducing the work, all right? I don't mean necessarily reducing the final output of the work. Our
job
as
engineers
is not necessarily just to build things that are simple. Sometimes we do have to build complicated things, and sometimes we have to have difficult conversations or make hard tradeoffs between options that we don't really know which option is necessarily better.
Share
07:08
We just eventually have to make a decision. So it's not cut and dry. But what we can do is at the very atomic level, at the very smallest part of the way that we manage our work. For me, it might be an item on a list or a card in a backlog, or some kind of representation of something that needs to be done at that level. We can simplify.
Share
07:35
So, when I say simplify in this particular case, there's a couple of rules that I use when I talk about simplifying. Obe is to break down a task into the smallest action that I can take. Now, there is an important intuitive balance here that you have to learn how to strike. You can't break it down into steps that are so small that you have, you know, more time managing this very long to-do list, but you should break it down into singular steps that are easy to manage.
Share
08:10
I'll give you a simple example in software engineering: add a field to a model. Now, this seems like a simple thing that has a lot of implied underlying steps and maybe, you know all of those steps even by heart. But if you were to start on this task, you would likely have to block out "x" amount of time to finish all of those steps.
Share
08:36
Well, list a couple of them here: you might have to create some kind of migration, add, you know, some kind of declaration in the models themselves. You may have to run the migration on your local machine, run all the tests to make sure that these fields don't create some kind of issue with your old code or with unit tests on that model directly. You might have to create new validation rules around how those fields get set and how they get saved. Are they knowable?
Share
09:09
There's a lot of things to consider when you're adding a field to a model. And this doesn't necessarily mean that each of these things is necessarily difficult. And I've certainly heard this argument over and over from myself and other senior
Engineers
. I know how to do that, it's kind of second hand, it's a normal process for me, I know how to do it, just put it in a single card and I'll get all of it done.
Share
09:35
But there's a couple of problems with this way of thinking. One: the first and perhaps the most important problem is that you can't really predict everything that's going to happen. And so, breaking these kinds of changes down into smaller steps, for example, create the migration file, might be a reasonable first step. And running the migrations in your local instance might be another step.
Share
10:01
When you break the problem down into these small pieces, and especially if you make this a habit, right? Not just on these seemingly simple kinds of tasks, but also on the much harder ones. If you make it a habit, you start to identify places where variation exists. And when you can identify places where variation exists, you can also identify places where blocking happens, which makes the variations and the blocking easier to manage into the future.
Share
10:33
And perhaps you can start to see ways of reducing the variation and making those otherwise kind of complicated things less complicated in the future. For me, perhaps the biggest benefit of simplifying things down to the most atomic level is that it reduces the friction to progress. What does that mean?
Share
10:52
Well, if you had, let's say, a third of the amount of time that it would take to do the entire process of adding a field to a model, may not be willing to start on that, it's hard to leave things in progress. It takes a lot of our mental capacity up to put something in progress and then come back and try to remember where we were. And so instead we might have friction actually starting on that work.
Share
11:20
If we instead had very small things to do if we broke up what we were doing for, you know, that overall kind of meta task to be complete, we might be a little bit more likely to get started on that, even if we can't necessarily finish all of those tasks now. Breaking things down also ends up providing more clarity and an easier step to start if you have all of those pieces kind of already thought through up front.
Share
11:52
Now again, I want to reiterate that this does require some level of balance and temperament. You can't break everything down into every single small action that you're going to take, you have to kind of decide what that uh you know what that threshold is for you, but you can start with some heuristics.
Share
12:13
For example, if your task has anything dealing with and, if you have two actions in the task, try just breaking those two actions out into two different tasks. Another example of this is when you have tasks that represent multiple concepts that are usually tied together, for example, adding CRUD operations.
Share
12:35
Well, there's four different kinds of operations in CRUD and each of those have their own concerns. So it might make sense to have create, read, update and delete as their own tasks. Even if you're doing some of the work together at the same time, it doesn't necessarily hurt to have those tasks broken out into their own representations in whatever your process of choice is.
Share
12:59
One way to think about breaking tasks up is to explain how the work is going to get done. When you explain it to, let's say, another engineer, you're likely to explain each of those steps that we're talking about at one layer deeper than whatever the overall meta task is. When you do this, notice the themes and the kinds of things that you talk about as steps and then use those steps as your tasks.
Share
13:30
Now, to be clear, we're talking about kind of conversational explanation here, not tutorial explanation where you give each step by step process. The second principle that I use when managing my time and all of the work that I have to do is to look at all of my priorities together.
Share
13:49
Don't separate work or personal life or podcast life or hobby life. Look at everything together. Sometimes, time is going to dictate when something has to be done. In other words, I'm unlikely to prioritize all of my personal life during my work hours, that kind of thing.
Share
14:09
But when you can kind of integrate your life together, you can begin to get more connected to what your true priorities are for yourself, both now and in the long term. Instead of sequestering all of your thoughts about your personal life to only be allowed after 5 o'clock during the day, consider everything together.
Share
14:36
Ask yourself how can I arrange my life, arrange my work, arrange my priorities, my responsibilities in such a way that everything on this list makes sense. That I'm not having to choke one thing out for another. It's possible that your list needs to change. But it's also possible that you can start to see your life as an integrated unit so that one priority actually helps the other priorities.
Share
15:07
When you consider your priorities together, you have the opportunity to stack them in a way that is beneficial to more than just one part of your life. This will help you avoid burnout and stay aware of when certain parts of your life are becoming unbalanced with the rest of it.
Share
15:27
Thanks so much for listening to today's episode of Developer Tea. This certainly doesn't comprehensively cover everything that I do to stay
productive
or every mechanism that I use to manage my tasks. But I hope this gives you some food for thought.
Share
15:43
I hope you take some time to go and review the way that you think about priorities and the way that you think about simplifying your work. Thanks so much for listening. Thank you again to today's sponsor Cord.
Share
Break
Jonathan Cutrell
16:28
If you want to discuss the ideas and share your ways of staying
productive,
of gaining more clarity and allowing that clarity to inform your perspective - all of these topics are the kinds of things that we talked about on the Developer Tea
Discord
. Head over to developertea. com/discord to join that totally free forever for you as a listener of this show. Thanks again and until next time, enjoy your tea.
Share
Add podcast
🇮🇹 Made with love & passion in Italy. 🌎 Enjoyed everywhere
Build n. 1.38.1
Jonathan Cutrell
BETA
Sign in
🌎