Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"Knowing CS makes you a better developer."

I'm not convinced of this at all (this is the first time "citation please" popped into my mind, and I hate that response :). Of course, there are some problems that have a strong need for erotically background, but those positions tend to require a graduate degree.

On the other hand, I've seen self-taught engineers who have far more passion for developing software, which seems (in my experience) to correlate more with engineer productivity.

I have a CS degree from an institution that has an extremely strong theoretical computer science department. I value my degree and the knowledge I gained to get it, but, beyond getting me in front of hiring managers early in my career, I don't think it particularly made me a better developer. A little understanding of algorithms and data structures (much of the need for which is obviates by today's VMs and libraries) and some understanding of what is really going on under the hood (again, not as helpful in the VM word).

For me, a degree is a nice-to-have, but you won't get hired if you can't convince me you are a good learner.



> [..] there are some problems that have a strong need for erotically background [..]

DYAC? I'm sure you meant "theoretical" background there :)


Wow, that's the worst my iPad's keyboard has ever bitten me. Umm, let's try again: "a strong need for a theoretical background".

I had a feeling I should have proofread that one. The small box makes it annoying, though.


Auto-spell correct, FTW!


I'm not talking about self-taught vs. college educated. Computer science can be self-taught. You can buy all the books at a regular bookstore and you don't need special lab equipment or anything. If you're a self-taught developer with a passion for the profession and you're a good learner, you'll probably end up learning some CS along the way.


I still don't see a correlation (we certainly agree on whether a particular slip of paper is useful), so let's turn it around: what is it about computer science (in the realm of Big-O, lambda calculus, Turing machines, discrete mathematics, and such [obviously I've left a bunch out and intentionally started on the more theoretical. Feel free to ground me in somewhat more useful CS.]) that you think makes for better developers?

I totally agree that an attitude of self-teaching makes better developers. There is a lot in the application of CS, but I would call that Software Engineering.


Well there's breadth of expertise. Part of CS is systems, which includes networking, operating systems, compilers, and so forth. If you're making any of those things or leaning heavily on them, you want to hire people who are grounded in those fields. Same goes for things like AI, machine learning, data mining, and so forth.

More generally, having seen more kinds of software kind of broadens one's way of approaching programming problems, so even if you don't directly use anything you see when you study operating systems or compilers or AI, you can grab vague approaches and ideas from those fields.

If you're interested in writing performant software, you'll care about big-O, algorithms, and data structures. Understanding algorithms and data structures enables you to intelligently choose and apply them even if you don't have to develop them from scratch.


Check out the Russ Cox articles on how google code search worked http://swtch.com/~rsc/regexp/




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: