There are only two types of people in this world. I know how narrow-minded it is to make that statement, but am a narrow minded prick, so excuse me and let me make my point. Where was I, oh yes. There are only two types of people in this world. People with a fixed mindset, and people with a growth mindset. See, that is absolutely correct, although "narrow-minded" as you might say. A person with a growth mindset is one who believes in growth, in almost every sphere of their lives. A person with a fixed mindset believes that were are born a certain way, and end up living that way our entire lives. We are who we are... But some of us, are people with a growth mindset, while others are people with a fixed one. Enough Mumble Jumble...
The hardest thing about tech is that it is continuously changing. New technologies are being created every day, and the only way to stay relevant is to learn about these technologies continuously. Trying to keep up with everything in tech will burn you out faster than any other field. And this is what makes tech particularly interesting to a small subset of people, and abhorrent to the rest. Some people want to go to college for four years, get their degree, and never ever have to pick up a book ever again their entire lives. The feel as if they have served their time, and just want to cruise on from that point onwards. Such people cannot survive in tech. Nope. Not even for a year.
Other people are lifelong learners. They are always continuously learning new skills, attending workshops and boot camps, and enrolling in courses every so often to keep their brain sharp. Now these people can do well in tech. These people also tend to do well in all spheres of life, and become the best in their respective fields. The major distinction between a fixed mindset and a growth mindset is the belief in expansion. Some people believe intelligence is fixed. Others believe that it expands. Some people believe they just suck at one thing, others think that they can become exceptional at things they suck at. That is the only distinction between people.
Now, that I have wasted a minute or two just explaining to you thing boring dichotomy of how I view the world, let's get to the steak. "Learning" and "learning how to learn" are two different things. The academic system, especially up to the undergraduate level, is crap, dung, and s#!t all mixed up in one. They never teach us how to learn. They teach us how to pass exams. So, the student getting an A and the student getting a C, tend to be the same. Only that one knows how to cram a lot of things and has phenomenal short-term memory, while the one getting a C sees the school for what it is. A perfect waste of time. That's why in most cases, C students tend to employ A students.
The first time I fell in love with learning was after I graduated from college and started creating a reading culture. Learning with a purpose is the ultimate form of learning. If I start studying with the sole aim to pass the exam, that is my purpose for learning. After passing the exam there is absolutely no need to retain that information now or is there? But what if you are learning a new skill that you hope to use for the rest of your life? Will you just memorize random facts and retain them in your short-term memory? Will you learn something because everyone else is learning it? No. The way you learn when you are learning with a long-term time horizon in mind is very different from how you learn when you have a short-term time horizon in mind.
In college I never went to class. I spent most of my time in bars drinking, smoking weed, and occasionally with a girl or two. Then two days before the exam, I would pick up all the handouts for that course and start using acronyms to cram the entire syllabus into my short-term memory. And for the most part, I almost memorized everything. Not a day in my life in college did I ever cheat. I just walked into class with a bunch of songs in my mind, which were representative of the answers to each topic covered throughout the semester. Although I passed, not exceptionally of course, I cannot tell you a single thing I learned in college. Not One. Well, except that drugs are fun until you become addicted and need to go to rehab to kick the habit.
However, since I joined the tech train, I have learned a lot of things. Like a lot. But I often find myself in the same boat. I learn a new framework, but forget about it instantly. Do you know why this is the case? Back to my initial argument, the problem is simply the time-horizon. When you are learning something new, you need to ask yourself a very simple question. For how long do I need to retain this knowledge? If its for a simple project that you will forget about, well fine. But in my experience, it is much better to solely choose to learn things that you hope to use for the long-term.
I will give you a simple analogy. I have studied Django and React and understand the syntax pretty well. But I have a much deeper understanding of Python and JavaScript because I will use these languages for the long term. Next month, I might have to learn a new JavaScript Framework, such as svelte, or pick up PyTorch when I start working with AI models. Or learn Fast API to make APIs faster, instead of Django. But I will still be using JavaScript or Python. If you have to pick up a short-term tool, well good. Pick it up. But if you have the choice, always choose the tool that you can specialize in and become proficient in.
If you want to learn things well, learn for the long-term. Not the short-term. Learn to learn, not to cram. If you need to know whether you should learn a new framework or not, don't do it because the entire industry is learning it. Learn it because you see its longevity or you see yourself using it for the long-term. If you have to learn a framework that abstracts much of the core concept of the language used, take it slow. Learn the language first, understand the fundamentals, then pick up the framework. Because when the framework's fad has passed, guess what you will be left with: the language itself, and you can pick up another framework that uses that language in less than a week. If you want to learn about machine learning models, don't run towards frameworks and APIs that abstract much of the foundational mathematical knowledge required. Learn the math, then pick up a framework. Understand the fundamentals. Learn from the ground up. Learn with a long-term perspective first, then a short-term after. Do the work. Learn to Learn. Peace out!!!