When working with a technical problem or product, when to worry about knowing all the details and when not to? I asked myself this question, and tried to answer it myself. Here are some of my thoughts.
There is no black and white, but it’s safe to say you haven’t learnd enough until you know a lot of details. But just knowing is not mastering. Knowings become skills only when they are in your muscle, bone and gene. Based on this assertion, I would say a good way is, as a beginner of anything, to be as focused as possible, i.e. dive deep. Don’t just talk shallow concepts, stop at the surface. Put it simply, neglecting details means you’d inevitably miss fundamentals, or things that really matter in the long run.
We can learn a Chinese dish from a recipe and replicate the taste fairly well through using precise amount of ingredients and way of cooking – how much heat, how much time, etc. But just doing this mechanically, not knowing the subtle difference if adding salt a little more or a little less, cannot teach you the art of using salt. The same to any other ingredient, which, if you did study and experiment carefully one by one, rather than always treating the recipe as a whole, would greatly help your cooking in many other dishes.
Once you are very familiar with something, then it’s also good to try to jump out from the details, abstract them away under a contract or convention, then focus on the abstration. Because the abstraction and the model are the essense of a problem. Understanding the core principle is much more useful than knowing one answer to one problem. Only ever focusing on details and specifics, while missing the big picture, stops you from learning more. This is why many people find it hard to break through their ability level, because they are repeatedly solving specific problems, such as, implementing APIs over and over again, without even trying to identify and understand where the next level is.
This can happen easily if all you look at is part of the whole picture – just one leaf on a tree, or just one tree of the whole forest. Don’t forget, even when you have seen the whole forest, there are mountains and oceans. There is always a bigger picture, so you need to know when to lift yourself out from the problem at hand, and stand far to watch what you’ve been doing in a bigger context.
Working hard on one problem in a great depth isn’t the opposite of having a broad view. They live together very well. However, one better approach, in my opinion, is usually to go deep before broad. It’s easier, more natual, and guarantees a better reward to the efforts.
You don’t have to find out all the details whenever you go into a new area or topic. Because, that way, you’ll only be able to explore a few specific topics – the human kind has accumulated too much over hundreds and thousands of years, the existing information and knowledge is massive. Breadth is only possible when you know how to limit the depth.
So we have to constantly make choices, evaluate and decide when to stop. Should you continue digging? Should you hand the rest to other experts? Should you just re-use what is already there without knowing absolutely everything under the hood?
Everyone knows it’s reasonable to just learn to drive without knowing how internal combustion engines work. The same applies to many things in life, research and career. Applied technologies are all about making things useful and reliable by many people who are not the scientists of the underlying field. Someone has to know the details, but far more people just need to know the usage, benefits and perhaps some idea about the technology internals, for instance, your engine typically needs a spark plug if it takes petrol.
It’s not most people’s job to worry about technologies, unless it’s within some products they make.
In other words, ChatGPT are great because it has made it avaiable to everyone who cannot even properly explain how many different types of artificial nerual networks exist (me included). It’s the way human civilization develops, one’s specialty is meant to benefit the general people.
Above all, learning is better driven by interest. Take the advantage of passion is the first priority. Then, a deep focus on a few things plus a general focus on many related things probably can be the best way to strengthen you skill set.