HACKER Q&A
📣 silent_cal

Can you “teach yourself” Computer Science?


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?


  👤 awb Accepted Answer ✓
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.


👤 JohnFen
> 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.