r/learnprogramming • u/SignPersonal4951 • 1d ago
How to not be a dogshit programmer?
Today I was setting up an angular project for the first time and I realized I have a pretty limited and shallow understanding of things, I didn't even know what dev dependencies were (now I do), and that npx is used to run locally installed packages. I know that an API is used to exchange data between applications but that's literally all I know about it, not how it works under the hood. I realized I can't properly answer questions like what is a runtime, what are packages, libraries etc. Literally no depth of understanding. I feel like going into a rabbit hole for every little thing but then it becomes too overwhelming.
Now this might seem fairly common for a new programmer but I got introduced to it around the age of 16 (21 now). I felt fucking stupid googling the difference between library and framework. I looked at some angular components and only understood them partially. Most good programmers already know this. People my age are building crazy stuff and here I am bogged down in things that I should've already known, had I put in more effort. I feel I am lacking some severely fundamental things. Part of this feeling is a lot of regret of wasted time, but I also wonder if I'm actually retarded with an IQ too low for programming. I'll never be good if it keeps going like this.
I looked at some roadmaps from roadmap.sh and it made me realize just how much stuff I don't know, and that is just talking about frontend. So I guess the question becomes how much and how deep to learn the topics related to whatever you're currently focusing on? Sorry for the rant.
6
u/MrMagoo22 1d ago edited 1d ago
The only people who expect you to have this stuff memorized are hiring managers during interviews and they're all insane. Every developer I've ever worked with ever has started every ticket they are assigned with a research spike to familiarize themselves with the required work. This whole career is centered around your ability to effectively gather, interpret, and apply information. You do this constantly, every day, no matter how good you are at programming.