In 2025, with everything in tech changing by the minute, I’m realizing I need to set boundaries about how deep I go on any particular topic. But I’m unsure how. Particularly if I don’t want to get left behind as things continue to evolve.
Curious how other folks approach this?
Everything changes in tech by the minute ... but also nothing changes. For web applications it has been HTML, CSS and JS for nearly 30 years. XMLHttpRequest/AJAX came out 25+ years ago. There have been many improvements along the way, like applying design patterns instead of cgi-bin directories with scripts that had a +x modifier on them in the file system. But the base technologies have not changed all that much. We still submit HTML form's with input fields to a back-end server that handles that data. We're still rendering HTML and using CSS to style it. Gone are custom UI toolkits like Flash or Java Applets. Maybe WASM is something to look into but it feels like its not mainstream to me.
If you don't want to get left behind, learn the basic building blocks at a deep level, they don't change much.
That.
I’ve embraced that I cannot direct which topic my self-directed learning will take up and sustain (almost none of which ends up going toward tech stuff, aside from a span of some years in my teens and early 20s—and all of that was motivated by wanting to accomplish specific things with computers) and rely on assignments to motivate me for career-relevant learning.
I’ll learn whatever it takes to get the job done. Then stop, because I don’t actually care about the tech per se, most of the time, and trying to force myself to learn “just because” does nothing but make me miserable and waste time.
This isn’t even “how I approach learning as a generalist”, it’s how I became a generalist.
My interest in continuing to fiddle with stuff after the job’s done is basically zero.
My experience has been that it takes amazingly little effort to be above-median among practitioners at a lot of things. How many React developers have spent one entire hour reading through the core logic of React itself? How many people working with LLMs have read the Attention Is All You Need paper? How many people read about the disk storage layout of a database they’ve been told to use? It’s way less than half. It takes so very little to stand out.
I've never worked with or for anyone who wanted to hire the team of PhDs.
know when to cut your losses and try something different.
But also you're making an extremely bad mistake in your thinking here. Being a generalist does not preclude being a master. In fact, I've found that in today's market you must have specializations. Right now I'm selling myself as an electronics engineer and embedded C programmer. But my deepest expertice is C#, where I consider myself to be a fairly high level expert. My current job is writing react native with some EE on the side.
You're trying to actively spread yourself even thinner which is a huge error. Knowing almost nothing about everything is not useful today, we just use AI for that. You need some real, solid skills to work from. You also need to be able to be a specialist and do specialist work because you are not likely to find a good generalist role. There aren't many such roles and they're getting harder to find.
But all in all my answer is no. There is no point where you should stop learning any one thing. Follow your passions and what's interesting. Finding a subject you're interested in and spending a ton of time learning about it isn't a bad thing. That's how you figure out what you like and how you build real skills. You should follow particular subjects into mastery because a generalist without any specialization is not actually very useful unless you're a world class engineer.
It's clichéd, but genuinely follow whatever subjects make you happy and find a way to make that work for you.
OP's asking a tough question.
At some point, it's impractical to try to be great at everything.
I'm not saying be great at everything, that's literally not possible. What I'm saying is that specialization is not antithetical to generalization. A good generalist should have areas of expertise because we can't cover everything. You don't need to be a world class expert, but you do need to find a niche for yourself and IMO the best way to do that is to simply follow what you find interesting.
To OP's question, how did you decide that going further down the tax education wasn't for you? Was it really capabilities?
I propose that what you're really saying is that you're
a. not as intellectually curious about tax matters
b. or not concerned about the opportunity cost of your delegate being wrong
which makes it an easier choice to delegate.
Interesting factoid is that for many fields, such experts do not really exist. Unfortunately we do not get hired as researchers at this particular rabbit hole.
Tax and accounting is not one of those things.
If I had to generalize how I work, I'd say it comes down to:
1. Identify the highest value thing I can work on that is feasible
2. Learn what I need to finish the work. Invest as little time/effort as possible into topics that have not proven to be timeless. Lindy's Law is your guide here.
3. when the solution is good enough, go back to 1.
Being a generalist doesn't mean you aren't an expert in anything. There are topics that I've identified as being so timeless and high value that I've more time and effort into them than others (making me a relative expert, I guess).
For me, it is more about targeting the goals at hand and learning just what I need than setting out to master the tools I like. Over time you will become an expert in the tools you trust.
You aren't really a generalist if all you do is solve the problem without understanding anything, and this approach will usually bite you or your replacement down the line. Just consider solving "I need a message queue", "I need to add Elasticsearch", or gods forbid, "We need a frontend JS framework". I've been at companies where this has happened, and it's a dumpster fire weeks afterward.
Learning is a never-ending process in which progress is not stable and regression also happens. In that sense it is sisyphean.
I do end up knowing a little bit about lots of things, but in terms of "knowing enough", I only need to go into a scenario with enough knowledge to get some traction on the issue I'm working on. Once I've established a bridgehead, the rest follows naturally.
Never. That's the trick. There is no good answer to this question. Only the one which works for you.
You need some to come up with some other mechanisms to trigger your move-onto next stuff (or stay-on subject depending on natural tendencies).
Overall my strategy is keeping my core competencies sharp. Don't be early adopter, but keep an eye on them to pick up when things more or less prooved their workability.
The things outside of my core I dig as much as I'm interested or as much as task requires. This gives freedom to pursue whatever seems to be interesting.
--
> In 2025, with everything in tech changing by the minute,
Based on what do you build that? Based on news?
It's a FOMO. Are there objective reasons for feeding that feeling?
This is my rule of thumb:
Learn what you need to know first for your task at hand. If your curiosity can't be contained, make a mental note. If that mental note doesn't go anywhere and you keep dwelling on the thought of it, pursue it until your curiosity is satisfied. If done successfully, repeat.
You COULD write it down, but if you're anything like me you'll just end up with a desk filled to the brim with post it notes and never actually going back to 90% of those topics. Which kills a lot of trees. If you're into that sorta thing, don't let me stop you. Making a mental note is much better since if the topic is of interest to you, then you will not forget about it. Therefore, you'll let your curiosity build up until you cannot contain yourself and have to learn more about the topic.
NOTE: Being a generalist usually comes because of a deep sense of curiosity in a wide range of topics. Take your time and enjoy the process of learning things since that will guarantee the longevity of your curiosity without burnout.
Going out of my way to dive deep on something I will never use seems like a waste of time to me. My company sent me to Citrix training years ago. I was going to get certified, but didn’t end up doing it. The class and certification seem designed for someone setting up the entire Citrix infra for their company. In my role, I just made a publish app here and there, which I already knew how to do. After the training, our use of Citrix went down, and I haven’t touched it at all in 10 years. I’m glad I didn’t waste my time deep diving on technology I’d never actually use. If we use it again in the future, I’ll have to re-learn it either way, since it’s been so long.
I go beyond on topics I actually find interesting, or seem like they will be relevant to my job for a longer period of time, where I will see some pay off.
So in short, learn what you need, but be aware of the options in case you might have a use case for some of them in the future in which case you will know where to look and what to learn.
What I try to do is get into the core of whatever product I work on, as close to the beginning of the product's creation.
Then, I implement "good enough" solutions that work as a bridge until the team can grow to hire experts.
For example: At a startup I worked with another engineer on a desktop client. I focused on working mostly on the business logic, and muddled through the UI. We brought in a UI expert to polish the UI. Later, when we added a driver, we brought in a driver expert to implement the driver, and I worked on how it integrated into the product.
On that product I also became "good enough" at Mac programming because it was a cross-platform product, and I focused on our cross-platform logic abstracted Mac and Windows. We later brought in Mac experts who filled in the pieces that required more extensive Mac experience.
First I ask a bunch of questions in a chaotic manner. I explore the topic, check references, etc.
At some point the dots start to naturally connect. Then I start paraphrasing what I learned and the LLM either confirms it or clarifies where my understanding falls short.
At some point I feel naturally satisfied with the level of understanding that I have—it's likely because there's no „one more page of Google search results” trap there.
One thing to watch out is the „GOAT trap”—for instance, the default ChatGPT tends to reply with sth like: „You are the GOAT and your understanding and insight are unmatched. Let’s just clarify a few minor points”, followed by a destruction of my line of thinking, but worded in such a way that you're happy for the upcoming trip :). So you need a system prompt like „be very blunt”.
Happens the same with the fundamentals (networking, OS, etc). I revisit new aspects of these topics every now and then. I still haven’t worked deeper with llms. Last week I tried for the first time coding with an agent. I take it slowly.
For instance, I never cared about learning react or vercel. I guess it paid off.
If you're working on life-sustaining / life-saving problem space, appropriate better be very robust. If you're hacking on a hobby project, appropriate is whatever you feel like.
Personally I learn something new (almost) every day. Some of it is related to my work, some of it I learn just because I find it interesting. That's how I've grown to be a generalist. I didn't strive to be one, it just happened due to life long learning.
If I'm diving into a topic because I'm interested in it, then "I know enough" when my interest in it wanes or is eclipsed by something else.
But the majority of my generalist knowledge didn't come from either of those things, but from a lifeline habit of recreationally reading about things that are not "my usual kind of thing".
If the projects are simple and the people you’re working for or with don’t even know how to do the work themselves, you can be the relative expert with only a shallow knowledge of a subject.
If the people you’re working with are experts or the project is complex, you’re not going to be considered capable at all unless you can demonstrate you have significant experience and understanding on the topic.
About the "when do I say 'I know enough'"...well, never. I just follow my curiosity and it's infinite ramifications. I loss/gain interests about very diverse topics in a somewhat short amount of time.
Then I come back some time later (minutes, days, years etc) and realize I didn't know what I was missing.
The cosmos is vast and beautiful. Humility helps, but may not come easy.
All you need is decades old CS mostly. Then you apply this to production via software engineering principles. Systems design is the key. Always systems design. If you find something that happens to be novel then you research until the novel thing fits your mental map.
This is only true if you are studying the wrong thing. Irrelevant implementation details change by the minute, but they are irrelevant expect in the very moment you need that detail, so only learn them by repetitive use. Meanwhile the fundamentals do not change, as a generalist you will be looking to learn those so that when you need details you understand what the implementation is doing. As you get older (more experienced) you will start to see how the the latest implementation is change either for the sake of change, or corruption (that is you can convince someone it is innovative and thus make money even though you are making things objectively worse - see touch screens in cars), soon you with be shaking your first at the stars and yelling to the wind how much better it used to be (while ignoring all progress!)
Tech is not changing by the minute. There have been only minor changes since I was in elementary school in the 1980s. 8 bit to 64 bit CPUS are a minor change since they fundamentally do the same thing. We were doing some interesting GUIs in the 1980s. (I'm not old enough to remember the XEROX systems of the 1970s much less tech before then). Learn the fundamentals and things won't be changing fast.
I see it a lot like tools in your toolbox. You start buy buying the cheapest of whatever it is you need. If you end up either using a particular tool a lot and a nicer/more expensive version of it will make your life better you then upgrade. If you end up breaking the cheaper one you also invest the money into upgrading. You generally find that you are only upgrading a small fraction of your toolbox this way, and save quite a bit of money vs. buying an entire set of expensive professional grade gear.
I see that for skillsets as well. Why waste time on knowing the nitty gritty deep level of something if I will rarely come back to use it again. If I can cargo-cult my way into getting the thing done and moving on I will. If I end up coming back to the thing on a constant basis I will then invest the time into learning the deeper internals/details/tricks etc.
The real Q. is “When do you stop learning?”
A. When you dangerous enough
The honest answer is that I stop caring if I lose curiosity. The rationalized answer is that expertise requires maintenance, and a low likelihood of using some expertise doesn't justify that maintenance. For example, I am unlikely to ever do advanced financial planning, and I can re-learn / lookup the formulas for doing calculations, or maybe even re-derive them if I really need to. On demand learning!
1) I get bored
2) Something with a higher priority comes up
https://www.youtube.com/watch?v=5eW6Eagr9XA
https://en.wikipedia.org/wiki/Four_stages_of_competence
It's all about history repeating; or better yet understanding when it's something new and often forcing that.
They say 10,000 hours to become an expert, but that's brute forced learning. When you actually learn how to learn, what universities USED TO teach and have since stopped teaching, you can do it much quicker. People who know how to learn can become an expert in under 1000 hours.
>In 2025, with everything in tech changing by the minute, I’m realizing I need to set boundaries about how deep I go on any particular topic. But I’m unsure how. Particularly if I don’t want to get left behind as things continue to evolve.
that's the wrong way to approach it; or perhaps definition of depth? Depth to me is about a subject that cant be understood until certain other learning milestones have been learnt. Which is perhaps a depth, but also something you can force as something new. A new pattern that will as above be part of the learning.
It's fine to go deep, so long as you're seeing a new pattern you cant predict. The limit isnt about depth, it's about seeing something new.
A theoretician in the purest sense is removed from practical constraints and timelines. He can, in principle, keep pursuing a subject until the day he dies.
A practitioner is aiming for a practical result within a time frame. Because he has to deliver, he cannot afford to focus on developing a deep or exhaustive grasp of any particular thing. His focus isn't knowledge, after all, but the practical result. He will lean more on what he already knows, however limited, rather than pursuing new knowledge. He is less concerned with verifying the truth of claims himself and more concerned with trusting claims tactically by knowing whom to trust and when.
So, in the capacity of practitioner, you must learn prudence, which is the virtue of knowing what should be done in a given situation. It is the basis for the moral life, as morality concerns itself with right action and right decision making.
I don't feel that I "ought" to know. There's too much. I can't. So I learn what I need, and what I want.
Left behind? You have no choice. When you're learning A, you're not learning B through Z, except that there are a lot more than 26 options. You can't learn it all. There's simply not enough time.
The real question is, of the limited amount of time you have for learning, what's the most important/valuable thing for you to be learning now?
Or project-based? If you are a writer, for example, it's usually project based.
Otherwise, if you really have a hard time setting boundaries, then you might be the type to orient yourself around the states of your social circles. They definitely have boundaries when they stop listening or caring.
If you can't say enough is enough yourself, let someone you trust, or in whose competence you trust, do it for you.
I would say something like "when does it stop being useful" but the 'real' infinite game is all about curiosity and there's almost no players, just uninterested and destructive shareholders, so I'm gonna go with "do you have a thread that connects it all or not?" If you don't, and it only leads to more and more excursions, fix that point of depth where some subject still interfaces with the other stuff and stop there.