This is... the eternal question on this show. One of the very first episodes of the show talks about focus, and there's a reason for that. Focus is the recognition And the action taken when you realize the critical nature of time. That we all have a limited amount of time. To do what we want to do. That time is our kind of universal factor that we can't reduce. And so focus should be...
at the top of your priority list. But it's easy to imagine that we can intuitively understand what we should focus on. We've talked about many different mental models on this show, and today I'm going to introduce you to another mental model. Actually, two that kind of collide. The mental model, the first one.
that I want to introduce you to is the concept of the LIMFAC. If you grew up in a military family, you might already know what this particular phrase means. It is... widely incorrectly identified as an acronym, but in fact, it's just a shortening of the two words limiting factor. And the basic idea is that for any given, let's say, military operation, there are many different variables, and one of those variables might be the critical one that keeps you from accomplishing a particular mission.
Before we dig into this mental model, I want to go ahead and introduce the second mental model. And interestingly, it comes from a totally different domain, specifically sound design. You may know of this as audio engineering. When you take audio and record it like we are with this podcast, and then you mix it using various techniques, one of those techniques is called compression. Compression and limiting are very close to each other.
You can find a hardware or software compressor or limiter. And in fact, you are hearing my voice go through a series of these kinds of techniques, compression and limiting. Essentially what compression and limiting do, in general, is they take the highest peaks of an audio signal and they reduce them by some amount. without necessarily changing the character of the sound itself. And so the effect is that the dynamics...
which is basically the difference between the loudest and the softest part of a given audio recording, are reduced. There's less dynamic change across the waveform. And there's an interesting crossover between these mental models, specifically in that it's not always clear what is causing the limit. The limiting factor in a given scenario in a military operation may not be what you expect it is. And interestingly, when you are performing compression.
The loud portion of the waveform may be different than what your perception says it is. For example, low frequency energy. Low frequency energy tends to have... much higher peaks in a waveform, even though we don't necessarily perceive that low frequency energy as being loud. And so a compressor or limiter that is set to respond to the waveform without necessarily selecting if it's responding to the high end frequencies or the low end frequencies selectively.
will limit much more readily when the audio waveform has a significant amount of bass, all other things being equal. Okay, so we're not here for a class on audio engineering. What does this have to do with your career? We're going to talk about limiting factors right after we talk about today's sponsor. This episode is sponsored by Unblocked. And in fact, it turns out that what Unblocked does is an example of a hidden limiting factor and a product that deals with it.
Specifically, how long do you think it should take to write seven lines of code? Should it take a couple of minutes? Would it take an hour? What if it takes five days? Is that okay? You might be tempted to think that the developers on your team need help writing code, that that is their limiting factor. But it's usually not the case. The biggest drag in software development isn't writing code, it's...
Having enough context to know what code to write, that is the limiting factor. In a perfect world, your engineering team wouldn't waste time, days even, searching for the context to understand your application. But on average... Most developers spend more than two hours a week trying to find information about how a code base works. That's why there's Unblocked, to give your engineering team the answers they need to get their jobs done at the speed they and you both want.
Your code base is a compilation of thousands of past decisions and discussions that live across tools like GitHub, Slack, Jira, Confluence, and more. Then Unblocked surfaces this history next to your code. So everyone on your team has the context they need. And when someone has a question, Unblocked answers with the accuracy of your most experienced engineers. Get started today at GetUnblocked.com.
One of the most insidious enemies of your focus is the belief that you are focused on the right thing when you're not.
intuitively we imagine that distraction looks like getting distracted by some shiny new thing and sometimes that's true sometimes we know very clearly that we are not doing the thing that we should be doing we're not focusing on the thing we should be focusing on but in settings that are more complex for example you're running a software engineering team at a company that you work at it is rare
that the team is so clearly off track in their focus that something may actually be wrong. And so we imagine that as long as we aren't getting distracted by shiny things, and we are choosing intentionally what we're doing, then that equates to proper focus. But very often, this is a misconception. And it's one of the reasons why it's so important to explicitly identify your limiting factors. Let's say, for example, that you are trying to push for a raise at your job.
And so you work incredibly hard. You try to maintain a balance, but you also put in extra energy in trying to learn and trying to identify opportunities. to show your leadership potential. There's a bunch of different ways you could do this, but let's imagine you're putting a lot of energy into those common ways. But there's another factor at play, one that maybe you hadn't considered.
Your organization is dependent on grants from external donors, and there is a limitation to what they can provide to you without changing your role. your title. And so while you've spent a lot of energy trying to show your capacity in your current role, your performance may not be the limiting factor at all. You may talk with your manager and find out that, in fact, there's no roles open at all that they can promote you into. And so their hands are tied and you just spent a lot of energy.
for maybe some positive gain overall, but not achieving the goal that you intended to achieve. There was some external factor, some external limiting factor. Similarly, we can imagine that limiting factors exist when they actually don't. This is a very common kind of natural pathway for engineers, especially engineers. who are joining larger companies from smaller companies. We all have kind of a default understanding of what optimization is sufficient for our situation.
Now, my recommendation here is to always provide clarity on your targets for any kind of optimization. But when you walk in with an understanding of what is typically reasonable for a small startup, and you move into a larger company, it's very possible that you are imagining a limiting factor of, let's say, a budget that is not actually a limit.
In other words, you may not necessarily need to think about optimizing that database today. And instead, the company is willing to pay for the upgrade. Now, this may seem like an obvious. kind of factor that you would deal with or that you would expect. But once again, this is where you can find that insidious, kind of tricky belief.
that you're focusing on the right thing, if you think about this as a dual, kind of a duality, right? In other words, if you think, okay, well, we're always choosing between optimizing and buying, and you believe that... The budget as it is, is your determining factor. That that is, okay, we know that it's not the budget that's the limiting factor. Or we know that it is the budget that's the limiting factor. But the truth is that...
You may see this information and take it at face value and believe that it gives you the focusing effect that you need when actually the limiting factor may be beyond this duality. It may be a political factor, or maybe it's a timing factor. We run into this all the time with engineering planning and dependency planning. This will probably sound familiar to many of you, but...
It may not be that a team is incapable of delivering a particular dependency within a certain amount of time. It may be that they are blocked from doing that because of a different priority. That's being handed to them that they're not able to deliver that because of some prioritization that you're not involved in. So in that case, your limiting factor is that prioritization process.
It may be, once again, going back to a people factor rather than just a purely kind of dependency planning and capacity planning factor. Here's what I want to encourage you to do as you think about this. I want to encourage you to think about this from the perspective of looking for unexpected limitations, unexpected limiting factors. In this way, it's like having...
extra bass in that audio signal, and that's the thing that's causing the compression to kick in. The way that you approach this concept, this idea of identifying the limiting factor, is by validating that your identified factor is the correct one. Instead of assuming that your focus is clarified, Just by being intentional, you can be intentional and also be wrong. And so clarifying, okay, is this actually the limiting factor or is there something else?
that even if we got this part right, even if we overcame this particular hurdle, that something else would actually be the compression on this problem. That something else is actually kicking in. Something else is causing this bottleneck, right? This very much kind of echoes the theory of constraints. The idea that... One constraint, you know, you may have constraints in your system that you don't necessarily immediately recognize. And kind of as a bonus.
way of thinking is, once this constraint is removed, what is the next one? With a system, especially in theory of constraints, there's always another bottleneck. There's always some throughput that constrains the rest of the system. And at some point, you get to a degree of sufficiency for whatever it is that you're trying to do.
We don't have an infinite problem solving space or optimization space with most of the problems that we're talking about solving here. And so with your planning and productivity. concerns that you might be bringing into this conversation, it's very likely that finding just that first limiting factor in most cases is going to have a sufficient effect.
That finding the next limiting factor won't even be necessary. Because you've achieved kind of more than you even needed to achieve by finding the first one. And this is because... For the vast majority of people, they're not thinking about the hidden limiting factors that they're facing. They're focused on just the intentional aspect of focus.
So take it one step further. Ensure that you are focusing on the right thing. Ensure that you're finding and focusing on the real limiting factor for what you're trying to achieve. Thanks so much for listening to today's episode of Developer Tea. Thank you again to today's sponsor, Unblocked. We said it in the ad read. We'll say it again here.
Unblocked solves one of these hidden limiting factors. Writing code is probably not the limiting factor for your engineers. It's having the context to know what to write. That context exists But it's hard to bring it all together. And that's what Unblocked does. They find it in Jira. They find it in Confluence, in Slack, in GitHub, all of these places that your engineers are living and producing that context.
Unblocked brings it all together, and engineers can use that context to write the correct code the first time in a much shorter time frame. not wasting any time trying to gather that contact sales. Go and check it out. Head over to unblocked.com to get started. Thanks so much for listening. And until next time, enjoy your tea.