Learning Through Pain Points

I remember when i first got into web dev. I realised that i can search my queries and get the answers. But once you are into the rabbit hole of debugging, you do learn a lot and still not get the issue fixed. That is quite common for all devs. Once is a while you get solutions that will solve your problems that you haven’t even face.
Let me give you an example. In the beginning the toughest task for me was how to setup a MongoDb database. I thought it would be super easy. It was not. I had to create an account, setup billing, create cluster, and what not on a pretty slow website. This would lead to procrastination. Now, finally after a day or two i did it. i would get random error connecting to MongoDb. I would search through the errors, try to solve it. Obviously i was making mistake in the syntax of the connection string.
The thing was i would face the same problem, again and again. This would become a great pain point in my learning process.
Now, think of doing the same with other databases Postgres, MySQL, Neo4j, TigerDB, and Redis.
Then in the Stackoverflow Forums i would see this word again and again. DOCKER, followed by a ORCHESTRATION, CONTAINER.
I would stop myself from learning new tech(Docker in my case), because
Didn’t had the time
More focused on learning concept, or in my case mongodb
would that work with my hardware(windows)
After few years, I learnt used docker. I had to deploy something for my company and i had to just go through the process.
Docker reduced my procrastinating time.
I am always asked this one question again and again in tech. Why do we have to learn so many things?
In tech, we try to solve for scale, performance and availability. We have to learn the tech, and with time you get to know the tools as well.
Problem starts when we start learning the tools. Tool learning highly dependent on the problems that you have faced.
When you are asked ( in interviews) about virtualisation for performance in react, people wanna know if you have faced that pain points or not. And this Pain Points come when you have worked with something that scale. ( this is what i think, interviews are crazy )
Learning tools without having those pain points, would lead to shallow understanding. Wouldn’t compound as well. Docker might compound your productivity. You wouldn’t become a successful engineer, just by learning docker, you have to used it. Use it to solved your Pain Points.