It's good to know your data structures & your Big-Ohs. However, for most folks that knowledge is superflous once you actually get into industry. I'm planning on going to go to grad school & possibly doing breakthrough research so my perspective is different. But remember that if you want to fly with the eagles, you have to know your algorithms & your data structures. To ace Google's interviews you have to know Cormen's classic Introduction to Algorithms textbook from front to back.
& to be honest, it's never a bad thing to know more. even though a lot of the information we'll be unnecessary to you in your future career, it's good to have an overview or a little bit of background knowledge. you might forget a lot of it but it will be much easier to pick back up on the off chance that you'll need it again.
to answer the thread: a degree doesn't mean shyt, especially in computer science. the people who really go far are the people who have a genuine love for coding, algorithms, math, etc and would be doing this whether or not they were getting paid for it. if your entire reason for doing cs or engineering is to get big booty hoes and a big house then do yourself a favor and do business or economics. merely being a code monkey will not get you far. also, a degree in and of itself is more worthless than toilet paper if you don't have an extensive portfolio to back it up. i'm studying computer science at a top school, and i feel bad that i'll graduate with the same degree as some of my peers. i honestly feel bad for whoever's going to hire those guys. they are shiftless, passionless and borderline incompetent (& that's not to say that i'm a superstar programmer either).
That's why I said in the programming thread that everyone doesn't need to 'learn how to code'. There is some mysterious push lately in the media that everyone needs to learn to program and supposedly Bloomberg and Obama are both going to 'learn to code.' Yeah right. If you type 'everybody needs to learn to code', you will have tons of articles come up by programmers who say the same thing. "Everybody doesn't need to learn to code." It's not being elitist. It's just being honest. Not everyone needs to learn to be a doctor, engineer, accountant, or whatever. All of those fields have people who are more inclined towards doing what those fields require. For example, I got my degree in accounting, but I actually hate accounting. It took me a while to realize, but I would never really do anything special in accounting because I would end up being a mediocre accountant. People who love it will be studying hard, garnering their CPA, and just honing up on all aspects of the field while I'd be doing just enough to get by. On the other hand, I love programming. Whereas I would find it hard to read a few pages of accounting text and stay interested, I literally have over 50 books related to programming and web development. Obviously, I haven't read them all, but it just goes to show you the difference in effort put forth when you actually love something.
The mainstream is trivializing the field and giving people an impression they can just go in and start writing programs after a month or two of study. Everyone should have the ability to expose themselves more to programming if they choose to do so, but the people saying everyone should learn it aren't even programmers themselves. Honestly, it sounds like they want to try to create cheaper rates for programmers by flooding the field with them because they are still relatively expensive... but that's going to be hard to do because writing code in a quality fashion isn't easy to do. You fill your organization with cheap programmers who aren't dedicated to what they're doing and it will be way more expensive than if you hired the skilled guy in the first place. For one, you'll be lucky if you'll get something that works... if it works, the problem will be maintainability and scalability. You'll have to go back and hire that skilled programmer who loves the field to refactor all of that code or rewrite it from scratch.
There's a reason programmers get paid so much and that there's always a demand for them. Programming is hard and you have to constantly be learning and improving your skills. There's a ton of base concepts to learn, aka object orientation, algorithms, etc., and on top of that, you always have to stay up with the latest trends. New frameworks and new languages are constantly popping up and you will eventually have to learn new ones. It takes a certain kind of personality to like programming. It's really not for 'everybody'. This is one field where you have to do a ton of out of work study.