Even if CS doesn't directly translate, if you can jump through the mental hoops, it likely predicts success in software engineering. You will likely do well in S/W Engineering if you have a high IQ and you have attention to detail. Since it is illegal to filter people by IQ in the USA, you have to jump through an expensive hoop to prove you have a high IQ, which also happens to vet for attention to detail and ability to focus on tasks. There is no reason that s/w engineering couldn't be taught using an apprenticeship model after doing an IQ test, but the later is illegal.
I do agree though that somebody wanting to enter a software development role might as well skip the CS degree and learn the basics to enter these 'entry level' dev jobs while learning the more complex stuff in parallel to level up
I'm sure the reason it's not done is because it would be an extremely bad predictor of success in a job, not because it isn't legal.
> … in Griggs v. Duke Power Co. (1971) [1], … the Supreme Court ruled that intelligence tests, because they were not shown to be directly related to job performance, could not be used in hiring since blacks scored lower on them, and it did not matter whether there was any intent to discriminate.
> [1] https://en.wikipedia.org/wiki/Griggs_v._Duke_Power_Co.
* https://en.wikipedia.org/wiki/Wonderlic_test * https://en.wikipedia.org/wiki/Army_General_Classification_Te... * https://en.wikipedia.org/wiki/Intelligence_quotient
Not saying there's any relevant analogy to CS.
What in the dickens is that? A graph of instantaneous force production?
Yes, but I imagine most people that got (some theoretical) degree in weight lifting or physical science wouldn't lament that it didn't teach them all the things they expected it to about being a good football player, but that's exactly what we get with Computer Science and Software Engineering.
A good foundation helps with some aspects of good software engineering, or helps steer some decisions, but by no means does it necessarily teach good software engineering (some programs might have some classes). I doubt that keeps the students from complaining about how they aren't actually being taught specifically to program, just like they did when I was in a CS program a couple decades ago.
I wonder if the training colleges that teach programming actually focus more on good software engineering practices? If so, they might actually come out of those institutions better prepared for the low end of the market than CS grads. For the middle of the market, a CS degree might give a leg up. For the high end, I imagine personal drive to learn and aptitude has long surpassed whatever advantage a CS degree gave. From what I've seen, the most knowledgeable and respected and accomplished people don't seem all that heavily weighted towards having a CS degree over another one.
Even in my other engineering major, the complaints were the same. Everybody complained that You Aint Gonna Need It (YAGNI) for many classes and that _real_ industry wouldn't use it. However, if you can learn and use these really hard concepts, you can probably learn and use these _other_ really hard concepts in industry.
This is literally how Software Engineering is taught. The IQ test is the brain teaser questions that you get from the interviewers, and the apprenticeship is the 2-3 years of work that you do for the company before you bounce to the next place for the pay raise.
Physics as a science uses math as a modelling and analysis tool.
[1] https://www.quantamagazine.org/landmark-computer-science-pro...
I suspect the university marketing teams will eventually change this to Computer Science much like "Natural Philosophy" evolved into "Physics" at many places though...
And the HN post about it - https://news.ycombinator.com/item?id=20912718
There more than a few thoughts in there about what computer science is and isn't.