3 ms·
I've worked as a developer for 10 years. My anecdotal experience is that 4 years of undergraduate Computer Science does not impart any special skills regarding
by spamizbad 11y ago
I've worked as a developer for 10 years. My anecdotal experience is that 4 years of undergraduate Computer Science does not impart any special skills regarding performance. I found myself routinely refactoring code written by CS-degreed programmers who would do silly things like put a database query inside 2 nested for-loops.
I even had one case where a degreed dev looked at perfectly fine code and said "Oh there's a faster way to do this..." then proceeded to implement a solution that was literally 500x slower, but checked it in anyway, not bothering with any before/after performance benchmarks, just assumed his stuff was magically faster. The culprit: His solution was very greedy with network traffic (but was arguably more computationally efficient). Didn't matter tho, it was slow as dog.
Undergraduate Computer science will teach you how to measure how much arbitrary work it takes to complete something but AFIAK it does not seen to teach you a very good job of how to actually look at a specific problem and optimize the work, memory, or external latency-intensive resources... that must be learned by critical analysis of actual code.
- MichaelGG 11y agoIt's probably prefixed with "good CS" and also filtering candidates. I've interviewed several folks, some with masters in comp sci, and they were utterly oblivious to even basic algorithms.
- edgyswingset 11y ago> that must be learned by critical analysis of actual code I agree fully, and won't ever deny that many students simply either never do this or never do it effectively. There are courses which teach this however (such as OS), and many of them are required for a degree. I feel that the likelihood that someone with a CS degree has had these good practices ingrained in them is higher than someone with no background in CS. In other words, it's a safer bet.