Comment by HiPhish
15 hours ago
It takes a lot of humility and strength to admit this. Kudos to the author.
I was similar to that in the past, chasing tutorials and only having half-baked knowledge. What shook me out of that was this article: https://fabiensanglard.net/c/
I'm going to start with the things I didn't take too seriously: Internet tutorials, blogs and almost anything brought by Google (yes, it includes this article). I usually considered those sources unreliable and potentially harmful.
Like a lot of people in the industry I used to Google way too often. Overtime I found the illusion of speed and the inaccuracy of the answers to be counter-productive.
No website is as good as a good book. And no good book is as good as a disassembly output.
This set me straight and got me to look into actual authoritative sources. Instead of tutorials read a proper book. Don't scrape StackOverflow, read the reference documentation. Learn to write automated tests instead of randomly poking around in the application. The thing is, I did not even intend to learn C, but after reading that article and other articles on that website I accepted that if I want to get good at programming I should start with the fundamentals, and C was a good starting point. It was the first language I actually learned properly.
Knowing the literature is criminally underrated. Nobody even asks for it anymore. I used to ask candidates when was the last time you implemented something described in a paper or textbook, and walk me through how you did it, and after 2010 or so, people stopped even being able to come up with an answer. I've worked with junior developers who get stumped with basic things like what units or format for arguments to pass to some SDK provided function, and they try everything besides reading the official SDK docs.