With a Computer Science Degree, an Old Man At 35?
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'?"
To paraphrase what someone once told me, in four years (more or less), you're going to be 35 anyway. There's not a damn thing you can do about that, except die. if you don't go to school and get your bachelor's degree, then will it be any easier for you if you're an "old man" without a CS degree?
If you don't have a degree at all, then jump through the hoops and get one. My personal experience is that my salary almost doubled literally the day after I got my CS degree. If you do have one but not in computer science, then I'd suggest that you might be better off pursuing certifications relevant to the field you're working in.
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.
Fortunately, I got hired by the company I'm currently at when I was 27. Unfortunately, they're going through the RFP process to outsource all of our jobs. If I'm lucky, I'll be spared. If I'm not, I'll be working as a contracter doing the same job I'm doing now. If I'm really shit outta luck, I'll be a 37-year-old in the job market in the worst economy I've ever known. It won't be easy, but at least I do have my CS degree to help me stand out from, with all due respect, people like you who don't. I don't mean to be cruel, but if it means the difference between whether or not I'm eating cat food, I'll use every advantage I can to beat you out in the aforementioned job market, including the fact that I have a CS degree.
So knowing only what you've asked in your question, my advice is that yes, it is worthwhile having the piece of paper.
but I've seen the opposite when it comes to age and programmers.
People have grown tired of these "young whippersnappers" fresh outa college with their executable UML and agile methodologies.
Where I am experience is huge.. especially just plain familiarity with software in the real world and not some acedemic fantasy land. Someone in their 50's with 30 years of dev experience is pure gold .. and companies will fight tooth and nail to recruit the old veterans... assuming they arn't off "consulting" for serious money.
Now obviously this doesn't apply in your case.. it's the experience not the age employers are looking at.. but I can't see a company turning you down based on age.. unless you're in your 50's and/or only plan on working for a few more years. Even though you may not have any programming background.. you are probably going to have more social and team skills then most people coming out of school. Just the ability to communicate ideas is massive... and a skill that just doesn't seem to be taught any more.
I think I'll make tacos for dinner tonight.. havn't had them in a while.
And I need to get my hair cut this weekend.. starting to look like a hippy.
How long do you plan on staying in the field? Much do you think you're going to gain per year from having it?
Personally, I'm 36 and I plan on working until I'm around 70. It might sound dismal but I'm guessing 70 will be retirement age when I get up there. That's nearly 35 years in the field. How much would I have to get paid extra in those years to make it worth my time? Not very much. That's the same reason I wonder why so many scoff at certifications.... for the couple hundred dollars most base certification cost you're going to make that back so fast as an entry level geek. It sounds cheesy but it's a little bit extra you can put down on a resume that will help you get up the ladder a bit faster. It's worth it.
Dedicated Cthulhu Cultist since 4523 BC.
Tell them to get off of your grass.
Do you have confidence in your ability to learn? Will you stick to a four year commitment? You need to answer both of those questions honestly before you head down this road.
The other question is "what will your opportunities be like when you get out?" and that is going to depend in part on what you do during these four years. You might consider trying to get into a company now that might need your skills later. It's sometimes* easier to move around from within a company than to get your foot in the door.
* Guarantee not included.
John
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.
there will be naysayers. You could listen to them forever and be paralyzed and always do nothing.
So there are rules of thumb. There are always exceptions, work on being an exception. The shelves of libraries are littered with biographies of successful people, almost none of them achieved it "by the book" or had the ideal life, pedigree, grades, what not.
Perhaps something like Napoleon Hill's Lessons of Success may be an inspiring read, although if you understand "I think I can" story, it gets you as much content.
Look at it this way: you'll only be 35. With 30 more years to retirement ON AN OPTIMISTIC note, assuming SS hasn't forced everyone to work till their 70th birthday.
Do what you want. Invest the hours to get good at it and stop having regrets. Having read numerous times about how it takes 10,000 hours to get world class great at something, I'm more convinced now that many of the great people are the ones that started young are because they're the ones without responsibilities and have the time. Not their youth alone. So it isn't too late, just start it and stick with it.
You'll find you may be managing those same younger competitors. While you're at it, throw in some business management courses to help ensure you are positioned to mature in the industry.
If by awesome you mean tediously pandering to professors' subjective biases, then yes, always awesome.
I support the Slashcott and will not be reading or commenting from 2/10/14 to 2/17/14. Beta is steaming pile of dog shit
My husband was 36 when he got his Computer Science degree. It was a few months before getting his job but this was also at a time when the job market was in a slide. Once he got his first computer science job and some experience he had no problem getting other positions as follow up. Plus, he met me and have been relatively happy together now for 23 years so his degree helped in other areas as well, at least in my opinion and my husband is smart enough to agree with me. So I would definitely say go for it
I used to be an adult but then I grew up.
The key thing is to keep your skills up-to-date with whatever training and certification you can get once you have a degree. I had a roommate who did nothing to keep his skills up-to-date, took a six-month long unemployment vacation when he got laid off, and found out that no one wanted to hire him because his skill set was obsolete. He ended up fixing cash registers at Longs Drugs and still has no clue on how to restart his career because he won't listen to anyone.
It depends on who you work for. In many shops, it's become increasing clear that you don't want to hire anyone under 35 or so, though without the experience you'd be right there with the kids.
The sad truth of it is many of the grads for the last 15 years are junk. Not as people - fortunately, the career still attracts a great crowd - but the curriculums now create people who think that the compiler, the runtime, and the OS are a black box. They rather literally think in terms of South Park's gnomes .. Step 1) write code, Step 3) Profit! And that mindless dependence creates people who have no idea how or why their code works or more often doesn't.
That's fine for school, but you can't ship a product writing code like that, which means we've turned out a legion of coders who are fit for writing reports for accounting instead of firmware for an engine controller or a new comm protocol. And even then, that only works because the penalty for failure in accounting reports is so low. On any meaningful project, assigning work to this generation is like building in bugs, bugs that take a loooong time to fix because the team simply doesn't understand what the machine really does.
Not to worry, there are still plenty of businesses that basically have no idea of how the software sausage is made and will merrily hire anyone with a degree, but in businesses with more experience [and more on the line] it's more the exact opposite is true. They only want the previous generation of coders, and use CS grads for tech support, or if they're lucky, to apprentice.
Honestly, I've worked with guys in their 40s and 50s relatively new to IT. I've never heard of ageism in my experiences. Hell, the fact that you posted to Slashdot probably is enough reason to hire you!
I swear to God...I swear to God! That is NOT how you treat your human!
Not to mention extremely expensive with little real pay off.
Colleges have become diploma mills... where you go so you can get Real Good Jobs (R) in the future.
They are becoming less and less the places where new ideas are born and old ideas are challenged.
Mod me down, my New Earth Global Warmingist friends!
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?)
Honestly, this is something I have never, never, never understood. Why do you want to run the race in high heels? Go get some sneakers and run it right. My only suggestion to you is to treat this as an investment, an investment in yourself. Please for the love of god don't go to some school and pay 25,000 a year in tuition, find a deal, you can even do degrees online now so shop around, even better start off at community college. When you are done you will be much better off, and don't forget to enjoy the experience, school can be a lot of fun, obviously working full time it's harder, but try.
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...
- High Tech workers, please say NO to Union Carpenters, their Union sees fit to control our compensation.
I went back to school when I was 31. I went to a trade school and graduated with an Associates when I was 33. I got a job for about 35k a year (midwest). I am now 41 and make 80k a year.
The main reason I did not get a four year degree is the same reason you are having concerns - at my age I felt I was too old. However, by being ambitious and working hard I feel I am doing as well as I would if I had a bachelors degree.
If IT is what you truly love, then learning on your own is what will drive your career. The degree just gets you your first job. After that it is experience that matters most. There is no job I could not get now even though I don't have a bachelors.
i.e. Spent my 20's....experimenting.
I'm not sure it was pissed away, as I did learn a lot that isn't really taught anywhere, and keeping your head, while all about you are losing theirs, is a excellent ability that I feel my life experiences has given me. Early 30's decided I needed more direction, and of course I wanted to earn more than unskilled pay.
Cisco certs were the answer for me, easier than a degree, but still requires a certain level of self discipline.
They gave me the leverage to enter the internetworking field, in my 30's, and now with a decade of experience, I still look fairly secure even in these tough times.
I don't even want to think about where I may be if I hadn't got those pieces of paper.
It's almost impossible that you will be facepalming "If only I didn't have that pesky degree", and almost certain that it will be an advantage.
The correct piece of paper, will open doors.
This is NOT a signature.
I'm working for a leading worldwide business software provider in their SaaS division. I'm 35. I'm the youngest person on the team. While I have no doubt that ageism exists in IT, I'm very encouraged that the folks I work with are dedicated geeks of varying ages. This is also the best job I've ever had.
Go for the degree and keep a positive attitude.
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.
"with their freedom lost all virtue lose" - Milton
I don't know that Computer Science classes really prepare you for IT... one is developing applications and writing code, and the other is managing computers. Many, many people in lower-level IT positions don't even have bachelors degrees... they have associates or often less than that, but have gone to trade colleges or done some studying and gotten their MSCEs or other certifications.
If your heart is in computer science, then go for it. Go to college for 4 years, write a lot of code (really... many places when interviewing for entry-level positions with bachelors candidates will ask you how many lines of code you've written), really understand CS and a couple key langagues or paradigms (e.g. OOP or REST or whatever they're teaching now... I'm older than you ;-) and don't worry about it too much.
Again, IT is different, and who knows how IT in 4 years will look compared to IT today. I don't think 35 is too old for an entry level position... the key concern about age is desire and the ability to work. Few people at 25 have a wife and kids and other associated "lifestyle influences" to prevent them from regularly working 10-12 hours a day. People in their late 30s have all manner of excuses or other distractions they may deal with in entry level positions.
If you are older, people will expect you to be experienced and thus fulfill a more architectural or managerial role.
He's likely to get a managerial role relatively quickly anyway. Unless he spent the last ten years in a coma, he should have more mature people skills. It's not something that you can easily shortcut.
-- Support a free market in the field of government
After being out of programming for 25 years (I was and am a lawyer) I went back and earned a MS in computer engineering at age 57. Now I am out of the lawyer work 3,000 hours a year rat race. I now make a decent living consulting and managing a number of small systems while working less than half as much. Breadth of experience, business skills and people skills are all essential additions (but not a substitute for) programming competence, all of which comes with age. Don't analyze this to death, just do it.
Education is not a substitute for experience. Remember ISA cards, IRQ settings and COM 1,3 vs 2,4 problems, and how to work around it? Kids today don't. They depend on PnP to magically make it work.
Quoted for truth.
I remember that stuff (but I don't really miss it), and I'm 'only' 25. Had to fiddle around with those kind of problems (and making 9 different variations of autoexec.bat) to get various software even working back when I was aged 13-16. Would have been in MSDOS 5, 6 and 6.22.
But I reckon I'm in the very youngest group of people who had to hack around a bit on the command line and deal with that kind of stuff, and even I'm no guru compared to those a few years older. I'm just on that 'edge' of the generation that grew up with the command line and config files etc (in the MSDOS/Windows world at least - Linux people even today have to dabble in it still).
People just a couple of years after me though would have grown up starting with at least Win 95 which did have rudimentary plug-n-play and largely avoided all those problems. Even some of my similarly-aged peers raise an eyebrow at me sometimes when I go into a command prompt in XP to do things instead of using the GUI method (e.g. ipconfig /renew * is a lot quicker than doing it via the control panel)
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.
My father made this observation:
"Old doctors and old lawyers are like old wines. Old engineers are like old fish fillets."
There probably is some outright age-ism out there, although I haven't had it smack me in the face yet.
But I suspect that what is much more common is a desire for the latest shiny technologies. When I went to school, Java hadn't been invented yet, and most of my classes were taught in Pascal. The colleges now are presumably teaching the new cool stuff. So, while you will be 35, you will be 35 with a fresh degree.
As I would advise any college student considering a computer career, I recommend you do projects on the side as much as you can. Find an open-source project, learn your way around it, contribute a few lines of code. Figure out what your college isn't teaching you, and study it on your own. For example, if your school teaches only Java and you don't get any assembly language or C programming, study that on your own. Joel (who writes Joel on Software) says he won't hire anyone who doesn't know how to work with pointers; he may be an extreme case, but knowing pointers can only help you.
Study the want ads now, and try to figure out what the employers are looking for; make sure you are learning it. But you can't learn everything... I don't have any Visual Basic experience, and I was never interested in the jobs that require it. So I guess what I'm saying is, try to figure out an area you would like to be qualified for, and get the skills for it.
I highly recommend you study Python; a good book that walks you through the whole language will expose you to some cool stuff. Other people would urge you to study LISP; that will stretch your mind a bit. (When I was playing with LISP, I used the book The Little Schemer, and the DrScheme environment to run my code.)
The point of the last few paragraphs is to make you stand out a bit when you have your degree. You won't just be a 35-year-old with a fresh degree, you'll also be able to write cool Python scripts, juggle C pointers, maybe write mind-stretching LISP functions. I believe those sort of extras will help someone decide to hire you.
If you have to work full time and support a family while going to school nights, this is going to be hard. I have a friend doing this right now, and sometimes he does his homework from midnight to 4am, then gets up and goes to work. He's doing it and he's probably ten years older than you, so I'm sure you can do it too.
The good news is that if you are really right for a computer software career, and it is right for you, you will actually enjoy a lot of your work. Building software projects and watching them actually start to work is a special pleasure.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
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!
I'm 61, and last year found myself in an environment of people in their mid 20's and younger. They didn't have clue 1. They were good programmers, some of them were genius level, but their social skills and teamwork sucked big time. Furthermore, they were all into "agile" programming. The lack of planning on the project caused massive support problems. (This may have been OK in the early iterations of the product, but it was starting to show up as a major tech support problem. Once they shipped a product that didn't even work because they hadn't tested it thoroughly.) What drove me away was the lack of a plan and a clear set of performance standards. I never really knew what I was hired for, and I had no way of knowing how well I was doing, but I had a strong sense of "not fitting in" and falling below expectations (even though nobody stated the expectations).
Somewhere it occurred to me that these guys took for granted the elemental programming concepts that my generation had to invent on-the-fly back in the 60's and 70's. None of them could do assembly, none of them knew how to manage a decision table, and the idea of a formal systems analysis was foreign to them. My computer game was chess (which I've had to take off all my systems in order to get work done), and these guys think a "game" is WoW.
I suggest you decide what you want. To me, CS is designing the hardware and structure. CIS is designing the administration and apps that make the structure work, and MIS is is the design and apps that produce tangible results, especially for a specific end-user. These definitions don't necessarily match up with what the colleges are teaching under those names. In my experience, MIS environments have a little more respect for age and experience, CS has a high regard for innovation and results.
Good luck.
"The mind works quicker than you think!"
ok.. I'll admit it's my MS at 35. Still I wouldnt change it.
Storm
Not to mention extremely expensive with little real pay off.
Pure BS. I don't dispute that some schools aren't worth shit, but I'm now working on my second Bachelor's, in Computer Science, just like the poster, and I wouldn't trade it for anything. I'll be graduating pretty soon.
Here's the thing I noticed the first time around, as a Philosophy major. Take your average community college, and, say Harvard. Have a look at your typical philosophy class. Say, Critique of Pure Reason, or Platonic dialogs. Same. Fucking. Books. So what sets them apart? Well, it _should_ be the quality of the professor, right?
But this gap isn't as big as you'd think. Assuming you get a PhD teaching your class, you've got someone who point quite a lot of time into becoming an expert in that subject. Not to mention-- it's _your_ attitude that matters anyhow. Any sufficiently motivated student will have a good experience no matter who their professors are. I say this now having been through the classically horrible science-professor experience.
I've also supplemented my in-class experience by watching the CS lectures on MIT's OpenCourseWare. I would say that, in general, these guys are perhaps better computer scientists, but whether they are better teachers is in question. So this reinforces my opinion.
The bottom line is that you go back to school because you love the subject. If you think computers are cool, and you want to know more, go for it. Computer science has been the same mind-bending experience that my first degree was. This time I'm a bit more mature-- homework always gets done, and-- shit-- I'm paying for this degree out of my own pocket, so I'd better make the best of it. At work, my CS knowledge has greatly expanded my capabilities and my enjoyment of the job.
(currently trying not to piss my 20's away)
Misspending is what youth is for. The wine is never so sweet as it is upon the lips of youth.
Help stamp out iliturcy.
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
that is doing the hiring.
Some companies hire young people because they know:
#1 They aren't married yet and are willing to work extra hours for no extra pay. have no spouse or children that need them at home after 5pm.
#2 They are willing to work for less because they have less experience than a 35 year old and up, so the company hires them at a below average salary.
#3 Management knows that younger people can handle stress more than older people, so they work the younger people harder.
#4 A younger person is less likely to need more benefits skips the 401K and insurance benefits, that help save the company money.
In reality these companies are run by scumbags and dirtbags and you are better off not working for them. They will cause you to get sicker until you eventually become like me and get too sick to work and end up on disability. If they do hire you, it will be at a below average salary with minimum benefits and a lot of overtime for no extra pay or bonuses.
What you need to do is research a company before applying for them, search the Internet for feedback to see if they are run by dirtbags or scumbags. There used to be a web site named f*ckedcompany.com but now I think people just resort to writing blogs or forums about their employers. But others exist Boss B*tchers Office Whisper Jobvent and My Boss is a Jerk to see if any of the companies you want to apply for have people complaining about them.
For older people you can always get a contract right to hire opportunity where they start you out on a six month or one year contract and if you work good enough they hire you on as an employee. You might like working as a contractor instead of an employee and you might earn more pay and fund your own health insurance and donate to an IRA.
Another option is to start up your own small business. Go to a community college to learn how to run a small business by their continuing education department and learn Quickbooks and Turbo Tax for filing the accounting and tax papers.
Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
I am in my 50s and am making twice the average salary in my discipline as a DBA. My goal this year is to move to triple.
Going to school will give you a piece of paper. So will getting a certification. No big deal. Rote memorization of the answers without comprhension of why the answers are correct will get you a piece of paper.
You need to ask yourself two questions:
If you are not working on improving your skills, knowledge, expanding your experience every day; then you will be a low end guy no matter what paper you have. The paper may be a key to enter a new career, but what you can do when you enter the door sets your salary.
Education is a life long process, not milestone.
If you are in your thirties and have not discovered how to teach yourself anything you need to learn, then all the schooling you have taken to date is a waste of your time, as well as any future schooling. You will always be surrounded by people making more than you doing the interesting work.
When I was young, I had to rub sticks together to compute.
I've been hired and retained quite a few times because I have "more time in the chair". I've seen all sorts of stuff. Hell, my first networking mystery at work involved Novell 3.51 over ARCnet. I've actually run gopher servers. I've written java programs before the language even had regexes, and still have trouble with perl that uses OO stuff (and what was so wrong with chop() that we needed chomp()?). My first linux install came on 13 floppies. From all that to now I've come across an incredible amount of randomness that isn't easily searchable on Google. And all that adds up to a serious ace in the hole when things get really strange.
So when the young college grad new hire has questions like "full-on RDBMS or little serialized hash table" he gets not only the right answer but a why as to how come it was the right answer. And sometimes that answer doesn't use the latest newest shiniest thing, but he has to learn what that's a good thing. Sure, the kid wants to play with toys. But if the right tool for the job happens to be mundane, then that's what should be used. In a boiler room full of recent grads, you can get a really serious case of Techno Lord of the Flies. Old dudes can temper that (though some old dudes can go overboard in not embracing new things).
I wrote my first BASIC program well before the recent crop of college grads were born. I'm my early 40s and, yeah, I have a life. I wouldn't want to work at a company that would trade a widely diverse set of experiences for fresh-out-of-school book knowledge. Plus the social skills come into play. You know the old guy isn't likely to call in hung over on a Thursday.
The reason you hear all the talk about ageism is that college grads can get worked harder and longer for cheaper to do crappier work (until they burn out and snap). Us old guys know enough not to put up with that shit, and most employers know it too. But sometimes the balance sheet is what matters most. You shouldn't be working at that kind of place anyway. Keep your salary requirements modest and you'll be fine.
-B
Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.
I am a middle-aged guy myself, but that said:
Education is not a substitute for experience. Remember ISA cards, IRQ settings and COM 1,3 vs 2,4 problems, and how to work around it? Kids today don't. They depend on PnP to magically make it work. A lot of hiring monkeys don't get this but it is true. Show me any snort-nosed kid that can build a network using printer cables or old-school DOS hacks to get something to work in WindowsXP.
These are quite possibly the worst examples of experience you could have listed. Those skills are about as obsolete as making fire with a flint stone, starting a car engine with a hand crank, or feeding your program to a mainframe on punch cards. Which is to say: sure, there are specialty applications where this technology still might find some use. But overall, the reason why nobody cares is simply that the world has moved on.
True experience is not about mastery of some obsolete-but-cool-in-its-day technology, but the improved judgment that stems from being able to analyze situations and relate them to similar problems you have encountered in the past, which in turn helps you find a better solution.
I switched careers from air-fright driver/dispatcher to C++ programmer in my late 30's, on the strength of a two-semester community college certificate program that I never even finished. The key for me was enthusiasm. I had done some futzing around programming at home, and if you haven't been (or whatever equivalent aspect of IT you are interested in - make the appropriate substitution from here on), then you are barking up the wrong tree. One thing that will help you in early attempts at getting a job is expressing that you not only want the job, but you want to be doing programming. If you really want to do programming, then you already are. If you are a good enough actor to fake the enthusiasm, go to Hollywood, you don't need to waste your time as a code monkey.
My first job was an internship, for $8.00/hr while I drove a cab at night. It wasn't even a programming job, it was a data entry job. The data entry system sucked donkey balls, so I rewrote it to be fast enough to make up the lost time and still finish the project ahead of schedule. That looks good on the resume. If that's the kind of thing you can see yourself doing just because it is fun, or because you see crap and know you can do better, you will probably do well.
My current job I got partly on the strength of a recommendation from one of the young hotshots already working there. He had gone to the same community college at the same time as I did, and noticed me helping out others in the lab, and told the boss about it after my interview. Enthusiasm again.
So the first criteria is that you really want to do programming. If you don't, your age won't matter. If you do, your age won't matter... much. You'll have some explaining to do as to why you are starting so late if this is your "life's calling", but experience, skill, and enthusiasm will overcome those doubts.
This isn't a business for young hotshots and cowboy coders anymore, its all business, and there is big money on the line. Companies want people who will produce, and not just produce "beautiful" code, but code that will sell. At our age, we have one advantage over them young whippersnappers: we have experience at providing business value to those we work for. We have experience at gaining and using experience. What we lack in drama, we might just make up for it in consistency and reliability.
But don't expect it to be easy. The first few years will suck. The pay and the hours and the working conditions will suck. And unless you've already written some kind of take-the-world-by-storm software product in your spare time, your code will suck. You're starting from scratch no better, and no worse, than a kid fresh out of college, and your position at the bottom of every totem pole will be just like it is for those 20 year olds that don't have a mortgage and car payments and kids to feed.
Keep at it and use the experience you already have and the experience you'll gain every day. If this is what you really want to do, the thrill of learning and mastering a new skill will carry you through it. You'll have to prove yourself just like anyone starting from scratch does, but don't try to do it by out hot-shotting those kids, prove yourself by being reliable and professional. It is harder to break into this kind of business at a more advanced age, but most of the difficulties come from you yourself (we have different expectations, flexibilities, stamina, and abilities at 40 than we do at 20), not from predjudice on the part of those you'll be working for.
Insightful and funny are really the same thing, except one has a punch line.
School is just another investment.
Yes and no. If all you care about is more money, I have news for you: people like me are going to beat your at your job every time. You don't care about that part because you're just in it for the money, but hey, we'll probably beat you at the pay part, too. We do better work because we like our work.
People have hobbies. Some people like to fish. Some like muscle cars. Others like to spend their time in bars shooting the shit. Me? I like to change my perception about the world. Try it sometime. For me, school is a worthwhile pasttime in itself, because I enjoy computer science.
Since you are still in school, it is impossible for you to even venture a guess if the time has paid off.
I received my first Bachelors nearly a decade ago. I worked in my field for awhile but decided that it wasn't for me after all, and I decided to pursue a career in computers instead. I went on a long hike and when I came back, I changed jobs.
After I started school, my employer changed my role pretty dramatically, because I was a much more capable employee. I was promoted twice in two years, and I make significantly more than I did when I started. I even have my own staff now. But, you know, whatever. Don't let a lack of information stop you from talking shit.
Even obama said that 10yrs from now most of the high paying jobs will require at least a 4 yr degree, and even higher paying jobs like in engineering and sciences will requires 4yrs+. I think the president should have a very high level view which most of us cannot possibly have, which means there should be some merit to what he said. Go for it dude, you will be 35 anyway, why not get a degree along the way?
Thus spake the master programmer: ``When you have learned to snatch the error code from the trap frame, it will be time for you to leave.''
The Tao of Programming, Book 1, Verse 1.
One of the problems with older programmers is that they cling to archaic concepts like their old favorite programming languages - C, C++, Assembler, Fortran. They worship at the shrines of the old pantheon of Wirth, Venn, and Turing. They don't grasp the modern subtleties of .NET and the modular beauty of DirectX without deliberate effort. They think that security is some absolute virtue having to do with cleansing your inputs, trusting noone and considering pathological conditions.
Pity them. They don't understand the beauty of rapidly advancing the user interface until the end user can with little understanding of the underlying technology create vast perfect representations of his vision until the whole thing seizes up just before he saves it just like it's a Visio diagram. That's computer science at its most cruel, its most perfect. If those geezers don't get it it's because they just don't understand how things are done these days. They've lost touch with the course of modern progress. They'll never be able to code a word processor app that consumes all the processor power of a quad core with 8 gigs of RAM. They'll never get why automatically executing code attached to a word processing document is an essential feature. They just don't know and they'll never know because they're old.
Pity them.
Help stamp out iliturcy.
I'm pushing 30 and I find that many people (including employers) assume that you have experience in your chosen field just because of your age alone, even before they've seen your resume. If the choice for a position comes down to you and a pimply-faced youth just out of college, age can be huge advantage. A lot of employers look for maturity and intellect first, raw skills second.
And anyway, it's never the case that your resume is what gets you a job, although it might limit you to an entry-level position. Either a strong recommendation or an excellent interview will get you the job. And if you spend your next few years boning up on I.T. or whatever you want to do, the interview will be easier than you think.
You say that you "wasted your twenties". I think this will be more of a struggle than your age in the hiring process, especially for entry-level positions. Potential employers will wonder what type of person "wastes their twenties" and ask themselves if they want to hire that sort of person. You need to have an explanation for the past decade which puts you in positive light, even if the circumstances are bad. However, once you do manage to squeeze yourself into a career and have some solid, relevant experience, you can get that all past you.
My advice would be to piss away your thirties and consider the degree when you're 45.
Nullius in verba
You forgot to say to read Digg and not that dumb old guy 90's site Slashdot.
Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
We always have a team of individuals interviewing. But it helps that I wrote the book on the current hiring process. ;-)
(Ok, so it was a single document that acted as guidelines. But that's beside the point. :-P)
I have yet to see our team strongly divided on a candidate. Once we worked together to nail down a good interview process, we managed to separate the wheat from the chaff pretty quickly. To the point where there was no question over whether or not the person was competent or not. Either you can demonstrate an ability to handle coding and a very general sense of the technologies we use, or you can't.
Of particular interest is the Fizz Buzz test I throw at candidates. I don't care how long it takes them to get it right or if they have to ask questions. I try to make the candidate as comfortable as possible, then go through the problem with them. We sketch it out on a whiteboard and talk it out like a real design session. From that session, I can clearly see how the candidate works through problems. I can even reliably separate out what is nerves and what is a lack of capability.
It helps that Fizz Buzz has a few gotchas built-in that most people trip over. Tripping over those gotchas is not a bad thing. In fact, it reveals how the candidate attempts to create logically efficient code. I've seen a few different solutions, but I've never failed any given solution.
What doesn't sit well with me may surprise you. I don't like it when candidates attempt to obfuscate the code. Many will write in a pseudo-code that deliberately obscures the logic. This is often in an attempt to hide a lack of knowledge. Others have trouble correcting bugs. If I point out a bug (e.g. "You're off by one in your loop."), they'll go and screw up some other part of the program and STILL not fix the problem. Of course, the good candidates tend to spot the problem themselves as we step through the logic. I don't have to explicitly point it out. Finally, an unwillingness to try really tees me off. I'll happily answer all the questions they want. I'll even write large chunks of code for them. But when they manage absolutely nothing on their own, they're as good as useless. (You'd be amazed how many people survive by conning others into doing their work for them.)
No one of these points will disqualify a candidate. But given enough opportunity, the signs start adding up. Before you know it, you've got a pretty clear picture of basic competency.
Oh, and one other thing I hate: Don't lie to me. Don't tell me you've got strong experience in something when all you've done is stand near someone who used the technology. The truth will come out pretty quickly and will get you knocked off the roster post-haste. If a candidate comes up short but shows promise, I'll often recommend them for a more junior position. But not if they lie.
Getting back to my original point, if I felt really strongly about a particular candidate that no one else liked, I probably have enough credibility stored up to convince at least a trial period. But I've thankfully never been in that situation. It's usually clear if we should dump them or hire them. The worst I've ever seen was a candidate where there was a concern over the strength of a candidate's communication skills. We still hired him. :-)
Javascript + Nintendo DSi = DSiCade
Oh, and one other thing I hate: Don't lie to me. Don't tell me you've got strong experience in something when all you've done is stand near someone who used the technology.
Exactly, and bang-on about the communication thing. I'm just a piping designer, though, and nothing pisses me off more than having to babysit a poseur who can't admit s/he doesn't know something. To learn you have to know your own limitations and ignorance. I have a lot of both but I'm not afraid to admit my shortcomings.
If u spk entrly in txt, u r almst crtnly fr 2 yng 2 be qualified 2 answr OP qstn.
HTH, HAND.
I work in an environment with several people who are in their late 60s-70s. Some of them have told me stories about the days of punch cards and having to buy expensive processing time on mainframes (One great story was about an infinite loop that cost the programmer's company $10k in mainframe processing time). I will readily admit these older developers are not as quick as the younger ones. These seniors also have a great deal of frustration dealing with relatively new concepts. For example, I'm working with one on a project right now who is pulling his hair out trying to understand object-oriented programming. But you know what? Every one of these seniors is indispensible to our organization. One of them works 60-hour work-weeks because no one else in the organization has been able to rise to the task of learning everything he knows in his 40+ years of IT. Just remember that when you go into Computer Science, you are going into it for life. Everything in IT changes every five years, and you must assume the responsibility for lifelong learning. Plus it sounds like you have one big advantage over all the younger CS graduates: you know how much you don't know. : )
i ~ Celebrating Science, Cyberspace, Speculation
It is otiose to buy into the debate about exactly what age the brain starts to decline. What is important is one's ability to function as a useful part of an organisation, and maturity has a large part to play in this.
I know plenty of people in their 20s who are more academically gifted and mentally brilliant than my 46-year-old self, but this doesn't necessarily count for much when one sees them running around in circles without any real focus.
A stupidly simple case in point: just today, I and a younger colleague needed to get a quickie questionnaire out for a project we're working on. It took several attempts to convince my colleague that there was no point adding useless data on respondents' age and other matters, since (a) these things made no difference to us, and (b) there is no point collecting data on something you can't use.
You might find it less fashionable to parrot this idea of the brain declining at 27 when you pass that age and have to watch the young sprouts making fools of themselves and you.
I have a good friend who did exactly what you're describing. We actually met in the CS program in college. He's now an IT manager doing very well. One of things he did well was take his previous work experience and leverage it in useful ways in IT.
I say go for it.
...you have to know your own limitations and ignorance. I have a lot of both...
...I have always been of opinion that a man who desires to get married should know either everything or nothing. Which do you know?
For the entertainment of the Slashbots, this brings to mind an apposite quote from The importance of being Earnest:
Lady Bracknell.
Jack. [After some hesitation.] I know nothing, Lady Bracknell.
Lady Bracknell. I am pleased to hear it. I do not approve of anything that tampers with natural ignorance. Ignorance is like a delicate exotic fruit; touch it and the bloom is gone.
I think the answer explains why so much of the world's software is such crap.
A degree is great and all to get you into an interview but tech geeks judge each other on two things... how smart you are, and what you know. So if you come out of your 4 year degree comfortable with visual studio, fully versed in .net, C++, C#, XML and related technologies, AJAX, SQL knowledge and whatever else pops up between now and then.
Most of all you must know how to apply your programming knowledge to solving problems presented to you. This will require a thorough top to bottom understanding of computers and how they are actually used.
I'm almost 35, I have no degree but I've been working in the industry for 15 years.