3 ms·
I disagreed with the article mentioned by Stephen too. Computer Science is not about learning to code, it is a degree in problem solving. It teaches one how to
by arihant 11y ago
I disagreed with the article mentioned by Stephen too. Computer Science is not about learning to code, it is a degree in problem solving. It teaches one how to think about problems. In that, it's almost liberal arts. It's a science of process. It is not a degree in coding. Too many people can code.
Yes, it is entirely possible to learn the fundamentals of problem solving in an alternate field. But if not, computer science degree is a damn good way to get there. Long term love of coding is no substitute for it.
There are a lot of great ideas in Computer Science that are very hard to learn all on our own in a short amount of time. One cannot just hire a long-term user of telescopes as an Astronomer.
Besides, even if the position disregards the importance of problem solving skills, CS teaches a lot of underlying stuff that almost none of the self taught programmers I know have yet learned. That might not be important, but is incredibly valuable when shit hits the fan. Maybe there should be simpler resources to learn computer systems on our own. Knowledge of what's going on is not very common.
- seiji 11y agoCS teaches a lot of underlying stuff that almost none of the self taught programmers I know have yet learned There seems to be two approaches to knowledge acquisition: school method vs. self-taught method. School method: learn everything you can, then learn to ignore what doesn't matter since you probably know a lot of things now. Self-taught method: know nothing, only learn exactly what you need. (e.g. try to do something. learn what you don't know. make one thing work. now you have a very narrow knowledge. repeat process until your goal is obtained.) The self-taught method still produces capable people, but sometimes their capabilities and experiences are more narrow than others who have been through purpose-designed curricula. The self-taught method is also a favorite of YC. Who needs business school when you can learn it as you go and pay people to understand parts you don't comprehend? You probably won't hire a YC self-taught-CEO to run Bank of America or JPMorgan, but they can competently bounce around startups for the next 20 years with no problems.
- arihant 11y agoI agree on self-taught method, don't get me wrong. Which is why I said I wish there were better resources. But what is missed from the argument is that any good CS program includes a lot of self-teaching. You're expected to write an OS, large torrent softwares, networking protocols, parallel systems that run on supercomputers, distributed databases like Hadoop, web apps like Twitter. And that is just the top of my head. And most of these extended projects don't have any top end requirements. They only have minimum requirements which is pretty high. And people usually try to one up everyone else. Not to miss that self-taught method almost completely neglects theory method, a lot of the times. Ask a self-taught programmer if his algorithm could be made better, then wait a couple years till he learns huge amount of discrete math, complexities, and proving optimality before his answer can be trusted without everyone else looking. Again, not everyone values these skills. And that's OK. The article was written in reponse to a guy who said he won't hire CS graduates.