TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: How deep do you go?

66 pointsby martialgabout 3 years ago
When you’re learning about a new topic or technology that you want to incorporate into your workflow, how do you know how to scope the learning and when to stop?

46 comments

drewcooabout 3 years ago
Everyone learns a new thing and it seems magical. We tend to over-apply it while we&#x27;re finding its limits. So I try to do that intentionally, up-front, when there&#x27;s nothing at stake.<p>I plan to fail. As spectacularly as possible. Then I have to figure my way out of it - time to finally read those docs in detail!<p>I usually try to do a (toy) project that seems ridiculous. I try to misapply the tech if possible to some domain it&#x27;s unfit for. Finishing the project isn&#x27;t important. I just need to fail a lot and learn.<p>Once I stop failing so often or once the failures are smaller, that means I&#x27;m familiar enough to not embarrass myself too much.
评论 #31481782 未加载
Thursday24about 3 years ago
Minsky labelled our minds &quot;difference engines&quot;. This means, we work best with a goal. The moment some sort of goal is set, the mind keeps diffing goal and your current position continuously. Given this framework, I always tend to have a higher goal, some result I hope to see. With such context, then it is simply a matter of asking &quot;is it working now? am I there yet?&quot;. If it is not, learn more. If it is, then I sort of know enough. And if I have a stronger urge, I may go on a curiosity-ride for as long as (economically) possible :)
motohagiographyabout 3 years ago
Breadth first thinker here: Understand the jokes, these are the edges and shape of its applicability, and mnemonics for its concepts. Get very good depth first in a few other foundation areas so that you know what discipline and rigor of real depth looks like, figure out how to identify people who also have depth in something, and then use their minds to scale yours.<p>I have absolute respect for depth of skills, and arguably even a rare appreciation for them, but with the caveat that there are diminishing returns and limited scalability on them, and this is the problem I typically index on solving. That is to say, I often tell people deadpan (to the point of it almost being my catchphrase), &quot;I don&#x27;t know very much, but I have opinions about everything.&quot;
Jtsummersabout 3 years ago
0. Is it interesting to me and has useful applications? As deep as possible while still gaining new applicable knowledge.<p>1. Is it <i>really</i> interesting to me but no, or few, applications? Then I won&#x27;t stop until I hit a wall. Then I rotate out topics to avoid frustration, potentially abandoning some paths if they&#x27;re just too much for self-study with no application.<p>2. Is it <i>useful</i> to me (professionally or personally) but less interesting? Until I hit a point where there is little to gain from deeper study.
gpmabout 3 years ago
It depends, I think I go deeper than most people. Mostly it&#x27;s intuition and curiosity based, but trying to reverse engineer what I do...<p>There are usually a lot of abstraction layers, all of them leaky to differing degrees. I like to have a broad picture of the big abstraction layers pretty much all the way down, and then details proportional to how much they manage to bubble up through the abstraction layers.<p>For example if I was trying to teach someone how to program in a reasonably high level language (rust, python, etc). I&#x27;d (eventually) want them to know that assembly and machine code exists - if we&#x27;re talking about python also that bytecode exists, but I definitely don&#x27;t care if they know how to read&#x2F;write it because there&#x27;s a strong abstraction layer between the language and the concrete machine. On the other hand I&#x27;d (eventually) want them to know not just that file handles exist, but that they&#x27;re integers allocated by the OS and how syscalls work with them, because the abstractions on top of file handles are quite leaky, and it&#x27;s often useful to understand what they are when looking at various forms of debug output (especially strace output).<p>And this is a luxury. If you&#x27;re learning a technology that you need to use immediately, skip out learning on things deeper in the stack until you have free time and are already productive. Even if you&#x27;re not in a hurry, generally learning lower level things is motivated by wanting to know how the higher level things work.
lbrinerabout 3 years ago
I think for me it depends on whether it is something that I kind of need and therefore I have to learn enough about it vs one that I might be considering as 1 choice of many that I am not tied to.<p>In the first instance, I try and build a simple but complete model to ensure that there aren&#x27;t any gotchas. For example, I am looking at Hashicorp Vault. It does a number of things that will be useful and which all need to happen. I will spend some time, therefore, getting one example of each of those working. This will prove the docs are good, there aren&#x27;t any weird limitations and it is something I can work with.<p>If, on the other hand, I am only evaluating something, I can very easily drop it just because of some poorly maintained docs or an error in the first 5 minutes after following the installation instructions.<p>Like another poster, I then try and keep the breadth as narrow as possible so I am not learning things I don&#x27;t need, but using my experience to spot things that might need some more careful learning. For example, I quickly spotted that K8S default networking was very open so I invested more time working out options for having it more locked down.
tekkkabout 3 years ago
I research everything that i can about the topic for say couple of days. Then i pick a tutorial or boilerplate, modify it in my own way to learn how it works (and more importantly - why things are why they are).<p>Once it stops crashing, i try to slowly refactor it for my use case. Crucial part is not taking too big chunks that you lose focus and not getting stuck on irrelevant things. It can get messy but as long as you have loaded it up in your work memory, it should be ok. Later i&#x27;ll rewrite everything once i understand the domain better.
Ancapistaniabout 3 years ago
I&#x27;m a depth-first learner. I prefer to have the time and focus to learn as much as possible about a new area, as deeply as possible, and in one &quot;chunk&quot;.<p>Obviously sometimes that isn&#x27;t well-supported by my immediate needs. In those cases I tend to be incremental - I work on the problem that I need to solve until I run into a roadblock. I solve that roadblock and continue until the next one. This approach makes it more difficult to estimate &quot;time to completion&quot;, but it&#x27;s proven to be most efficient for me so far.
BatFastardabout 3 years ago
Being a results merchant, I go only as deep as I need to in order to get results. If the result needs improving, then I have a target to go deeper into. This keeps me from investing in unused knowledge. I find its turtles all the way down, so just tackle what you need.
PeterWhittakerabout 3 years ago
One of my bosses&#x2F;clients was struck by my being neither a bottom-up nor a top-down person, but more of a come at it sideways type.<p>How broadly and deeply I go depends on how well I know a topic already. The less I know, the broader and deeper I go, in a not-particularly-predictable way, until I feel like I just went past the point where I could have taken action.<p>At that point, I have a glom of unconnected data and factoids. Then I do something (code, cut, brew, cook, wheel, weld, bend, hammer, whatever), with every expectation of failure and every hope for at least a step forward.<p>Then something doesn’t pan out and the failure crystallizes knowledge.<p>Until going hands on, I had no context to appreciate what part of breadth or depth was practical, what was theoretical, and&#x2F;or what was background&#x2F;historical.<p>Suddenly confronted by practical problems, I backtrack up and in, sort of, to find paths that I can evaluate as to utility, whether to the immediate task or to a firm theoretical foundation.<p>Lather, rinse, repeat, until things start to take shape and I start to understand the subject.
jedbergabout 3 years ago
I start with wikipedia or the intro to the documentation. Then I read deeper on whatever seems interesting until I think I know enough to be productive.<p>Then I start using it. If I get stuck, I find more specific information until I&#x27;m not stuck. Rinse and repeat.<p>So in short, I read the smallest amount of info possible to start and then let my practical experience guide me after that.
fxtentacleabout 3 years ago
As deep as I have to.<p>Usually, I know in advance what I want to build with the new technology and what quality level my customer needs. I&#x27;m always super impatient to try new knowledge out in practice. So I&#x27;ll learn for a day, then try it out in the evening. And then I only go back to learning as long as the results are still too bad to solve my problem.
adamnemecekabout 3 years ago
Optimize for engagement. Are you engaged with the topic? Keep going. Are you bored&#x2F;way over your head? Try to find something else in the field that&#x27;s more engaging.<p>To be honest, I find that this idea is really underappreciated.
moconnorabout 3 years ago
Helpful rule of thumb: understand at least the level below the one you’re working on in good detail - that is, <i>how</i> it does what it does, not just what it can do.<p>It helps you understand the shape of what is possible, debugging becomes far easier and sooner or later you will probably have to fix it anyway, or live with horrible inelegant workaround at your target level of abstraction.<p>I’ve never regretted going deeper; being able to keep going down all the way into the kernel is a superpower. But I’ve often regretted not going deeper earlier.
sandreasabout 3 years ago
I use a concept called timeboxing combined with deep work. If you wanna learn something, estimate, how much time you gonna need, how much time you really have a day and then split the estimation into timeboxes of at least 1h, better 2h or even more.<p>Focus on your work &#x2F; task and if you finish early and are still interested, dig deeper. If not, stop as soon as you get where you want to.<p>Works pretty well, but Focus is the main point. No tiktok, youtube, twitter, smartphone or whatever ;)
kkfxabout 3 years ago
No general rule for me, just combination of needs and interests, if I like something, I have time, I dig, if I need something I dig, if at a certain point my will start waning or my needs have reached a certain satisfactory point I stop.<p>As a general rule: there is no too much knowledge. The trick is just avoid dispersion, concentrating on something leaving something else aside. And there is no magic formula IME for that...
somehnacct3757about 3 years ago
I will read the full surface-level of the docs just so I understand all the nouns and verbs. It&#x27;s okay if I don&#x27;t understand something at this stage - it&#x27;s all about learning the existence of unknown unknowns. Just need to get them to known unknowns.<p>Once I have the outline of the possibility space I start to dig in on the topics that seem most relevant for my objective and try them out.
otikikabout 3 years ago
3 in the morning is a good top limit
评论 #31486103 未加载
thenerdheadabout 3 years ago
I usually try for 5 books or articles on the topic. I describe each of those in a blog below:<p><a href="https:&#x2F;&#x2F;jondouglas.dev&#x2F;five-to-thrive" rel="nofollow">https:&#x2F;&#x2F;jondouglas.dev&#x2F;five-to-thrive</a><p>Think of your progression as the following:<p>- I’m a little familiar<p>- I’m a bit more excited<p>- I’m seeing the big picture<p>- I’m understanding the main ideas &amp; opinions<p>- I’m getting an idea of where the future is headed.
gherkinnnabout 3 years ago
I get lost with a depth-first approach, so I aim for a broad superficial understanding and build from there as needed.
dtagamesabout 3 years ago
I would say never stop learning but also never stop practicing. I flip back and forth between study and coding (or music, or any other practice) to get some hands on in using what I just learned. Often, I stop in the middle of &quot;real work&quot; to learn something, or stop reading in order to try something.
throwaway1777about 3 years ago
It depends what you want in life.
ungawatktabout 3 years ago
For workflow stuff, I more or less do the generalized version of the xkcd Worth the Time (0). There&#x27;s always initial friction bringing something new into a workflow, both from a learning and practice standpoint, which I treat as an expected upfront cost. But pretty much once I start spending more time (actively) learning about a tool than I get back in saved time, that&#x27;s about the end for that workflow update. I can always revisit it if I hear about a new feature of the tool, and of course I&#x27;m passively picking up stuff as I use it.<p>(0) <a href="https:&#x2F;&#x2F;xkcd.com&#x2F;1205" rel="nofollow">https:&#x2F;&#x2F;xkcd.com&#x2F;1205</a>
sdevonoesabout 3 years ago
If it&#x27;s something I need to learn for work, I go shallow... because usually at work we focus on trendy buzzwords (e.g., k8s, graphql, protobuffers, etc.). So, it usually take me a few days to get the enough knowledge to keep pushing code to production.<p>If it&#x27;s something I want to learn to satisfy my curiosity (e.g., Golang, TCP&#x2F;IP, architectural patterns, linux kernel, etc.) it takes me months and I usually stop after building a couple of projects and after reading a couple of reference books.
agdabout 3 years ago
Interestingly Jim Keller spoke about this on (I believe) the Lex Friedman podcast.<p>He said something along the lines of &#x27;Most people are pattern matchers, they are good at applying known patterns to problems they face. However, the best people know when to pattern match, and, also, when to go deep and apply first principles thinking.&#x27;<p>He then cited Elon Musk as a great example of this.
kodahabout 3 years ago
I don&#x27;t learn &quot;technologies&quot;, I chip away at &quot;topics&quot;. For instance, when I learned OpenAPIv2 it wasn&#x27;t because I wanted to use OpenAPIv2, it was because I wanted to solve some pains I was experiencing with managing multiple REST backend versions and I saw OpenAPIv2&#x27;s architecture could help me decompose the painful areas. Knowing what you want to solve, or learn, is key to that, and just like regular projects can be subject to scope creep if you don&#x27;t have strong boundaries for it.
vmceptionabout 3 years ago
I look for things that are immediately applicable to me.<p>A tangential example is to think about how Amazon Basics (household items) took over without any advertising (maybe shopping placement was privileged inside Amazon platforms though). It solved people&#x27;s problems that were being dismissed as too basic to solve.<p>When I think about workflow adjustments, its usually one thing I&#x27;m looking for. If the solution has some other cool things about then, now I&#x27;m getting somewhat exposed to them too.<p>If its not immediately applicable, I&#x27;m not really prioritizing it.
t-3about 3 years ago
If I just start learning, I don&#x27;t stop until it&#x27;s too late and I&#x27;m probably burnt out on the topic. If I have a goal but haven&#x27;t started working on it, I study what I think I need to accomplish that goal until I think I understand or realize it&#x27;s not what I needed in the first place. If I need to know something to complete a concrete task, I learn the very least I possibly can to do what I need to do, and return to learning if I fail, until I succeed.
mhh__about 3 years ago
I stop when I get bored. I have no conscious ability to regulate the way I seek out or use information. This has obvious disadvantages but also means I know lots of stuff.
giantg2about 3 years ago
I like going all the way.<p>I started brewing beer last year. Now I&#x27;m growing my own hops and grain. If that goes well, I&#x27;ll be malting it and turning it into beer.<p>But generally, I only go as deep as I need for it to work. I only go deeper if there&#x27;s a problem or a true interest.
krnlpncabout 3 years ago
Usually I&#x27;ll learn until I&#x27;ve figured out the reason I started down that path in the first place. And then move on to the next shiny object until something breaks, then learn what I did wrong, fix, and repeat.
kanonieerabout 3 years ago
As deep as the rabbit hole takes me. Nowadays I became very picky as to what &quot;new&quot; thing I decide to incorporate into my workflow, so when something checks all the marks, I&#x27;ll go all in.
warrenmabout 3 years ago
On fun&#x2F;personal learning, I go as deep as I want, until I decide it&#x27;s far enough<p>For work&#x2F;assigned learning, I go as deep as is either required or &quot;seems&quot; to be relevant to the task(s) as hand
tapoxiabout 3 years ago
I immediately play with it and slowly build up a prototype publicly so I get input from other engineers. I think a short feedback cycle on anything complex is key, so you don&#x27;t over-invest.
sys_64738about 3 years ago
As long as it&#x27;s supported by Emacs then the world is your oyster.
评论 #31483440 未加载
bradwoodabout 3 years ago
Just deep enough to get the job done.<p>This requires that you have a real practical job to do in the first place.<p>Rinse and repeat with more and more difficult tasks.
petr25102018about 3 years ago
Definitely making the mistake all the time to go all in on a new topic :) But it is better to do it step by step and practice it.
jbirerabout 3 years ago
Until I reach a point I find boring, like the technical details, unless it&#x27;s one of my obsession points like ISA and OSDEV
runjakeabout 3 years ago
tl;dr: Fundamentals, then just enough to get me through that next step.<p>In general, I take an iterative approach: learn the basic fundamentals for basic situational awareness, and then learn enough to get going, and keep learning as I encounter roadblocks.<p>Sometimes, if I feel like doing a massive deep dive into a topic, I generally allow myself to do so.
codr7about 3 years ago
More want to understand initially.<p>I aim for the center, and I know I&#x27;m done when there&#x27;s nowhere left to go.
jacksnipeabout 3 years ago
If I can’t connect it to what I consider my first principles, then I don’t really know it.<p>So all of the way, I guess.
fargleabout 3 years ago
As deep as the situation requires. Then rabbit-hole about 5x beyond that.
pimlottcabout 3 years ago
Once you can do something practical and useful with it.
ChuckMcMabout 3 years ago
If you find out, let me know. :-)<p>I recognize that I get a dopamine hit from learning new things and so tend to just keep digging in. That said, for a lot of things, there seems to be very roughly three levels of &quot;understanding&quot;;<p>1) Surface level - this describes the basic principles of the thing, how it relates to other things, and how it influences or is influenced by other significant things.<p>2) Engineering level - this level then has the information needed to develop a new thing, or modify an existing thing, or counter or enhance a thing. Sort of the fundamentals of the thing&#x27;s makeup and&#x2F;or construction and lets you find or make new things of a similar type.<p>3) Foundation level - this level then is where the nature of the thing, how it fits into the overall understanding of things in the universe and usually the process by which it&#x27;s nature has come to be understood. This level will have a set of tools and processes that have evolved from the general set of tools to evaluate the nature of these things more specifically.<p>So level #1 is pretty easy and when I&#x27;m not thinking I&#x27;m going to contribute new original work to the topic or technology is where I&#x27;ll stop if I&#x27;m just trying to use what ever it is to get something else done.<p>Level #2 is where I end up most often because I&#x27;m curious and learning something to that level can often inform how applicable it will be in other efforts. So if a technology is generally useful to a wide variety of applications I&#x27;ll get down to this level, if it is pretty specialized for one kind of application, I&#x27;m less likely to go into its engineering.<p>Level #3 I don&#x27;t go as often. The calculus is what will I learn vs what else could I have learned in the same time. My basic education focused on physics, electrical engineering, computer science, and some chemistry with the math necessary to support that. When level #3 is pushing into fields that are adjacent to that base like geology, biology, and philosophy I find there is a bigger hit to go back and pick up more fundamentals and that can be time consuming. So I have to ask myself do I <i>really</i> want to know this topic at a fundamental level or not?<p>But all of that to say that I am not a good role model here, I often spent more time learning about something than my employer&#x27;s would like. A common experience in my work career was an increasingly irritated&#x2F;impatient manager that I had not gotten &quot;anything&quot; done, followed by surprise that I had solved problems they didn&#x27;t even know they were going to have. You don&#x27;t get credit for knowing more than you &quot;need&quot; to know to accomplish a task. (Well I would give credit for that to people who worked for me, but it was rare that someone I worked for to credit that).<p>So two answers;<p>In your job, stop when you know enough to make progress to please your task masters.<p>In your life, never stop learning new things.
davzieabout 3 years ago
About six inches.
DonHopkinsabout 3 years ago
The Church of the Subgenius has a useful concept called the &quot;Short Duration Personal Savior&quot; (or ShorDurPerSav, the proper Tibetian term):<p><a href="https:&#x2F;&#x2F;subgenius.fandom.com&#x2F;wiki&#x2F;ShorDurPerSav" rel="nofollow">https:&#x2F;&#x2F;subgenius.fandom.com&#x2F;wiki&#x2F;ShorDurPerSav</a><p>&gt;In the Church of the SubGenius, SubGenii often worship Short Duration Personal Saviors (ShorDurPerSavs). ShorDurPerSavs offer all of the features and services of regular personal saviors, but are disposable. Thanks to their planned obsolescence, no SubGenius worships the same ShorDurPerSav for very long before switching to another one. The most common ShorDurPerSav is J. R. &quot;Bob&quot; Dobbs, followed by Connie Dobbs and then The Fightin&#x27; Jesus. Other common ShorDurPerSavs include Jehovah 1, Francis E. Dec, Eris Discordia, Adolf Hitler, Emperor Norton, The Bleeding Head of Arnold Palmer, Robert Anton Wilson, L. Ron Hubbard, Alien Sex Goddesses, Satan, the number 23, Barack Obama, and Cthulhu.<p>&gt;[...]<p><a href="http:&#x2F;&#x2F;www.subgenius.com&#x2F;bigfist&#x2F;goods&#x2F;shordurpersavs&#x2F;X0012_ShorDurPerSav_Lesson.html" rel="nofollow">http:&#x2F;&#x2F;www.subgenius.com&#x2F;bigfist&#x2F;goods&#x2F;shordurpersavs&#x2F;X0012_...</a><p>&gt;From: Purple Kitty &lt;pkitty@netcom.com&gt;<p>&gt;-= SHORT DURATION PERSONAL SAVIORS - A LESSON =-<p>&gt;BEGINNER LEVEL - CLEARED FOR ALL BOBBIES - BEGINNER LEVEL - CLEARED FOR<p>&gt;Shockingly, some Bobbies are still unclear as to what a Short Duration Personal Savior is. The concept of the Short Duration Personal Savior (or ShorDurPerSav, the proper Tibetian term) is a new one-- traditional religions tend to emphasize &quot;unwavering servitude&quot; over convenience. But is absolute devotion to one savior always best? Buddha is a wonderful role model for certain aspects of life, but when that po&#x27;bucker shoves you out of the way as he walks by, don&#x27;t you wish that you worshipped George Foreman instead, if only for the next few minutes?<p>&gt;Well, you can! The Church of the SubGenius heartily endorses the concept of disposable saviors, or ShorDurPerSavs. Choose your messiah to fit the situation. If peace and compassion are what you need right now, follow the teachings of Gandhi. Later, when you need to cut a business deal, emulate the wisdom of Sam Walton. When you need a witty remark on the spot, let Samuel Clemens into your heart to inspire you. And when you need Slack in your life, sell your soul to &quot;Bob&quot;.<p>&gt;&quot;Bob&quot; is the most frequently invoked of our infinitely varied Short Duration Personal Saviors, with good reason. He has Slack--he IS Slack. He symbolizes the &quot;easy life&quot;, where one follows the Path of Least Resistance and gains Slack effortlessly. But no one is expected to worship &quot;Bob&quot; 24&#x2F;7! If you&#x27;re trying to get that PC to work, choosing &quot;Bob&quot; as your ShorDurPerSav will hinder you far more than helping you! &quot;Bob&quot; couldn&#x27;t use a PC if he wanted to (though he sold more of them last year than IBM and Packard Bell put together)! Read through Stephen Levy&#x27;s _Hackers_ and let the TMRC be your ShorDurPerSavs! There ARE no limits!<p>&gt;[...]