I find that when I am trying to learn something high level I end up worrying about problems that are out of scope like how is this thing implemented etc.

For example, when I am learning Python's Twisted, I end up thinking how can Python define things in such a manner and stuff which leads me to worry mostly about internals of language instead of the problem at hand!

However, I can take another approach where I accept the abstraction and say "OK ... TCP does this ... I need not know more and accept TCP connections are handled when I give this command ..." and carry on with my work and then worry about these things later on?

What exactly do you guys follow? I am perplexed to see many of them so good at both these things, while I just seem to be having a hard time with both :)

Do you really learn topics with abstraction or do you go under the hoods stuff as much as possible?

Maybe you could say I am facing a problem of over-design which is a big problem and need some help to solve this :)

  • Question belong on programmers.stackexchange. Voting to migrate. Commented Apr 10, 2011 at 12:14
  • Heh, my curiosity almost always wins. I will just dive in an learn how the internals work. :) Commented Mar 7, 2012 at 8:39

1 Answer 1


Your desire to understand how things really work, in my view, is a healthy drive you should indulge when you can. It's also probably a bit of anxiety you're feeling about learning something new, which is also natural. Wanting to see the details of implementation is a sign you are not confident in your understanding. Let yourself look at some source code now and then to remind yourself the thing you're studying is real.

The simplest way to satisfy your curiosity though, especially with a framework, is to write tests against the API. You can gauge anyone's grasp of a framework by reading their tests. Most labs you'll see in a industry tech course, in fact, are just simple test cases.

If you really need to save time -- and thinking about internals will certainly eat it up -- write questions down as you go. Asking questions that are eventually answered by further reading or tests is a classic symptom of learning anxiety. In this industry especially, people worry all the time about not learning fast enough. Slow down, consider how you would test the concept you're currently absorbing, take a 5-minute break. If you sense that you're anxious, then beware of looking at source code. In that case, you might just be trying to distract yourself from learning with an activity that is simply more comfortable for you.

  • Thanks for that mfe . I feel reading source code often leads me to investiage more as asbtractions these days are so huge in techonology that it seems hard to uncover .
    – Nishant
    Commented Apr 10, 2011 at 16:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.