5 ms·
Well, I agree with his first part; and here is why. I've employed a goodly few programmers - invariably the least good are CS majors, the best are usually engi
by ErrantX 16y ago
Well, I agree with his first part; and here is why.
I've employed a goodly few programmers - invariably the least good are CS majors, the best are usually engineers or physicists.
The reason is that CS is a theoretical degree, and far too many people do it assuming they will become a "programmer of value", rather than a potentially important CS researcher. I've had applicants bore be with details of compiler theory they learned, or algorithm programming they worked on and so forth. All interesting stuff I admit - but the question of "can you write a program" is skipped around :)
Compare that with a degree like engineering (any engineering really). They have learned one skill, that is driven home over and over: how to solve problems. The actual knowledge from their degree is irrelevant (you don't generally learn all that much at university) it is their analytical and solution skills that are key.
There is nothing wrong with this setup. The problem is that CS is treated like an Engineering degree rather than a Mathematics major. Really it should be the latter; if you wish to do research in CS, teach it, work in sort of related fields (CS Majors make good traders, for example, like mathematicians) then CS is the way forward. If you want to be an industry programmer it isn't.
What we need is an intermediary; an Engineering degree that hands you some basics of CS and a whole lot of critical thinking. The whole aim of a degree like that is to point you in the right direction and let your interests develop into a career. This needs to replace CS as the majors for most people - and I think, actually, it would make them happy :)
Hackers are an odd exception; personally I think a good hacker would get much from any of the degrees - theoretical or not - though it is worth remembering that a good hacker will generally be a good programmer anyway because they can hack around, and solve, problems.
(Just to point out: I disagree with all of what Zed has to say about CS itself - clearly there is a lot to learn there, if you go for the right reasons)
University is a great choice for someone to further their education; not because it will teach you much (if you expect university to be the peak, or even the start, of your education you've failed already :P). But because it teaches you the ability to learn for yourself, think critically, break the discipline cycle that school drilled into you, get drunk, make important friends, find people to bounce ideas off.. the list goes on. Somewhere down the bottom is "sit in lectures and learn stuff". Learning is easy; the rest is far more important! :)
- ComputerGuru 16y agoWhat we need is an intermediary; an Engineering degree that hands you some basics of CS and a whole lot of critical thinking. The whole aim of a degree like that is to point you in the right direction and let your interests develop into a career. You may not have it in the states, but the rest of the world does. I graduated a five-year (160 credit hour) curriculum in "Computer Engineering" which is a bundle of low-level courses (circuts, electronics, assembly, microelectronics, digital integrated circuits), programming courses (c++, c#, object oriented software development), software lifecycle courses (software engineering, project management), math, pure engineering courses (statics, electromechanical systems), and more. It's recognized as an engineering degree by the Engineers Guild, and has given me, above all, the "Engineering Sense" that I apply daily in my development work.
- ErrantX 16y agoI'm in the uk :-) What you mention is perfect - and Ive seen a few of these courses in the last cople of years. We definitely need more - and they should be pitched as a solid alternative to pure cs. You are right; this is one area the eu is doing better in.
- ilcesco 16y agoIt makes sense, I've studied 'IT engineering' here in Italy, and we can also get the best of both worlds. The sad thing is that as an engineer you'll be always labeled as a technical person, and somehow not competent when it comes to crucial functional decisions, especially when you end up working for a big corporate, where business analysts are more likely to be former MBAs..
- drtse4 16y agoAnother italian here, and other than confirming what cesco said i can also add that one of the two CS-oriented degree available in italy also contains the dreaded "Philosophy of Science" referred in the linked post :)
- hga 16y agoHmmm, that's true in the US as well. Are there any countries/cultures in the world where "technical people" get a seriously greater amount of respect? MIT takes it position as the world's preeminent technical school seriously and in the mid-80s decided this was the single biggest external issue it/the STEM professions had.