With a Computer Science Degree, an Old Man At 35? 918
GrApHiX42 writes "I pissed away my 20s and now I want to go to school and get a bachelor's degree in computer science. The thing is, I'll be 35 when I get out of school, and I've read on numerous sites that there seems to be some ageism going on in the IT industry when it comes to older geeks. What have some of the 'older' Slashdot readers experienced as far as being replaced or just plain not getting hired because IT is a 'young man's game'?"
Just go for it (Score:5, Interesting)
I'm pushing 40 this year. Been programming most of my life. Never completed my CS degree. Worked on some fairly high profile projects in NYC, Chicago, San Francisco. I would say tho, at this point in my life, I'm definitely at the Sr. level and if I was to apply for a 'real' job it would be a Director or VP/CTO position - probably in a small startup.
I know of friends consulting companies that have guys in their 20's-40's. Other friends work for big software companies and have similar age groups. In the end, if you're a good programmer and not over 50 ;) then you shouldn't have a problem. But at some point, you're going to probably start your own company or be at a level above 'straight out of schoole 20-something coder'.
I wouldn't worry about the ageism thing at 35.
Not all that old - go for it (Score:3, Interesting)
Yes, you are old but get the degree if you want it (Score:1, Interesting)
Yes, you will be treated differently at software firms/corps. You have until you are about 40 though to really put in the time, after that you will be treated as crufty unless you stay current with the younger crowds and stay sharp on new skills. For example, at this point a lot of older devs are still using C++, when they should be looking at Ruby and newer languages for rapid development. But you'll still find a huge swell for C++ because people don't like change, and it is the most useful for a few very particular things (ie. drivers, operating system kernels, etc). I like older devs because they have the wisdom and skills to ask the right questions.
I know a guy who still does database testing at a local company, and he is approaching 60, but he puts in the long hours and keeps himself contributing. He would never expect to advance or get ahead at that age though, even if he performed like a kid.
The other alternative is to do contract work over the Internet where age won't be quite so noticeable, especially where you won't meet in person until later in the contract and at that point it won't matter.
The corollary to this is: if you care about ageism, then pick a field where age is valued such as medical doctor, juris doctor (law), or Ph.D. But almost all of those paths are long and hard and you'll be 38+ by the time you complete them.
I've not seen any bias in favor of youth (Score:2, Interesting)
Just the opposite. At 40, I'm not as quick as I was at 25. On the other hand I recall every moronic stupid mistake I made, in design, in code and I don't repeat them. I deliver software that is consistent and reproducible. Maybe not bug free, but with a good deal less bugs than someone who's not made the same mistakes.
So, there my be ageism out there. Screw'em, they're the the same idiots who keep the business people in peoria and outsource the development to VietNam (because India costs too much). You don't want to work for that company. This recession has an upside in that it will get rid of those companies that are run by morons. Too bad we can't build a mini death camp for our captains of industry (idiocy?)
Do you want to piss away your 30's too? (Score:2, Interesting)
Re:I dunno `bout the rest of the world.. (Score:3, Interesting)
I agree here completely. I'm not a programmer, but I'm in a high level Windows/UNIX engineering group doing systems design mostly. At 39 I'm the youngest in my group of seven engineers. The caveat is we are all very experienced in the field, which is why we are in the high level group to start with. Our more entry level positions are populated mostly - not all - by those in their late 20's and very early 30's.
Go for it (Score:4, Interesting)
I say go for it. Consider that we live in a generation that will probably live to be 100. And you'll likely work till 70+. You'll have 35 years doing what you want, to earn enough money to support you for the following 30 years.
I'm 47 and going back for Geology. I'll probably finish at 55, but I'll still have 15+ years to work. My motivation, is that I don't see my career in Electronics being able to warm down to retirement. You're either in or out, nothing in between. But I see Geology as being something you can take on smaller jobs, and slow down to retirement. From what I see, it's much broader than Electronics. Hey, but that's my rainbow...
Re:Yes, go for it. (Score:5, Interesting)
In my experience - which is considerable, I'm oooold - at 35, he won't have an age problem. That's not old enough to trigger the insurance companies to really mess with the company's expense of keeping him around under the current insurance setup. And who knows, by then, health care may look somewhat different.
A lot of ageism in tech companies is not being willing to pay for the experience an older employee usually brings to the table; but he's fresh out of school, so that doesn't apply to him. It seems to me that the odds are he'll do ok. He'll also have to accept starting wages, of course.
Did ya really? (Score:3, Interesting)
When you say you "pissed away" your 20s, were you doing something where you got to know part of the world that kids who went straight through college in IT generally are ignorant of? Years ago, I could say "I work with computers" and it meant something. Now, to say "I work with computers" merely means you have a job. They're in everything. For most businesses, computers are not an end, they're a tool. Nobody hires somebody for their degree in hammers. But if you've learned a special sort of carpentry, and can demonstrate your ability, it will be assumed you know how to swing a hammer well. That's not to say you don't want to study the tools, even get the degree in them. But focus on the craft, on what you'd love to build, because that's what people really get hired for, not their tool collection. Not except for truly hack work.
Anyway, if you've gotten to know some part of the world well while pissing away those years, can you leverage it? Have you seen some aspects of life that can be improved with the right computer tech? If so, start studying how to do that. Make your own niche. Take advantage of where you already uniquely are. It can be your strength.
Re:Yes, go for it. (Score:2, Interesting)
No, don't go for it. (Score:4, Interesting)
The above post is great except for this one line: "If you're not currently in a computer-related field and you're asking if you should get the degree and go into it in an entry-level position, that's your call. You'll probably need that degree to break in, even at 35. If it's worth starting over from scratch, go for it."
If you're already programming, but are not employed, getting a degree to reinforce what you know is a good idea and will help you with salary.
On the other hand, if you're not already programming, you're wasting your time. Programmers are (mostly) like writers or artists. You can't help it. You get sucked into it even if you fight it. If you didn't get sucked into it, you'll be a crappy programmer when you get out of college no matter how good an education you get, because you've already proven that you're not, at core, a programmer. You were handed the test and you failed. LUCKY YOU, REALLY.
Furthermore, 35 year olds usually have a life. 20 year olds don't. You really need to do something for 10,000 hours before you get fantastic at it. 20 year olds can accomplish that in three years. A 35 year old with a wife and a family won't accomplish that in a decade.
What DID you get sucked into? What did you spend your 20's on? Dig through that time and figure out what you loved. Do THAT. You'll be good at that. If you weren't a programmer, you won't get hired as a 35 year old programmer not because you're old, but because you're BAD. If you don't fail the first fizz-buzz question you get, you'll fail the second follow-up.
Set yourself up to succeed, not fail.
Re:Yes, go for it. (Score:5, Interesting)
And after all that, it probably wouldn't even get me a better-paying job, assuming that I could find anyone that wants to hire an engineer in their early 50s at all.
But I don't care, because I'm doing it for my own enjoyment and satisfaction. I quit my day job in December, and I'm hoping not to ever have a day job (other than working for myself) again. I'm much happier now that I'm trying to do entrepreneurial things, even though I'm not (yet) bringing in as much income as I got from the day job.
When I was in my late 20s through my early 40s, I found that experience was much more of a factor in getting hired and getting a good salary than having a degree. I'm sure there are some exceptions to that, i.e., employers that are idiots, but who would want to work for those employers anyhow?
For anyone that doesn't have a degree, AND doesn't have industry experience, I'd recommend getting the degree and doing some summer internships to get experience. When I've been involved in interviewing candidates, I've found that even candidates with an MSCS but no real experience are often not adequately prepared for a software developer position. CS programs tend to be heavy on theory (and there's nothing wrong with that), but almost entirely lacking in practice.
I did it. (Score:4, Interesting)
I did it. I managed grocery stores through my 20's and early 30's. I got my degree at 35. While in school, I quit the grocery business and went to work at Comp USA (Yeah yeah I hated the place too). Started as a sales weasel until there was an opening in the Tech dept (repair and service).
When I got my degree, I had a few years of IT (yeah yeah, Comp USA and IT don't go together.) under my belt and got a job in a University IT department as a Help Desk Service Coordinator (one man complaint department). I got this job because of my dual abilities of being able to manage people (from the grocery business as a manager)and because I understood technology with my repair bench experience. I hated every minute of it but it got me in the door.
One of my responsibilities in that position was to work with the different IT departments that were constantly bickering over whose job it was to take care of any given situation. I earned a reputation as someone who could troubleshoot AND get things done. When a position opened as a domain/exchange admin I jumped at it and got the job.
So 9 years after getting my degree I now manage the windows admins, unix admins, mainframe admins, and DBA's at this University.
Yes, you can do it.
Now the bad part. In order to do this, I went into extreme debt paying for school and working for peanuts at Comp USA. It took me most of those 9 years to pay off the debt I accumulated while getting to where I make a decent living now. It is a lot of hardship, a lot of dedication, and some luck in landing a position.
If you are ready to take the step, good luck to you!
Advice From a 35 yo graduate.. (Score:3, Interesting)
ok.. I'll admit it's my MS at 35. Still I wouldnt change it.
Storm
Re:Do you want to piss away your 30's too? (Score:3, Interesting)
If you can start at a community college and TRANSFER to Yale or Harvard or Stanford, you'll be better off. A big name helps a lot on paychecks. At 35, you'd think he'd be better off going to a doctoral program (assuming he has SOME degree and an interest) where he'd pay little for it and could wash out after a year and a half to two years with a master's degree and little to no debt.
Position/Title vs Age (Score:3, Interesting)
I'm about to be 45, and I've been a software engineer since I was around 18 (started way before, but didn't get my first "real" job until then).
Since then, the highest title I've reached is... Sr. Software Engineer, which is where I've been pretty much most of my career. Never had an interest in management, Lead, or anything that would take me out of the trenches of coding.
This also means my salary has been capped where I live at around $125K or thereabouts.
I had some strange idea that the more experience I had, the more money I'd make, no matter what my title was... but I've hit the wall.
There are some who are good at managing people and projects, and some, like me, who just like the CRAFT of it all, and not the overly-serious nature of the responsibilities one takes on in a management role.
Do you have any opinions on that to add here? Maybe I should Ask Slashdot myself? :-)
- Tim
Re:Yes, go for it. (Score:5, Interesting)
Re:No, don't go for it. (Score:1, Interesting)
Programmers are (mostly) like writers or artists. You can't help it. You get sucked into it even if you fight it.
I get what you are saying wrt to dedication, but I cringe every time I hear/read the viewpoint that programmers are like artists or programming is an art.
No! No! No!
We should be trying to make programming more of an engineering discipline. I do not want to maintain software written, by an artist, containing creative artsy code.
Re:Yes, go for it. (Score:2, Interesting)
<frustration>Nnrrrrggggg!</frustration>
I'd ask if you were in the Chicago-land area, but the answer would probably break my heart. Knowing Murphy's law all too well, you're probably nearby and a perfect candidate. Right when we're in a hiring freeze and could really use more help. :-/
That's the attitude I like to see from candidates. If they can back it up with a few simple coding exercises, I'll have them hired in a heartbeat.
(Though you'd be surprised how well some people manage to hit the theoretical discussions just fine, but fail miserably when you ask them to write code that sums 2 + 2.)
Re:Yes, go for it. (Score:5, Interesting)
I dropped out of HS at 16, after more than a decade in labouring/factory jobs I went to university and graduated at 31 with a BSc with majors in CS and OR. I had a family at the time and still managed to make a few bucks driving cabs. I picked that course to get into the industry but I loved programming my AppleII well before I thought I could make money by programming.
I am now 50 and still "in demand". Not one year since graduating in 1991 have I failed to exceed the average national take home pay by a respectable margin.
Re:Yes, go for it. (Score:4, Interesting)
As someone else who interviews a lot of candidates, I agree with the parent. Age does not play a factor at all.
Age shouldn't matter at all in the hiring process, but I can understand why it can impact hiring decisions. Some people have a hard time having a much younger boss, which is likely for an older candidate being hired in this industry, especially an older candidate straight out of university.
Also, for those crazy dot com-type companies that like to work their employees to the bone, older employees are more likely to have real responsibilities (family, health issues, a life, etc.), and more of a backbone to stand up and not take the company's crap. Of course, when making such generalizations, you could also say that the young are foolish and irresponsible. :-)
Re:Yes, go for it. (Score:1, Interesting)
I think a lot of this impression of "ageism" comes from the fact that the older generation didn't grow up with computers.
I have to disagree with this. I'm retired now. I could program in a number of languages, but my employers were not interested in the fact that I could pick up a new one in a few weeks. They preferred to hire some kid just out of school who already knew the language of the hour and could start writing code the first day. And whom they could get two or three of for what I was making.
What ever happened to all that BS about how much it costs to find and recruit a new hire, get them up to speed, have them learn how the company works, etc.?
Let's admit it -- some years back, the Supreme Court declared open season on anyone over 40. There was a case of age discrimination and they reaffirmed the laws against ageism. Then they pissed away the entire law on ageism by saying that, while an employer could not discriminate based on age, they could lay someone off and replace them with a younger person if they could (wink, wink, nudge, nudge) "assert a valid economic reason" for the replacement -- i.e. the new guy will work longer hours, for half the pay and not complain about conditions.
Thanks a million, you secure-for-life, black-robed, Judas bastards. Value of experience, my ass.
Re:Yes, go for it. (Score:2, Interesting)
Some advice I might offer as a young student. Most of my friends who are older students tend to be a bit disconnected from the rest of the University. Don't make that mistake: as much as you might think so, you're not a graduate student, even if you're the same age as them, and your academic life does not only revolve around your department. At the very least, you'll have to fill gen ed requirements. More importantly, as an undergraduate, the university has resources that can be very helpful and enriching to your education. Make friends with some (highly motivated) younger students (even outside your dept) who tend to be more aware of these things and can help you get more connected.
You should be focused on your objective. But undergraduate college years are an excellent time to take some risks and go different directions than you may have previously seen yourself going. Do that: universities are breeding grounds for opportunity, and you might be surprised at what doors you might open for yourself by trying something new.
I can't agree with this more. I am 26, I graduated with my CS degree when I was 25. I had several people that were older than me in the program, and in many respects they were the best students. Mainly I think because they truly understand what a degree can do for you, so they were truly motivated to get their degree. They were also almost always my first picks when we did group projects, because they were capable. As the parent said, don't make the mistake of disconnecting yourself. The people you go to school with will (most likely) be your peers for many years to come. So my main point is this, don't let the fact that you are going to be a little bit older than the rest get you down. Stay focused, motivated, and learn your stuff. If you do all that, you will be in demand when you graduate.
Re:Yes, go for it. (Score:5, Interesting)
Outstanding advice. I went back ~35 after a career up until then in network engineering and information security, though I went back and picked up a finance degree. gw0ntum makes a valuable addition. You're going to find it awkward, especially when you have some profs your age or even younger. Some suggestions I'd make:
1. BE HUMBLE: even if you're an alpha, don't play one. set it aside and adopt an alternate persona. your classmates not only don't want to hear about your experience but they're ready to reject you if you show any signs of it. instead, humility is your friend. when you kick ass in assignments and show you're naturally good at some things, your younger classmates will likely respect you then for it. but always keep the humility as your persona. they're going to be intimidated by the age difference and when they find that 15-20 years of age difference really doesn't mean jack u-know-what, they'll be cool with you.
2. HANDLE PROFS CAREFULLY: show your creativity, innovativness, eagerness, etc. by DOING, not by saying. this screws so many nontraditional students up. yes, its important to let the prof know you're eager to learn/succeed. but do it by doing, not by showing off. understand that you're an outlier, so every subtle action you make in the classroom will have 10x the effect. this pisses off your classmates and makes your prof uncomfortable.
3. FIND YOUR PERSONA AND STICK TO IT: my dad's long-time faculty at a university that has a good amount of nontraditional students. i've learned that even the faculty has stereotypes of the nontrads. eager beavers (over-eager volunteer for everything desperate to show their worth low self esteem types), suck-ups (total poseurs that will flunk out but will suck up at first and try to play the 'hey prof, i'm a grown-up like you, give me preference'), one-class-ponys (typically 60+ gals who take one class and blow the damn curve cuz they have no freaking life outside of that one class), over-committers (usually the nontrads who have just come back to academic world and are so clingy and over-committing trying to prove their worth to self and prof), and dominators (nontrads that want to give input to everything, dominate the discussion, share their "worldly" experience on everything and embarrass everyone in the room except themselves). Those are not good choices. Find something subtle, quiet and driven. Sit in the front row, kick ass and let your work show your drive. Let the prof call you out because you get stuff right. They will balance the dialog and keep you from being seen as a show-off - hey, when your work is good, that's the game.
4. FRIENDSHIPS: Be open, kind and friendly to all. I ended up with friends spanning the total range - from girl jocks to geeks to poet-thinkers to hard core achievers. All I had to do was smile, be relaxed, be damn good, and be a team player.
It's a weird situation but if you handle it right, it'll be very rewarding, and that degree does open up tons of doors. Good luck!
Re:No, don't go for it. (Score:3, Interesting)
On the other hand, if you're not already programming, you're wasting your time.
Wow.. so unless you plan from birth to be a programmer, your screwed for that position.. I think someone thinks too highly of their profession.
35 is not an unreasonable age to begin a second unrelated career in almost anything. I would also submit that attending school will do him good even if he does not end up following the path of a professional programmer.. I can't tell you the number of people in my life with degrees such as "engineering" that were making a living doing nothing even remotely related to their degree.. so I don't see it as wasting time.
Re:No, don't go for it. (Score:3, Interesting)
What a load of BS.
CS has nothing to do with programming. Code is just the end result. No autodidact person I've ever met understood NP complete problems.
Also from experience, the smartest CS person I know woke up one morning, realized he was stuck in a dead beat job with no promotion path. He quit his job took math on a summer course and started studying CS (the proper kind), he graduated last year and is currently applying for a Ph.D with multiple companies offering him very high payed jobs, he is 37 now, married and 3 kids, but worked his ass off and got there.
Re:Yes, go for it. (Score:1, Interesting)
'Actually, it's a decent natural filter, any company that wouldn't hire you for such a reason is one you don't want to work for anyways.'
Recent research actually shows that mental faculties begin to decline as early in life as the 20's. Kids don't seem sharper, they ARE sharper. That isn't to say that there isn't more to being a good employee or that older individuals don't have their own advantages but there is a basis for IT discrimination based on age.
Staying up to date will never restore your cognitive abilities to the level they were at when you were 22 and they peaked or 27 when they begin to show a measurable decline.
Re:Yes, go for it. (Score:4, Interesting)
Re:Yes, go for it. (Score:3, Interesting)
Whaa??? IT people are typically, well, typical. Good computer scientists are an intelligent bunch, but most of the IT professionals are not computer scientists, let alone good ones. In my experience about half of IT professionals are less intelligent than average college graduate, and average collage graduate is at best at the top 10% of the whole population.
Re:Yes, go for it. (Score:3, Interesting)
Which is where a company like Google that appears to take very little account of actual experience over geeky quizzes looses out. They can't package up a standard procedure to evaluating experience so they tend to largely leave it out of their recruitment process.
Re:Yes, go for it. (Score:5, Interesting)
ecent research actually shows that some people's mental faculties begin to decline as early in life as the 20's.
There - fixed that for you.
The truth is a lot simpler - most people put their brains in neutral after they get out of school.
The brain is like any other tissue - use it or it atrophies. Even BONE will leach its' calcium if it's not subjected to regular stress from such ordinary things as walking around.
The average person doesn't read books any more. They get their information from the echo chamber of the internet - in short, ephemeral snippets that register on the eyeballs but not the brain, because 2 seconds later, they're onto the next "oh shiny!"
Then thare are those people for which life is a continuous learning experience - not just because we have to keep learning to stay current, but because our curiosity leads us to continue learning, continue integrating new facts and attitudes into our knowledge of ourselves and the world around us. BTW - there are also studies that show that most "genius" is probably the result of a combination of that curiosity, plus persistence.
You can have my cognitive abilities when you pry them from my cold, dead brain!
Re:Yes, go for it. (Score:3, Interesting)
Age and wisdom vs. youth and treachery - I will put my money on the old guy for the win.
I thought it was "Age and treachery vs youth and speed"
Re:Yes, go for it. (Score:5, Interesting)
When the ball goes under the coffee table, and the kid goes under to get it - you know exactly what is going to happen next. The kid is going to stand up, full speed, and bang the hell out of his head on the underside of the table.
I spotted my 2-yr old do this the other day, hard but not so hard as to provoke screaming. He spent the next minute carefully proving that it was hitting his head on the table that had caused the pain, and then hitting it again a couple of times very gently and then a bit harder to see when it hurt. I was astounded at the level of reasoning going on as he worked out what had happened to his head and how it had been caused.
Re:Yes, go for it. (Score:5, Interesting)
I'll just add a little here as someone who has interviewed a lot of people for Net Admin jobs in the past few years.
For us, a huge missing factor on the younger applicants is, quite simply, maturity. The advantage older applicants have on this front can't be overstated.
Kids have a tendency to engage in "guerrilla maintenance" as we call it here. Just reboot it and see if it comes back up without considering if doing so will take down production.
Kids also have a tendency to not see the bigger picture of how IT fits into the rest of the company. You have to box them in with ITIL processes to keep them from doing dumb things.
Kids also are also not very good at leadership situations in dealing with others.
Those are just the disadvantages the question poster might use to his advantage. It isn't always true (I've got a 25 year old on my team that has broken all the above descriptions, although he was a student of mine some years ago :))
I'm sure someone else will post all the disadvantages you face as being older, and the advantages of being younger. Read them and consider them in how you will minimize them when looking for a job and working it once you've got it. Although the biggest disadvantage I've seen on older applicants that come into the industry late is low expectations of themselves and their career. Shoot for the stars, not the mud.
Re:Yes, go for it. (Score:3, Interesting)
Younger adults may have the *capacity* to be sharper, but they certainly are not displaying such skill. I have struggled to teach younger IT employees relatively simple concepts of computers. They don't get it or they don't want to get it. I've been in the industry so long, I know *why* computers work and therefore how best to troubleshoot them when they don't work. When you have someone come in who has only ever known a computer with a mouse and Windows, they have no clue what goes on under the hood much less once data leaves the NIC.
I see IT right now desperately needing a balance of older and younger employees. You have to have the older for the experience and good decision making. You need the younger people to learn IT, especially newer technology, and the freedom (read single) and stamina to travel constantly and work long hours.
Personally, at 39 I have noticed my capability for learning new concepts or remembering numerous details has decreased over the past 3-5 years. Yet I also know now how to work smarter and not harder, and I'm still the SME of several technologies at my company.
Re:Yes, go for it. (Score:1, Interesting)
What a crock of ***t. Many cs grads today in their 20's are hyperspecialized and masters of little or nothing. Their inability to think is astounding, the degrees are not worth the paper they're printed on. For the most part, in terms of building robust software, they are hopeless. And before I hear any bs about I'm wrong I've helped design and deploy, conservatively, several billion dollars worth of software to institutions that need their systems 24x7 at 99.99% uptime.
It was my generation (and I'm 45) that were the last taught proper universal thinking principles and the Renaissance Man approach. I do have a CS degree (and 2 others in disparate fields) -- which means I know the how and why of computer science all the way to its roots.
Patterns my ass. Most CS graduates don't even get basic CS concepts, let alone a pattern and when/where to apply it. Refactor code for maintenance and reusability? Please. How many so-called 20-something programmers have even a clue about workflow, how their software fits into the business of the client, what is the problem they are actually solving?
Don't get me started on UI design that follows the architecture of the program (with widgets literally off the UML) instead of the natural front-end constructs that are needed for ease of use. Talk about dogmatism.
And yes, ageism is rampant. I was recently bumped out of the running for a CORBA+embedded design because my VxWorks experience is a little dated. As if a professional with 25 years experience can't relearn an environment in days. They hired some pimply faced child, who I happen to know by accident, and can tell you he has no clue about CORBA design patterns, all the implications of this particular architectural choice and is essentially a glorified script kiddie. This for an SEI Lvl 3+ project for some piece of military-grade hardware. Did they make the right choice? Of course not. But he was cheaper and younger and let's hope he learns fast and that version 1.0 doesn't kill too many of our soldiers in its various failure modes.
("Failure mode analysis? What?" says the modern day CS graduate.)
Re:Yes, go for it. (Score:2, Interesting)
In the real world, you actually care about overall architecture, design, methodologies for coordinating a team, maintainability, testability, etc.
Which is what we do in our Software Engineering and Project Management courses. Maybe your entry level CS courses are code-and-fix, but at least at my school, we're learning about the different lifecycle models and project workflows. (from the perspective of both the classical and the object-oriented paradigms)Team organization (and so much more) and applying them to create a project from the ground up for an actual client. (in a later course, it will be for a local business. In this course we got to choose our own project based on a client we might know in person and could interview). We're just now finishing the classical analysis phase, next week we'll start Object-Oriented analysis, and then move to the design phase. (we're doing both just for the experience)
I realize that in an actual work environment these might not be so clean and clear cut as they're presented in the course material and case studies, but the situation isn't as bad as you claim in all schools. My school requires all IT majors to do an internship to graduate as well, so that they have real world work experience in the field. In addition, a good portion of the school's IT work is student-run. We have student trainers, a student-run help desk, student web developers, and students doing a lot of work maintaining the servers, access points, etc. All supervised by professionals in some capacity, obviously, but maybe my school is the exception to the rule.
Re:Great Points (Score:3, Interesting)
Sorry, I will say that EVERYTHING is quite strong. When I started almost 20 years ago the 1/2 life of an engineer was assumed to by 5 years (1/2 of what you are doing today won't be relavent in 5 years) that number appears to have dropped to 2-3 year 1/2 life.
Yes, big ticket things don't change - the low level details do. It is the low level details that give you the ability to do your job efficiently. An example is UI development. 20 years ago there were a TON of UI frameworks to develop the code. Now they seem to be some form of XML deleveloping.
Networking is similar. 15 years ago - everything was ASN.1, then wrapping everything in HTTP became all the rage in the late 90s. Now transfering things around in various XML documents seems to be how people want to handle things (Look at RPC, we used to do DCE/RPC - now it is SOAP and WSDL)
Concepts are the same in both cases, details are very different. New libraries, new low level code - different debugging techniques... these things matter. If you came back from a 10 year nap today - you would find being a software developer very difficult because of all the new things you would not have been exposed to in the last 10 years.
Re:Yes, go for it. (Score:4, Interesting)
As a Programmer, thats programmer with a big P. I just finished working on a project with some 20's programmers. Their current framework and opensource knowledge is high. But several things having to do with experience came out. One was they said that I was the only person that they had ever heard that did not want to immediately work with the absolute lastest version of the framework we were dealing with. Having worked for a Bank for decades and knowing the price a framework shift can cost in unintended consiquences I just had to shake my head. One also used a Set class where a List was called for because it solved some obscure exception problem that we had not experienced. I tried to let him know that using the wrong data type would give him headaches down the road. He also would spend days looking for ways of getting the framework to do what he wanted when a half day of actual programming would do the same.
So in a world that filters on buzz words and technologies, what is lost is that fundemental activity of programming, which is an art, which is honed from experience, exposure and practice. You can tell the difference between a journeyman plumber and a master plumber. The master plumber walks in, looks at the problem, walks out to his van and brings back just what he needs and fixes the problem. He also know 10 ways to fix the problem and chooses what he thinks is most appropriate and all that in just a few seconds. Its the same with older (good) programmers. What they (hopefully I am in that class) do is subtle and efficient, like good engineering hidden from view, but just plain works, looking too simple and obvious to suggest that only one with long experience could have plopped that code down as naturally as they did.
As to the degree, that represents a condensed exposure to envirionments, techniques and approaches to thinking and solving problems that can be invaluable (if you pay attention).