I had an interesting thought today while following some C# tutorial on Udemy. You know the phrase: “Don’t run before you can walk”? Its meant to warn against doing something too advanced before you can do something simpler. To put it another way, have a solid foundation, don’t overstretching your capacity, don’t fly too close to the sun.
I think the phrase is generally true, but perhaps not fully in this rapidly advancing world of ours. With the advent of powerful search engines, and Q&A forums, it is perhaps appropriate to append something else:
“Don’t run before you can walk; but fly as soon as you can run”
Peter Drucker, the famous management theorist, once noted the necessity and importance of life-long learning:
“The only skill that will be important in the 21st century is the skill of learning new skills. Everything else will become obsolete over time” - Peter Drucker
This message is perhaps most salient in the software engineering world. Tech stacks are constantly evolving. It seems like a new Javascript library is born every couple of weeks. Although some fundamental skills are transferable and evergreen, there will inevitably be skills that are not. Programmers are finding themselves in a constant need to learn new things, and keep up with the latest trends.
In the programming tutorial circle, there is a concept known as “Tutorial Hell”. It’s a phenomenon where you watch one tutorial after another, without ever building something on your own. Although following step-by-step tutorials might seem productive, the learning rate is linear, and eventually tapers off to near zero.
Most learning comes from trial and error. Imagine trying to learn a new language like Spanish. Yes, Duolingo may be helpful in the beginning, but eventually you would need to immerse yourself in the language. Speak Spanish to other people, listen to Spanish podcasts, watch Spanish films, read Spanish articles. In other words, following tutorial is necessary, but not sufficient.
This brings me to my point! There was a time - before the internet - when the only source of learning comes from textbooks or university classes. If you ever run into a problem, you need to physically go to a library, and flip through volumes of textbooks. If you are lucky enough, you would have access to a subject matter expert to whom you can ask questions.
In other words, the latency between “having a question” to “getting to a solution” is too high for any dramatic over-extension of your capacity.
In the modern world, I would argue we want to deliberately overextend! Get yourself confused! Try projects that you know you can’t build (yet). Equipped with tools like Google and StackOverflow, we should aim for exponential rate of learning!
There is no need to worry about flying too close to the sun! You have a jetpack! Not some flimsy wing made with bird feather and wax. With just a few keystrokes, you have access to thousands of experts online in the form of Google, Stack Overflow, Quora, and etc. (and now ChatGPT…). What a time to be alive!