In my experience in the field, people without EE or CS degrees are unlikely to be productive programmers. Not that they don't exist; but there is an extremely high correlation between the lack of said degree and the lack of ability to perform the job functions.
Obviously one must strike a middle ground. The problem is that nearly everyone who addresses this issue has swallowed the CS-academia kool-aid which says that because you can learn any language (true) that any employer will trust you to learn the language during your spare time or during your first week on the job (false).
The problem with the attitude in your last paragraph is that it ignores the actual job market during cool economic cycles. I don't know about you, but no job I've ever interviewed for as an applicant or as an interviewer myself has specified that you don't need to know Language X or Technology Y, as long as you have a CS degree.
The only time "ability to learn" and "mental flexibility" come into play is if you're getting hired through word-of-mouth (yes, it happened to me once and I was grateful for it). In the real world, though, you'd better have some specific skills (specializations) that the employers are looking for, if the year isn't 1998.
"Microsoft is one of the few that can sell a shrinkwrap product to millions of people and walk away from them until it's time to sell them the next release."
It didn't used to be that way; it was the monopolistic practices of Microsoft, aided by the misguided naive anti-regulation attitudes of so many of the cyberlibertarians (overrepresented here of course) which destroyed the software product market which was once thriving with many well-run companies which produced fairly good products and a pace of innovation which we haven't seen in a long time.
Now, only a fool would start a software product company. Even Intuit learned that you can't fight the gorilla.
Yes, it's dead. Until the next round of ill-advised venture capital. But it's been dead most of the time anyways; the management culture that your boss doesn't need to understand software because that's what they all teach in business school killed most companies a long time ago.
Notice nobody talks about the "engineering industry"? That's where software is headed - a moderately well-paid underrespected job where the few of us who aren't Dilbert will wish we were.
Even new startups (like mine) are getting this way; our VP of engineering is good but every other executive is a B-school wanker who doesn't think of software people as anything other than machinists on the assembly line.
I learned LISP and C at the same time way back in college and that was the implied comparison being made - when both languages were equally fresh in my mind.
And if you think the paren problem can be solved by editors, you haven't spent a lot of time reading other peoples' code (or your own which isn't fresh in your mind).
LISP was neat. It had some cool ideas which made us think differently (which was, I think, the point of it being taught to us). But I'd never ever ever use it in practice.
This guy is a pretty intelligent piece of work; but a piece of work nonetheless. I made a suggestion on a previous document of his that he back up the assertion that one line of LISP code takes an equal amount of time to write as one line of C code (a necessary supporting argument for the theory that LISP is a lot cheaper than C, since one line of LISP code = many lines of C code) and got nothing but hemming and hawing.
Any of y'all that have programmed LISP know that it takes a long time just to make sure you get your parentheses lined up right, to say nothing of the actual code.
He's a pretty severe bigot - I think he writes well, but his conclusions are predetermined.
Sorry, I've worked with enough people without degrees to know that it's learning "how to think" that's an essential part of a CS degree. Too many hackers never learn how to reliably address a problem if they're completely self-taught.
Would I hire somebody who had done well 3/4 of the way through a CS degree? Sure. Would I hire somebody who had not even gone halfway through? Nope; not unless somebody else had taken the chance on the kid first.
In my experience in the field, people without EE or CS degrees are unlikely to be productive programmers. Not that they don't exist; but there is an extremely high correlation between the lack of said degree and the lack of ability to perform the job functions.
Obviously one must strike a middle ground. The problem is that nearly everyone who addresses this issue has swallowed the CS-academia kool-aid which says that because you can learn any language (true) that any employer will trust you to learn the language during your spare time or during your first week on the job (false).
The problem with the attitude in your last paragraph is that it ignores the actual job market during cool economic cycles. I don't know about you, but no job I've ever interviewed for as an applicant or as an interviewer myself has specified that you don't need to know Language X or Technology Y, as long as you have a CS degree. The only time "ability to learn" and "mental flexibility" come into play is if you're getting hired through word-of-mouth (yes, it happened to me once and I was grateful for it). In the real world, though, you'd better have some specific skills (specializations) that the employers are looking for, if the year isn't 1998.
Your crack is particularly potent. I suppose IBM Research and Microsoft Research are simply fronts for MIT and CMU?
Thanks, boss.
"Microsoft is one of the few that can sell a shrinkwrap product to millions of people and walk away from them until it's time to sell them the next release." It didn't used to be that way; it was the monopolistic practices of Microsoft, aided by the misguided naive anti-regulation attitudes of so many of the cyberlibertarians (overrepresented here of course) which destroyed the software product market which was once thriving with many well-run companies which produced fairly good products and a pace of innovation which we haven't seen in a long time. Now, only a fool would start a software product company. Even Intuit learned that you can't fight the gorilla.
Yes, it's dead. Until the next round of ill-advised venture capital. But it's been dead most of the time anyways; the management culture that your boss doesn't need to understand software because that's what they all teach in business school killed most companies a long time ago. Notice nobody talks about the "engineering industry"? That's where software is headed - a moderately well-paid underrespected job where the few of us who aren't Dilbert will wish we were. Even new startups (like mine) are getting this way; our VP of engineering is good but every other executive is a B-school wanker who doesn't think of software people as anything other than machinists on the assembly line.
I learned LISP and C at the same time way back in college and that was the implied comparison being made - when both languages were equally fresh in my mind. And if you think the paren problem can be solved by editors, you haven't spent a lot of time reading other peoples' code (or your own which isn't fresh in your mind). LISP was neat. It had some cool ideas which made us think differently (which was, I think, the point of it being taught to us). But I'd never ever ever use it in practice.
This guy is a pretty intelligent piece of work; but a piece of work nonetheless. I made a suggestion on a previous document of his that he back up the assertion that one line of LISP code takes an equal amount of time to write as one line of C code (a necessary supporting argument for the theory that LISP is a lot cheaper than C, since one line of LISP code = many lines of C code) and got nothing but hemming and hawing. Any of y'all that have programmed LISP know that it takes a long time just to make sure you get your parentheses lined up right, to say nothing of the actual code. He's a pretty severe bigot - I think he writes well, but his conclusions are predetermined.
Sorry, I've worked with enough people without degrees to know that it's learning "how to think" that's an essential part of a CS degree. Too many hackers never learn how to reliably address a problem if they're completely self-taught.
Would I hire somebody who had done well 3/4 of the way through a CS degree? Sure. Would I hire somebody who had not even gone halfway through? Nope; not unless somebody else had taken the chance on the kid first.