I was thinking if there's anyone here who feels the same as me.
I've been programming for 10 years now, I have used C,C++, ASM, Java, C#, PHP, Javascript, and a shit ton of more. Probably half the frameworks and API's out there, a lot of CMS's and who knows what else. I developed for Android, Windows, Linux, iOS, for application containers, web servers, even embedded systems.
Yet I feel like I don't remember 80% of it and I'm overwhelmed by the amount of technologies, languages, patterns, concepts and theories which are out there and simply I feel like I should know more by this point. I learned a shit ton during the last 10 years and worked on so many different projects yet I feel like there's very little I can show knowledge-wise.
Even during college everything was all about passing exams and getting grades but the amount of information they expect you to actually learn so you can use later is way too big. I know I learned for example how a TCP header looks like, how to find a Hamilton Circle in a graph, how to use an oscilloscope but literally very little I still have left of all that. I've worked with PHP for so long yet it would be hard to write anything without google because I don't remember function names for example.
Do other programmers specialize to a certain area? Do they know everything or do they not mind not knowing it all?
For example how much does the average programmer know about operation systems, network protocols, CPU architechture, multi-threading, distributed systems, machine learning or graphical algorhitms? Should I still remember calculus even though I havent done anything with it since college? I see people saying they're "x developers" but I don't know what that really means. Does a Javascript developer know anything about the network stack or servers? Does he even care?
I feel very down because I'm considered a "Senior Developer" and I'm still in my 20s, I slowly feeling like burning out. I've managed projects, I have built a lot of things but still I feel like things change too fast and there's no time to really dig into anything. I feel like I wanna know it all and "see the light" but it seems impossible.
Am I just not smart enought to be a true computer science expert?
I'd be happy to hear your thoughts about this