What Defines a Senior Developer? - You Won’t Use All of Your Knowledge
Summary
This episode examines a key trait that distinguishes senior software engineers: the ability to recognize and work within constraints. The host argues that accumulating vast knowledge through podcasts, books, and thought leadership is valuable, but the true mark of seniority is the discernment to apply only a small, relevant portion of that knowledge to any given situation.
The core of this senior mindset is the painful but necessary practice of saying ‘no’ to great ideas, ignoring most advice, and passing on many opportunities. This is because real-world constraints—like time, budget, and the singular nature of one’s career—force engineers to make strategic choices about where to invest their effort. The ability to choose what is most applicable is what separates theoretical knowledge from practical impact.
A concrete example is the concept of experiments you’ll never run. A perfectly designed two-year experiment at a startup is often impractical because leadership or investors require more immediate, cash-generating results. Similarly, career experiments are too expensive to conduct in reality, so senior engineers often run them as thought experiments instead.
The host concludes by addressing a potential point of dissatisfaction: the feeling that you’re not using all the knowledge you’ve gained. He reframes this, suggesting that unused knowledge is not ill-gained. Its purpose is to create a wide variety of options to pull from, with the understanding that only a select few will ever be deployed in practice. The senior skill is in making that selection effectively.
Topic Timeline
- 00:00:00 — Introduction to the gap between theory and practice — The episode opens by acknowledging the value of consuming educational content like podcasts and books to gain insight into engineering and management theory. However, it immediately introduces the core tension: applying that knowledge practically looks very different. The host sets up the discussion by stating that you cannot apply entirely different philosophies in a single day, hinting at the need for selective application.
- 00:00:58 — Defining the senior mindset: Recognizing constraints — The host identifies the critical factor for success as a ‘senior mindset.’ This trait, applicable to senior engineers and beyond, is the high-level conception of recognizing constraints. He explains that this simple-sounding task is actually a difficult, ongoing mindset. It primarily involves saying ‘no’ to great ideas, ignoring most advice and opportunities because constraints force you to choose and limit your investments, which can be a painful process.
- 00:02:17 — Example: Experiments you’ll never get to run — To illustrate the application of recognizing constraints, the host uses the example of long-term experiments. He describes a hypothetical two-year experiment at a startup. Even if well-designed and promising, such an experiment is unlikely to be approved by leadership or investors because it doesn’t align with the practical need for insights that lead to cash. This demonstrates how theoretical best practices clash with real-world business realities.
- 00:03:37 — The constraint of a single career and thought experiments — The host extends the concept of constraints to one’s career. Because you only have one career, running major experiments with it is often too expensive. Therefore, senior engineers frequently run these experiments only in their minds as thought experiments, not in practice. This leads to the central dichotomy: learning a wide array of theory but applying only a very small percentage of it based on situational applicability.
- 00:04:48 — Conclusion: Being okay with unused knowledge — The host concludes by addressing a potential listener’s dissatisfaction with not using all their accumulated knowledge. He argues that having a wide variety of knowledge to pull from is still important, even if most of it goes unused practically. The key is to understand that unused knowledge is not a waste; its purpose is to inform the choice of what is applicable. The senior trait is the ability to make that choice to yield the most important outcome for a given situation.
Episode Info
- Podcast: Developer Tea
- Author: Jonathan Cutrell
- Category: Technology Business Careers Society & Culture
- Published: 2023-03-31T07:00:00Z
- Duration: 00:06:19
References
- URL PocketCasts: https://pocketcasts.com/podcast/developer-tea/cbe9b6c0-7da4-0132-e6ef-5f4c86fd3263/what-defines-a-senior-developer-you-wont-use-all-of-your-knowledge/1dab5779-618a-4f5a-9ddd-4903e9b0bcf3
- Episode UUID: 1dab5779-618a-4f5a-9ddd-4903e9b0bcf3
Podcast Info
- Name: Developer Tea
- Type: episodic
- Site: http://www.developertea.com
- UUID: cbe9b6c0-7da4-0132-e6ef-5f4c86fd3263
Transcript
[00:00:00] You can listen to this podcast and read books all day long.
[00:00:13] You can listen to thought leadership and gain a lot of insight.
[00:00:20] I don’t want to downplay it.
[00:00:21] It’s a lot of insight into theory and the mechanics of being a great engineer,
[00:00:29] being a great manager.
[00:00:30] At the end of the day, applying those things in a practical manner looks different.
[00:00:42] For a given day, you can’t apply to entirely different philosophies.
[00:00:49] This is one of the critical factors of success for a good software engineer, for a good manager,
[00:00:58] and we’ll call this a senior mindset, a trade of a senior software engineer or a trade of
[00:01:04] a senior plus, staff plus.
[00:01:07] This is high-level engineering conception here, and that is to recognize constraints.
[00:01:15] This seems so simple, but recognizing constraints is a very difficult task to do, and it’s not
[00:01:24] really just a task.
[00:01:25] This is an ongoing mindset.
[00:01:28] Recognizing your constraints means that very often, in fact, most of the time, you are
[00:01:34] saying no to great ideas.
[00:01:38] Most of the time, you are ignoring the vast majority of wisdom, the vast majority of advice
[00:01:45] that you receive, the vast majority of opportunity.
[00:01:50] This is because with constraint, you have to choose.
[00:01:57] You have to limit what you are willing to invest in, and this can be painful.
[00:02:02] It can be difficult to accept.
[00:02:05] It can be painful because sometimes you’re wrong, and ultimately, the theory doesn’t
[00:02:13] always describe the practice.
[00:02:17] An example of recognizing this and applying it in reality is to understand the list of
[00:02:23] experiments that you’ll never get to run.
[00:02:28] Think about this for a second.
[00:02:29] If you have an experiment that you want to run that requires that your experiment time
[00:02:37] frame lasts, let’s say, two years, imagine that your experiment is a project at a startup,
[00:02:46] not necessarily the main project.
[00:02:50] This experiment, no matter how well designed, is very unlikely to be acceptable to, let’s
[00:02:56] say, the leadership in your startup.
[00:02:59] Maybe you have investors.
[00:03:00] It’s unlikely that your investors are willing to allow you to run a true two-year experiment
[00:03:07] without really compelling evidence that this experiment is going to lead to insights that
[00:03:13] will lead to cash.
[00:03:18] This is a difficult reality to accept because the experiment may be incredibly well-designed.
[00:03:25] You may have a lot of confidence that you’re going to learn something very important, but
[00:03:30] the practicality of the experiment is simply not matching up to reality.
[00:03:37] Similarly, you recognize the simple fact that you only have one career.
[00:03:44] And so running an experiment with your career, you don’t really get a chance to do it over.
[00:03:51] The experiment is too expensive, and so most senior engineers are going to run those experiments
[00:03:59] only in their minds.
[00:04:01] They’re going to do thought experiments rather than actual practical experiments.
[00:04:08] And so this dichotomy of learning all of this theory and applying a very small percentage
[00:04:15] of it really comes down to the ability to choose what is most applicable in a given
[00:04:23] situation.
[00:04:24] This is the trait that we’re talking about today.
[00:04:29] That is, the ability to recognize what kinds of advice, what kinds of theory or practice,
[00:04:37] what kinds of mental models to apply in a circumstance to yield the most important outcome
[00:04:45] for that situation.
[00:04:48] You can have all of this information available to you, and it is important.
[00:04:53] That’s why we continue to do this show.
[00:04:55] It is important to have this wide variety to pull from.
[00:05:00] But there is a vast majority of this knowledge that you may gain that will never be used
[00:05:09] in a practical situation, and we have to be okay with that.
[00:05:15] If you are dissatisfied because you are not getting an opportunity to use all of your
[00:05:19] knowledge, then it takes some time to come to terms with this.
[00:05:27] But you may need to take a step back and recognize what the purpose of this knowledge is in the
[00:05:33] first place.
[00:05:35] If you have knowledge that you never use, that doesn’t necessarily mean that that knowledge
[00:05:39] was ill-gained.
[00:05:40] Thanks so much for listening to today’s episode of Developer Tea.
[00:05:44] If you enjoyed this discussion, if you’d like to take it a step further, maybe you have
[00:05:48] disagreements with what we’re saying here, or maybe you have some addition or an addendum
[00:05:54] to what we’re saying.
[00:05:55] I’d love to hear it.
[00:05:56] You can join me and a bunch of other software engineers and non-software engineers, for
[00:06:01] that matter, in the Developer Tea Discord community.
[00:06:03] Head over to developertea.com slash discord.
[00:06:06] You can start it totally free today.
[00:06:08] Thanks so much for listening, and until next time, enjoy your tea.