4 ms·
> average programmer assumes that PhDs in freaking computer science can't code. Average programmer here. PhDs in computer science can't code. Ok, it's an over
by sfink 5y ago
> average programmer assumes that PhDs in freaking computer science can't code.
Average programmer here. PhDs in computer science can't code.
Ok, it's an overgeneralization. And it's probably based on a flawed sample of job applicants that make it past HR screening to get to me. The base rate of applicants who can't code is disturbingly high, probably around 20%. (Not that high numerically, but given that they've passed pre-screening and have something impressive-sounding on their resume, it's too high.) The rate of applicants with a PhD in CS who can't code is way higher, probably around 60%.
Note that these tend to be fresh graduates. And it even makes sense -- most theses require just enough coding to prove a point or test a hypothesis. In fact, the people who like to code tend to get sucked into the coding and have trouble finishing the rest of their thesis work, which may start out interesting but soon gets way less fun than the coding part. Often such people bail out with an MS instead of a PhD.
(Source: personal experience, plus talking to people I've worked with, plus pulling stuff out of my butt.)
At the same time, many of the best coders I know have PhDs.
> Implementation and edge cases are the easy part, the hard part is design and algorithms.
Hahahaha. <Snarky comment suppressed, with difficulty.>
I agree that design and algorithms can be hard. (Though they usually aren't; the vast majority of things being built don't require a whole lot.) But the entire history of our field shows that even a working implementation Just Isn't Good Enough. Especially when what you're writing is exposed in a way that security vulnerabilities matter.
Though it's a bit of a false dichotomy. Handling the edge cases and the interaction with the rest of the system requires design, generally much more so than people give it credit for. Algorithms sometimes too, to avoid spending half your memory or code size on the 1% of edge cases.
- rswail 5y agoPhD CS scientists shouldn't have to be able to code. They are exploring the science of computing, not the implementation. Developing queueing theory doesn't make you a great coder for Kafka environments. Working on file system design and new innovative data structures (a persistence and retrieval environment) has nothing to do with writing kernel drivers. On the other hand, a lot of SE graduates dont want to code, because they think there should be code writing tools and frameworks and infrastructure and process. They'll spend endless hours talking about those things and focusing on their own needs instead of the actual purpose of the code they're supposed to be developing.