Ask HN: Can you “teach yourself” Computer Science?

1 points by silent_cal ↗ HN
I've been a developer for several years now, and I'm at the point where I am pretty good at programming and problem-solving with code.

However, I never formally studied CS and I feel like this has left large gaps in my understanding. I don't have a strong grasp of fundamental CS topics like compilers, operating systems, object oriented design, algorithms, etc.

I want to address these gaps in my learning so I can become a better developer. My first instinct is to go to free resources online, but I'm not sure if it's really possible to get a good understanding that way, or if it would take too long. The other option would be to apply for something like Georgia Tech's OMSCS program to get more intensive and formal training.

What are your recommendations for me? Is it possible to "teach myself" the foundations of CS? And if so, is it even necessary?

5 comments

[ 2.9 ms ] story [ 204 ms ] thread
I’m a self-taught developer. I’ve built dozens of apps for successful startups and then started my own dev shop where I hired dozens of engineers. I never had a formal CS education and I never looked for that in a resume.

If you’re doing anything web or mobile related it’s not necessary to study traditional CS.

I know you can build applications without knowing traditional CS because I've been doing that too, but do you ever have the desire to really understand what's going on?
Not really. I’m goal oriented and it doesn’t help me achieve my goals. I have a basic understanding of traditional CS through a course in High School and watching some YouTube videos, but I’d much rather explore and practice new web & AI tech with my time.
> Is it possible to "teach myself" the foundations of CS? And if so, is it even necessary?

Yes, it's not only possible, it's not even that rare. And it is necessary.

You teach yourself this stuff the same way you'd learn it in a classroom. Study books and quality websites on the topic. And, mostly, practice practice practice.

Thank you. Do you have any book recommendations?