5 ms·
There is more harm in the notion that there is anything at all that absolutely everyone needs to know to succeed than there is benefit from the contents of such
by stiff 11y ago
There is more harm in the notion that there is anything at all that absolutely everyone needs to know to succeed than there is benefit from the contents of such lists themselves (which boil down to "everyone needs to know what I know").
To succeed, all you really need to know is enough to be able to do meaningful contributions to society in any way whatsoever. This is all there is to it and there are thousands of individual paths that lead to this. In fact, many of the most successful people specialize early, devote themselves to a single project or group of projects and spent the rest of their professional lives on it. Do you think John Carmack knows much about visualization, databases or cryptography? Does Linus Torvalds care about Scala, Haskell or Prolog? People love what those guys have created, so they have succeeded, it is as simple as that - nobody examined them for knowledge of 25 unrelated areas, instead they have built for themselves a useful toolkit of skills for their particular goals. It is not worth it to spend your life chasing some abstract platonic ideal of an uberprogrammer who knows everything about anything - in fact such attitude is detrimental to success.
- bottled_poe 11y agoThat's great, but who said anything about success? The article is about how to be a well-informed computer scientist. This guide will put a graduate in a great position and open up a lot of opportunities. Whatever "success" means is only loosely related.
- stiff 11y agoFrom the article: I've tried to answer this question as the conjunction of four concerns: What should every student know to get a good job? What should every student know to maintain lifelong employment? What should every student know to enter graduate school? What should every student know to benefit society? For all the four points listed the attitude of focusing on some checklist covering everything is not really the optimal strategy. For graduate school you may need to pass some broad exam, but afterwards in turning towards research you also want to be much more picky about what you choose to learn and stick to learning mainly (but not necessarily exclusively) things that are likely to help your particular goals. You should think of learning as of investing and learn things that you are likely to have some use for in the future or ones that you simply like learning. Things that you learn but that you have no long term use for or passion for you will promptly almost completely forget and the time and effort you spent learning them will simply be lost.
- deleted 11y ago[deleted]
- Matachines 11y agoFor getting a good job/lifelong employment this list seems way too long and broad. I'd argue better time is spent actually building stuff in your area or language of choice, networking, taking internships and jobs, and practicing—not reading books about unrelated subjects. I'm still in my early 20s, so I could be wrong, but I don't think you guarantee lifelong employment by just having a laundry list of subjects you read about.
- unexistance 11y agoCould not agree more, we really need to go away from the notion of doing 'IT' just for the sake of it, and use our computer knowledge to solve a problem (make sure the problem is real first). Which is why most of the awesome programmers I've met, NOT a major in IT, self-thought and actually used the computer as a tool to solve a problem.
- cbd1984 11y agoNo, doing IT as a hobby is still very valid. After all, it's where Linux and Unix both came from, as well as the Web.
- kelnos 11y agoOoof, very much agreed. I studied electrical & computer engineering in college, and went on to work in software instead. I was a bit overwhelmed by most of this list, even though I consider myself a fairly successful software developer. And then I got to the computer architecture section. Given my background and my time away from ECE, I've forgotten more about comp arch, semiconductor physics, and microprocessor design than most CS graduates I know have ever learned. And I think that's completely ok. Even most people I know (including past-me) who work on software for embedded systems don't really need all of that, though a healthy dose is helpful.
- msandford 11y ago> Given my background and my time away from ECE, I've forgotten more about comp arch, semiconductor physics, and microprocessor design than most CS graduates I know have ever learned. I feel you on that one man. I bombed a lot of interviews because I didn't memorize all the trivia. I've implemented a basic CPU in VHDL and wired up a whole computer out of a single microcontroller and I know all about the cache and TLB and ILP and all kinds of low-level stuff. But those questions never seem to come up in interviews.
- ska 11y agoI expect they come up all the time, in interviews for sufficiently low level positions. There are far more relevant things to ask in the vast majority of software interviews, though. Ignorance of the existence of memory cache or its impact isn't a good thing in an application developer, of course, but known VHDL or semiconductor physics isn't a good predictor of success in that.
- msandford 11y agoIf you're writing a web-app knowing how the TLB works is just as relevant as knowing how a red-black tree works. Which is to say, not very. > but known VHDL or semiconductor physics isn't a good predictor of success in that Sure, I'll grant that. But I would also argue that a lot of what people are doing to interview isn't a great predictor of success either. Data structures and algorithms are important in some jobs, but knowing how to use git, automated deployment, testing, and shipping products or features seems a lot more relevant to job success than the "how to tell if there's a loop in a linked list in linear time with constant space" question that everyone seemed to love 5-10 years ago.
- collyw 11y agoAs someone with a useless line manager I would say all you need is to bullshit your way through the interview enough to get the job.
- jayvanguard 11y agoI agree, this list is way overboard. It is far too broad and too deep in too many areas. You need to implement RSA? But then just a couple vague paragraphs on databases?