Job Chances for Older Coders?
emtboy9 asks: "As the semester winds to a close, exams fall upon us students once again. Today, outside of one of my programming classes, I overheard a conversation between a pair of middle aged women about programming degrees (which they are involved in), and this made me wonder. With the job market in IT being as pathetic as it is, what are the real-world chances of someone who is taking a programming course getting a job. In the places I have worked, all the coders were fairly young. So the question is, what are the chances for an older person, who is just now learning programming to get a job in that field?" Ask Slashdot last touched on this topic back in February of 2001. In the intervening two years, have things gotten worse or better for those who have been in the industry for a long time?
"With the increasing popularity in such places, tech and trade schools and even colleges and universities are spitting out MCSEs, CCNAs, A+, Net+, etc certified techs, as well as people of all ages (one person in my VB class is nearly 60) who are trained to write code.
With that in mind, I guess I thought I would throw that out to the Slashdot crowd to see what kind of experiences they have either as a middle aged person entering the IT workforce for the first time, or as a younger tech, or even a manager, faced with either working with, or hiring someone who is from a completely different generation."
IMO
A programmers value is determined by experience and ability to learn. Since someone new to the IT field has little experience, being hired is determined mostly by their ability to learn. Since young minds are better suited for learning, they are going to be hired more often. This is the trend I have seen at my company.
"I can not bring myself to believe that if knowledge presents danger, the solution is ignorance" - Isaac Asimov
Yeah, flamebait, I know. You are probably in your twenties...
Younger coders tend to be (erroneously) hired because many people think they're on top of the newest technologies. Here's a news flash: Newer technologies are only new for a short period of time.
This is why you see so many corporations, and smaller companies too, with interned developers, and why it's so common to hear, especially in the IT world, of rounds of layoffs followed by hiring fresh new faces from India or someplace.
The truth of the matter is that enthusiasm about programming, and computers in general, is what a lot of people should be looking for. It's very easy to keep on top of the newest technologies when doing so is a hobby rather than a once-a-week training seminar. One enthusiastic programmer can easily do more than an entire group of slack-jawed code monkeys with no real desire to do what they're doing.
Younger programmers might get hired more quickly, but they also run the risk of getting laid off pretty fast, too, if they pick the wrong place to get a job.
My father joined a large corporations programming team, at age 48, he doesn't have any IT degree, (he was initially a teacher), or other related qualifications, just a lot of experience in the field. (And if I may say so, a pretty smart fellow :o). He did it the only way I can see it being done: start from the bottom. Here's what he did:-
1. Joined the Support section (let's face it, anyone can make it in there without a degree)
2. After a few years in support, he'd made enough contacts, that he was able to get an interview in the programming section, and successfully got a position.
I really cannot see any other way, for an "older" IT person to get such a job, there is simply NO WAY that someone over say 40 will be hired as a coder straight up, unless they have very specific skills that are required by the employer.
Look for ways where all the life experience you have can be use to advantage. There is more to many software jobs than pure code. Solve problems. Pure code can be jobbed out to India ;-)
The cruel truth is that younger people will work for less money than older people are willing to accept.
Boobies never hurt anyone. - Sherry Glaser.
I think there are more younger coders than older ones out there, but not for the reasons you think. You'll find that the higher up you go as to the complexity of code you're working with, the harder it is to find anyone. This is because coders (especially good ones) get burnt out at some point. It stands to reason that there would be more younger ones. Not to worry, they'll burn out too. Just give it time.
With jobs opening up in places like Mexico and India where the labor force is cheap and educated, the American code monkey doesn't stand a snowball's chance in hell. What you need to do is move on to more specialized fields, like MechE or EE. Nobody would trust a bunch of cheapo foreigners with stuff that people would depend on for their safety, so those fields certainly won't be going away any time soon. On the other hand, those of you managing "Linux boxen" are quite replaceable.
--sdem
This is dead on. Younger people are far more exploitable (as a group) than older people. They are less likely to have their own families, more likely to be willing to work ridiculous hours, and less willing to stand up for themselves.
In Soviet America the banks rob you!
If you think about traditional professions, 30 is young, especially in complex technical fields like lawyering, doctoring.
In such professions you generally complete your degrees in your mid twenties (that is if you are fortunate enough to have rich parents). Then you start clawing your way up the ladder.
My experience is that the best programmers and designers are in their mid thirties. But the computer programmer industry is known for chewing up people and spitting out useless husks.
As for the computer industry right now. Your chances of getting a job right out of college is pretty low. Your chances for getting a job with a few years of experience is pretty low, and your chance of getting a job when you are past 40 is basically nil.
Most of what you will be competing against is dollars. As single person, coming out of college, with limited expenses is a cheaper date. While we would wish it otherwise, the wisdom of age, and to some extent even experience, is not valued greatly in the IT sector.
Today, as the "way back link" shows people buy experience or "hot tech". They buy it cheap because most of it is learned by students or people fairly young. They are always exceptions, but they are exceptions.
If you are 40+ you are going to have a hard time switching positions, unless you know a hot tech. The fact is you want more money than the developer who is 24. You believe your experience brings value and to some extent it does, but...how much? With CS grads coming out of college, glad to make 26k a year, can you take such a job? Can you afford a 10k pay cut?
What I found is people will not let you take a pay cut because they fear you would leave for better money, but they will not hire you for better money, because they could hire someone 24, for 40% of what you make now. So I see more stay with companies, waiting to retire, or go into consulting.
Geezers have a chance if they're connected. Most older folks have a much larger network of well-placed friends, and can count on them to help with HR hurdles. And, if there's just no other way in, an older worker who fabricates a long list of "experience" on their resume is more likely to be believed. So not only is it possible for a freshly-minted software geezer to find work, they may have much higher starting salaries.
I graduated from a tech school (please do me a favor and slashdot them!!) in October of 2002. I got my "Associates in Specialized Technology Degree in Computer Programming", and it's basically worthless. I got a job as a sys admin at a really great company, but that's mostly because my dad's a manager there ;). Yeah, I know enough to be an admin, but only because of stuff I learned on my own, not from school. Over half the people I went to school with can't find jobs anywhere, and these people were all really intelligent and skilled (well, most of them were). Seems that every job opening out there wants at least a bachelors degree and two years experience. Some want far more. Entry level positions that could maybe lead to programming jobs usually start out with nothing resembling programming. I know that at my company, a good portion (well over half) of our developers are over age 40, and I'd say we've got at least a few over 50 or 60. Seems that, at my company at least, it's harder for young people to get in, since our business is doing well, and we can afford to pay for experienced coders.
These are just my experiences as a recent grad.
-Jon
This space for rent, inquire within.
Since you mentioned COBOL... Employment is determined by demand, which in this case really depends on a lot of factors (the life expectancy of your code and how many bugs you left in there being just two of them :) - there are more.)
Think of an old coder as of an old chair. What is the difference between an old chair in an antique store and an old chair in a thrift store? None, except the price! Well, one might have been used by Elvis, while the other was not - but who cares it's the same old piece of junk. One got lucky (Elvis sat on it); the other did not. Tough luck. Same with us. You might be lucky because you are working with systems that will exist for the next 40 years. And I, with all my C/C++ coding skills, will become a dinosaur in less than a decade. Or maybe the other way around. We never know who will get lucky, and who won't. Just like the chairs.
Jobs? Which jobs?
That seems to be the way of things. But generally, we don't expect doctors and lawyers to become managers, so why should we expect software developers to do so?
I agree if you end up *wanting* to become a manager. But what if you don't? Personally, I like development. I studied long to get a MS, and spent years developing sw architectures and processes, and now I'm 30, and I feel I'm on the down slope. But management doesn't sound good to me (and that's personal), if I wanted to be a manager I wouldn't have been a technical person during the last 15 years! It seems the only way up is actually a way out, for most of us. Only a very few stay technical, and they get jobs like head software architect.
{Science sans conscience n'est que ruine de l'âme}
I dunno, i find it hard to believe that all "older" programmers would step gleefully into management after being paid code monkeys for x years. I love programming, but i'd hate to be a programmer's boss...
well, it's nothing one behind the ear wouldn't cure
- they'll accept lower compensation, and
- you can work them harder
Older coders are much more likely to have families, children, and (dare we say it?) lives than fresh cannon-fodder from the universities. They're going to want to spend the weekend helping the wife paint the nursery, and they're going to want to go home before somebody yells at them because dinner's cold. They're also going to raise more of a stink when the pointy-haired boss decides to cut corners on the healthcare policy yet again, and they're more likely to notice that company-wide salary freeze plus ever-decreasing benefits equals less compensation every year. They might be wise enough to realize that those paper stock options aren't going to mean as much as, say, money. Et cetera.Breakfast served all day!
Age itself isn't really the issue. Any negative arguments are generalisations. All you have to do is convince them that while the stereotype may be true about most older coders, you're not most older coders, you're you.
Then you point out how your age means you've got experience to bring to the fore and, most of all, you've learned to deal with issues maturely. One of the main problems in a lot of "younger" software companies is that all the early 20s coders think it's an entitlement and get in to rages at every bit of stupidity, bad mouthing people, talking about how the company sucks, moving on etc.
Once you've been around, you realise every company has its compliment of bad managers etc. and even that sometimes those bad managers are actually perfectly good managers, you personally just happen not to have the full picture. You work well anyway, rather than complaining. That's a huge bonus to an employer.
The question is, and one I find myself asking as I get older, do you want to put up with the same crap the younger coders do? Or do older coders fit the stereotype because, funnily enough, as you get older, you learn more and realise coding can be a sucky lifestyle?
That $50,000 job is great for a single guy but suddenly it's not so great for someone with a house and kids.
Those long hours just before a release are fine for someone who just has to go back to an empty room but a major issue when you have to pick the kids up, take them to ballet and then put them to bed.
The sudden change of deadlines that mean you're working over the weekend and you're not told until Friday afternoon don't give the flexability you need for family.
Having a conference during the school holidays that the company HAS to have a demo ready for becomes an issue if it's the only time your kids can go on holiday with you.
Maternity leave? Sure, it's a protected right. You still expect to be getting the same promotions as the guy who isn't six months behind on the latest technologies?
Your wrists starting to ache? The young coders can burn through five years before their carpal tunnel syndrome gets really bad. Now you're older and know how much pain it can cause, are you prepared to burn your body up like they are?
Coding is a high paying lifestyle. It's also a pretty abusive one to your body and your family life over the long term. Most older people aren't prepared to put up with that once they're old enough to realise. Most younger guys are too stupid to realise. Knowing what it entails, if you're prepared to put up with it anyway, there's still work.
that programming isn't just a job or field of study.
Instead it is an "art" and you either have the gift to program and truely zone out and become the code, or you don't.
Age means nothing as long as their is that real talent to know how to follow code and feel your way through every loop and line.
The only real big hurdle is actual experience. And younger coders and older people new to the "art" of programming will all face this. Yet I believe it's an easier hurdle for older people since they do tend to at least have real work experience usually lacked by the younger programmers.
I object on two points:
1) To say that open-mindedness and flexibility disappear around the age of 30-35 is a comment that must come from someone younger than that bracket (i.e. don't know what they are talking about), or someone in the bracket or older that didn't realize their dreams and is bitter.
There are innumerable innovations that have come from geezers older than 35. In fact, I would dare to say that the vast majority of innovation comes from persons over the age of 35 (but don't have time to write the doctoral thesis which would prove this). As a quick example, Marcel Proust, who can be considered revolutionary in literature, began on "Remembrance of Things Past" at the Methuselian age of 38.
2) Coders are not, by definition, creative. In fact, the vast majority of coders are just implementing ideas that someone else had. I like the analogy I read somewhere that coders will end up in the same category as plumbers in a decade or two when we look back. Important and useful - yes. Revolutionary - no.
I've been in the industry for almost 20 years (25 if you count school/uni.), mostly contract both here in Oz and formerly in the U.K.; I find it bad enough having to run to stand still and keep up to date on all the new technologies - you all know what I mean! Unfortunately, people still see the I.T. industry as the universal panacea to employment problems, after all "how difficult can it be to programme one of those computer things?"(!)
What few of these poor schmucks are told or realise is that different languages are basically just a change of syntax (plus some relatively minor technique changes) and therefore easy to pick up if you already have the grounding. It's the underlying design and analysis skills (the ones you can't really teach) plus straight-forward experience that people are looking for in the more mature developers.
If an employer wants inexperienced developers, the newbie graduate will be be favoured as they will have lower salary expectations. If they are looking to the more mature person, it's because they are looking for the I.T. skills and not the "life" experience.
My current employer just sent round some c.v's for us to comment on for a work experience (read: unpaid) position we have - God, I hate doing that - and half of them were "mature" people moving from other industries which have slackened off. You try to ignore that you are potentially consigning the unchosen to failure and potential unemployment, thinking "there but for the grace of God go I". You look at the scant overview of I.T. skills that their three/six month "training" course has given them and know that most haven't got a chance - they've been sold a fantasy by the training agency.
The fact is that I.T. is a young person's industry, be it due to misconceptions or not, and unless you get in early it will be very hard to make it stick. We all know how rapidly the technology changes and how hard it can be to keep up; when you have a house and family there's even less time available - I've learnt to read and walk (without bumping into things/people) just so I can use the train/walk to work to read manuals - it's only my long experience, adaptability and up-to-date skills that have seen me through these last few years of lean times.
If you can show the ability to adapt, have plenty of hands-on and can keep up then contracting is the way to go for the older developer IMHO. Employers don't want to take on permanent oldies (like me, shit I'm only 41!) but the contract industry cares less about the person and looks more for the right skill-set and the experience to back it up. It's kept me in good money thus far but I have to admit it's getting harder to keep up all the time.
Go permanent? In your dreams and my worst nightmares.
At my company (if we were hiring), we'd only hire experienced programmers (including former interns) right now. "Just out of school" with no practical experience wouldn't be considered. This is a product of both the current state of the company and the local hiring market; we're very short-term focused currently and there's a glut of good people in our local market - I personally know over a dozen good programmers who've been job-hunting in the last 3 months. If we hire, we're going to cherry-pick.
However, some other factors that will influence the ability of a new coder to land a job are:
- contacts - a very large amount of jobs still get filled (at least in part) via contacts and "word of mouth". Especially smaller employers like to have someone they know vouch for the candidate, at least to the extent that the candidate isn't a total asshole and some companies now won't give more than a "yes, he worked on those dates" reference for former employees, for fear of lawsuits. Get yourself friends and associates in the business area you would like to work in.
- grades - they're just about the only evidence that you're competent in your new field.
- previous work experience - a lot of programming deals with particular business or technical information and someone with experince in a particular field will have a chance landing a job programming for that field; a former nurse at medical supply co., an accounting clerk for a in-house accounting software, etc. Most disciplines are getting computerized to at least some extent, so an older worker can try to put experience to work in the new job. I know of an ex-"blue collar" guy who used to work warehouse and delivery jobs and had to re-train after an accident; he managed to (eventually) get a job working on inventory software despite being over 50 with some modest disabilities. He started in Quality Assurance and then managed an in-house transfer to a coding position.
- the local market - if experienced people are on the streets looking for work, new coders are competing to some extent with that pool of talent. Newer training and lower salary demands can somewhat counter-balance this though.
- language skills - multilingual coders have an edge for some positions
Good luck.In the field? Chances are good. At the same job? I doubt it.
It is obvious that to develop radically new things you have got to have very open-minded attitude and flexible thinking
That really depends on what the "new thing" is. Not all new things require open-mindedness or flexible thinking. Many new things require your experience to be applied in new ways, but that doesn't mean your experience is now obsolete.
So by the time my generation retires, the only thing people like me can count on is maintaining antique legacy stuff
With all due respect, that's entirely absurd. If you lock yourself into a technology, sure, you'll maintain legacy stuff. If you keep up on new technology constantly you'll find that there are very few "radically new things" in this field. Yes, there is constant advances, new concepts, etc. But it's only a "radical new thing" if you've been out of the field for 20 years. If you've been in the field for 20 years and keep up on stuff as it comes out you see a line of logical, incremental advances. So you'll only be maintaining legacy code if you learn VB in 2000 and don't learn anything else for the next 40 years.
Will there be enough work for those 5 people to maintain legacy C# code or linux kernel?
Again, you are basing this on an assumption of obsolence. Just keep up on new technolgies and you won't be doomed to legacy maintenance in the future. It's really not that hard.
Or will technological progress move so fast that their skills would be so obsolete that there will be at most need for just one person?
Again, you assume that schools will start cranking out students that are versed in a new technology that is so damn complex that people over 30 can't grasp it. That's nonsense. If anything, those with a firm understanding of today's technology are more likely to be able to adapt to new technologies than teaching something to brand new students. It has been my experience that it is easier for someone who has a complete understanding of 'C' to learn any given new technology that comes out. A new grab out of college has a hard time applying the THEORY he learned, let alone build new ideas and concepts on top of that.
In all, you have a very fatalistic attitude towards your future in the industry. If you really believe what you're saying I'd get out of the field. I definitely won't be maintaining legacy code in 30 years, but if you are convinced that's what YOU'LL be doing you have a big chance of being right.
You'd have to shoot me before you could promote me, can't think of a worse thing than to be taken from a hands-on tech. role to become a paper-pusher... what a nightmare! That's why I went contract, no career pressure, and I'm a far better developer that I could ever be as a manager.
Go permanent? In your dreams and my worst nightmares.
I'm an EE. Actually, a BSEE, and an MSEE, and I have my MBA for good measure too. I knew that I didn't want to work in software and coding, so I took a hardware specialization in ASIC and digital.
Well, lo and behold, after four years in the workforce, two layoffs, slavedrivers at my first job, all that work is being farmed off to Asia, eastern Europe and other low-paying locales. No joke - you can walk to an average ASIC provider with $200,000 and get a 2 Million gate ASIC with an embedded ARM, SRAMS, and ADC/DACs designed turn key. Those types of ASICs with design services used to cost almost ten times that amount. That also includes mask and tooling costs, btw.
In fact, most of the rest of hardware engineering has cratered in the same way. Cheap foreign labor has usurped the profession because electronic devices, like software, have for the most part become non-locale-specific commodities. Those electronic devices only need to pass Underwriters Laboratories or Canadian Standards Association safety certifications, and if they don't they just get redesigned. No engineer in electronics that I have ever known in my short career has needed their Professional Engineering degree, but I'll tell you that none of these guys who would have a product for sale here in North America would sign off on the design documents and be personally liable for them if they were designed outside of the United States and Canada, even under their project control.
Contrast this with, say, civil engineering, where the engineer has to stamp his life away on the lower left corner of the blueprint of that bridge or building, and if something goes wrong and it falls down and kills people, it's his ass. Plus, they need to be on-site almost all the time, because they're virtually all locale-specific type of projects at one point or another, particularly when it comes to the geotechnical aspect of it. I sure as hell wouldn't trust someone to design and spec out bridge trusses if they lived somewhere else, nor would I want it to be built on a mound of quicksand (as the Alberta Provincial Legislature was).
What's even more sad is that I've personally seen cover-ups of folks whose consumer electronic devices have burnt up in the end application due to overcurrent latch-up on a power IC, yet nobody needed their P.E./P.Eng. designation. Only in higher voltage power systems design has an EE required his/her professional designation and to stick his/her neck out. Well, that and for those who develop military and aerospace systems. But who cares if a piece of software asserts a line too long or wiggles it the wrong way to send a device into a tizzy, right?
The real solution is to reregulate the profession such that safety, both software and hardware side, become personal liabilities for those who have designed them. Small errors are liabilities for civil, mining, chemical, and mechanical engineers that need to be corrected. Yet small errors in functinoality are things that "we just have to live with" and accept for redesign. You can bet diamonds to dollars that the SW/HW design clowns outside this country have virtually full immunity on a personal if something happens or will at most get fired. Big whoop. Once you change SW/HW engineering to a locale-specific and safety-specific craft for which individuals become personally accountable and necessary locally, you will fundamentally restore dignity to the profession and cauterize the wounds that are causing the outflow of this profession to other countries.
As for me, after a couple of layoffs and general disgruntlement with the profession, I'm going to look at getting into management consulting and using my MBA a bit more. God knows half the companies I used to work for sure need an internal overhaul. But it's cultural- and location-specific type of work, it is very versatile, you can consult for yourself or someone else, and you can't farm most of it out because it needs to be local.
I dunno. In my late 30's I went with the flow and moved from programming to managing programmers. After a few years, I was doing fine, but I realized that my life kinda sucked. All the stuff I really enjoyed doing, I didn't have any time to do anymore. So I moved back into programming and haven't regretted it for a minute. I'm 47, working with people ranging from early 20's to early 40's, and I really don't notice any agism. Of course, maybe they're mocking me and I don't notice; my eyesight isn't what it once was :-)
Hey, I'm 37, and I've been in the field professionally since I was 22. I'm not the youngest at my current client, but I'm hardly the oldest.
In fact, most people I see in this business fell into it from other fields entirely. I've only met a few out here in the real world that actually went to school specifically for programming. Most got degrees in other fields.
I really don't know that age is that much of a factor either, except that the younger ones actually chose the field during college instead of afterwards.
Age discrimination is a real and serious problem in many industries. This post is not an attempt to defend that illegal practice.
Having said that, the key question is whether the older programmer generates enough value for the company, compared to a younger programmer. Programmer A with five years of experience might get something done (by that I mean debugged and ready to ship) in half the time than programmer B fresh out of school. That means the company can afford to pay programmer A about twice what programmer B is paid. Everybody is happy.
Problem is, programmer C with ten years of experience isn't going to get stuff done in half the time of programmer B! Your salary as a function of personal productivity must taper off at some point, possibly even cutting into the company's profits.
We can easily see that even an honest company may essentially have to freeze the wages of older programmers, or lay them off altogether. What we need is a way for older programmers to become more productive, and I think the answer is for them to teach. If old programmer C can make young programmer B more productive, then C deserves part of the additional value generated by B. If C can teach several young programmers D, E, and F, then their additional productivities can help sustain C's salary requirements.
This of course requires a pretty enlightened employer, but it also requires programmers to understand that they will hit their pay ceiling pretty early in their career, unless they take on slightly different jobs as they progress through their careers.
you obviously have some other skill and experience to boot. That's your edge over the younger crowd. If you're looking for a menial 9-to-5 position, that's not going to be worth squat. If you're looking for something a little higher up the ladder, you're far better off.
If all else fails, kill yourself.
Few programmers work to develop code as a marketed product. Nor should they. Software that is designed as a profitable product will always be inferior to software developed to solve a problem directly. It is easy to demonstrate impericaly ( a little more convoluted to prove logicaly) that software is not a good sustanable buisness without resorting to sleezy practices ala MS. Most viable commercial software products were produced for use in house befor being marketed. With Open Source, companies will be able to do more, in house, and for less cost. That will allow them to hire more programmers while retaining the same budget.
For an older programmer to move into management is not THE natural process, simply A natural process.
I'm 25 and a programmer. When I was in college and writing webapps for the university, I was asked to run their student computer support store on an interim basis for a few months. I was supervising a half dozen part-time techs. I hated it, but recognized that I couldn't have asked for a better opportunity to try my hand at management without making a long term committment. I know keeping a few techs in line isn't the same as running a development shop, but to some extent managing coworkers will be the same in any management position.
Ever since then, I've been able to confidently answer the standard "Where do you see yourself in 5 years?" interview question by saying I see myself as a senior/lead developer. One of the things I look for in a potential employer is a recognition that a development team can benefit from having two promotion tracks - technical and business.
Many companies don't have the technical track. If programming is what you want to do with your life, find one that does.
I'd still hire "old" people, but only if their resume showed strong skills with new technology and new ways of designing/doing things.
"I'm sorry, I can't hire you because you haven't demonstrated that you can keep up with the technology."
"What are you talking about?"
"Well, it says here that you wrote the kernel for Windows 95, but nothing about experience with Windows Server 2003. And you seem very efficient in Perl, C, C++ and Java, but we're using C#. And to top things off, you drive a Buick Regal and don't have any body piercings. We can't possibly hire you because you're married and have kids, which means we won't be your sole overriding priority in life."
A Government Is a Body of People, Usually Notably Ungoverned
Your problem is...your traditional thinking and how you let it limit your imagination. You overlook your ability to change and do. You are a victim of your own age discrimination.
It's a different world now...I promise. Move with it or die...it's really that simple.
Stop being so IT centric and give yourself credit for being able to make decisions without panicing. Then look around and realize what an asset this can be and find an employer that values that. You can jump into any other field and find a home...project management is needed from the medical industry to tourism...from energy management to child adoption.
Why limit yourself, when so many others are already trying to do that as well. You are in charge of you...take a chance and find out what you can really do. You may just learn something about yourself in the process.
I think you forgot that the older programmer is far less likely to produce bugs. Sure, the young new hot shot pumped code out that can sell, but what's the suport cost of a shitty product vs that of a product produced by an experienced person?
... Mind you, I say this as I myself am a "young hot shot" -- 23 years old and a college drop out. I know I'm a "young'in" and I revel in the knowledge that I am sometimes fortunate to glean from real senior programmers. Unfortunately I don't get to work with them that often, probably for reasons that this whole thread was started.
Personally, in my current job, I'd much rather be handling software pumped out by some older guys that knew what the heck was going on. I see too many bugs to think that a new hot shot programmer can actually do the job the Right Way.
I'm an older coder who's worked in Life and Health environments using Cobol. I'm also a C/C++ coder writing interfaces to replace older mainframes with PC based servers for these industries. Here's the scoop your looking for. The United States Government is offering corporations a tax incentive for hiring overseas labor from India. That means that young people getting degrees in IT will have to compete against Indian labor for less than 1/2 what an American programmer would make. Anyway you cut it, our current Republican Administration is out to cut our throats anyway they can. And I pray the American public will eventually come to their senses and vote that party out forever. The way I look at it, either you are an American or your not. If your not going to be an American then you should be here and you should be pushing your product here. It's just that simple.
As an older programmer with no particular attachments I have to say that I've found overtime to be generally counterproductive. Yes, I don't have the stamina I used to have, but even in my youth, if I worked more than ten or so hours a day, I ended up making more mistakes and getting stupid. I finally learned that in the long run, I'm much better quitting when I've run out of neurochemicals, going off to refresh myself with life, and coming back with new insights. Working myself into functional idiocy doesn't do anyone any good.
And I can't speak for other geezers, but I have not lost any interest in learning. I pick up an average of a new language every year. And I've found that the best job security is found by doing one hell of a job.
I am impressed by everyones omniscience, too bad y'all can't agree
Try not to be so literal. Not everyone...but certainly many. Of course not everyone wants such a role. Cool...less competion...that's a good thing, no?
Programmers, when properly trained/skilled, are prime examples of individuals that live and die by being organized. They understand how to prototype and draft and forecast. They know how to allocate and redirect and terminate and archive. They now how to start, stop and restart.
These are all things that define project managers. Project management/planning is one of the highest demand categories in modern industry. A good project manager can make or break an otherwise successful product. If you've run out your interest in coding, or you're simply not able to find a programming job, consider project management in any of a hundred fields. You'd be surprised how interesting it can be, and how useful your present skill set is going forward. My background allows me to talk directly to our software people, and they appreciate that. My background allows me to build my own custom tools, instead of writing a clumsy spec that some intern has to try to follow. My background allows me to prototype in minutes what would take a team days...and if someone wants me to make a decision based solely on the information on the white board, my background allows me to imagine the flow of details quickly and with confidence. I manage projects....and without programming skills to back me up, I'd be forced to carry a crystal ball.
Again, many industries need planners and project managers. Don't let the job define you...step in and define your work by your own standards. Find a company with a problem that needs your skills at large, not just as a programmer, but as someone that can see the big and the small of it. Someone that can handle details and deadlines....detours and debates....specifications and routines. You can still write scripts and run data dumps...you're in charge, remember?
"What is the difference between an old chair in an antique store and an old chair in a thrift store? None, except the price!"
"Elvis sat on it" doesn't make a chair antique. A collectors-item maybe, but that is not the same as antique.
The chair in the antique store represents a lot more workmanship (experience and quality) and has passed through many proud owners hands and will be a welcome addition to a sophisticated new home.
While the chair in the thrift shop is almost falling apart and the previous owner was happy to get rid of it. The new owner shopping at the thrift store, if any, is just looking for the best bargain sitting equipment, new or old, but mainly cheap.
Connect the dots, fill in the analogy. Apply to real life.
--- Hindsight is 20/20, but walking backwards is not the answer.
Actually, the older programmers I've worked with indeed produced less bugs on first writing. But their code was behind schedule and unmaintainable. One wanted to keep learning new things, so he would use the 5 latest new things he wanted to learn, regardless of project requirements. Another had so much experience it crippled him. Every project could be (over) designed as a combination of things he'd done before, so the simplest dynamic web page became a pile of multiply inheriting objects comunicating via message queues and persisting themselves to a relational database. To another, everything looked like old hat, so he didn't bother designing anything, he just dove in to coding. In each case, their experience almost, but not quite, let them get away with their faults.
Experience is great, and you need it to avoid some pitfalls. But having it doesn't mean you will avoid them, and experience has a few pitfalls of it's own.
Enthusiasm is the advantage of the young. I myself am a lousy programmer when I'm bored. More experienced programmers may be able to solve a problem more easily, but younger programmers haven't already felt the thrill of solving it a couple hundred times.
When I was a young programmer, I'd come home at night and write other programs for the hell of it. These days, I'll sometimes stay at work late (knowing I'll get chewed out by my wife) if I'm working on something satisfying. In 10 or 20 years, I just can't see coding being one of the top 2 or 3 things capturing my interest.
"The situation doesn't look like it's going to improve, either - at least not within the decade, and probably longer" - I believe you're right about that or though I would give it even longer time, say 20-25 years before things get better. Why? Becasuse this sytem is f-up, corrupt and too old to get another growth phase like it was in the 90ies when recruiters begged you to get in touch with them. Now, you have to chase recruiters if any are left out there. Things changed so much that it is already scarry. So, what is my plan? Do what you can, I'm doing MS, but even that might not be enought, because believe me people who are less qualified but have personal connections will keep their jobs and prevent more quality workers from replacing them. It's the game of survival now, egos get very edgy and cunning when it comes to game of survival, people of low morale through personal connections will do everything to keep the world from changing, because if the world changes they have to go, so there will be a lot those personal and bitter fights ahead. At the end good karma will win, I'm sure.
IP was invented for the sake of lawsuits.
You might have had a problem finding a job three years ago if you were 35+, but probably not because most places would hire anybody who was even remotely competent. These days if you are light on experience (which most really young people are) you are completely screwed. Every company I've seen needs people who can be immediately productive and require no training. If anything, I would imagine that a 25 year old programmer with 3 years of experience would have a significantly more difficult time finding a job than a 40 year old programmer with 15 years of experience. Companies don't hire young people because they're cheap, they hire old people because they are just as cheap. This may be unique to Silicon Valley...
Of course the philosophy at big software shops is different. Microsoft, Sun, Oracle, IBM all like to recruit directly out of college/grad school. It's easier to teach people the "right" way to do things that way. This also lets them pay people less. Of course they are able to do this because they don't need people to be immediately productive. They can afford to invest a few years of brainwashing, err training.
- The first two points will weed you out of a company that insits upon deadlines and schedules, with managers that presume highly of their abilities to budget and schedule everything oh-so brilliantly.
-
The last two points are guaranteed to prevent you from getting jobs at Microsoft-dependand shops, or anywhere that is stuck in vendor-lock in general, since they are essentially building on proprietary bases.
This opens the larger and somewhat off-topic debate: True freedom only exists when you are no longer dependant upon money.You'll surely notice that only CEOs or politicians can have a claim at true freedom: their salary is high enough that if they reach a "mutual disagreement" with the organization, they can afford to just hand over their resignation, take a few months of vacation and reappear at the helm of another organization 6 months later.
Meanwhile, most mere mortals actually need a job to make ends meet and are therefore forced into making decisions that go against their moral principles, such as accepting a job doing somehting they hate.
The obvious conclusion is that since their is no freedom without financial independance, there is also no democracy except among truely free men who can afford the consequences of their decisions.
Software is not supposed to be about how to work around a useability issue. - Ken Barber
That seems to be the way of things. But generally, we don't expect doctors and lawyers to become managers, so why should we expect software developers to do so?
:-) ). It also happens in teaching, a good teacher will become a head or a principal, and have less to do with standing in front of a class and more to do with the budget. In the military, senior officers join the General Staff and concentrate on planning and strategy, while younger officers actually lead the troops on the ground. In fact, that's the way it works in every profession.
Yes we do. A good lawyer will eventually become a partner in the firm, at which point their job will be a) selling new work b) supervising younger lawyers and c) handing the really tricky cases that the associates can't. The same is true in civil engineering, accounting, management consulting, even medicine (don't you watch ER?
What you should be asking is, what makes programmers different?
how all the older coders say: "Companies don't want us, in this market they want all you kids who will work for peanuts"
:-) ), just worry about getting great experience at a company that's respected and known in the IT market. Could be a software house, could be a bank, could be a household name like GE or Boeing. Between 3 and 6 years, leverage that to make some money and take some risks, maybe join a startup. But come 6 years, get into a company with a reputation for treating its staff well, the sort of place with a very low churn rate, where your interviewers have been with the company 15 years. Ideally if you change jobs, try to go to another one like that. Don't get off this track until you really are a guru, then start your own company.
while we kids all say: "Companies don't want us, in this market they want people with experience."
You will find that there is a "sweet spot" in your career, between 3 and 6 years experience. Any less than that and you're probably still a "graduate trainee", any more than that and you're starting to make financial and personal commitments (mortgage, kids, whatever) and your price goes up and your availability (late nights, weekends, etc) goes down.
In the first 3 years of your career, don't even worry about money (altho' money si good too
It is a rare manager that just needs some code pounded out. What managers need is someone who can understand what the project is, help in the planning, coordinate with others, actually write waht was asked for, offer ideas on how to make it better, and interact with customers to understand their needs. Managers also want someone who is likely to stay with the company for longer than six months - hiring people is hard work.
Older workers generally have those skills from having had to learn them in previous work situations while younger workers are still developing their skills in those areas.
There are exceptions of course - there are younger workers who can do those things just are there are totally clueless older workers.
All in all I would think that older programmers would find it easier to get jobs.
Somone's age correlates strongly with when, why and how they got intot he business. So age may correlate with performance and employability, but the *cause* may be the underlying factors.
I started when I was 13 and am 35 now. I'm a guru. People who picked up programming as a job skill in college tend to be weaker. Also, people who hopped into the biz in the dot-com era because it was hot lack the passion and mindset.
So a 30 year old web-designer probably picked up coding in their mid 20's in 1999 (any punk with a nose ring who looked cool could get a job in web design back then). Likewise, a 50 year old is more likely to have been working the back room of an insurance company sice '74.
Both are a different breed from us 35-45 senior dev or architect types, who grew up coding till 3am on our Commodore 64's, and who had it imprinted on our then-pubescent brains. Our age is not as important as the history it correlates with.
I also wrote something about this before that I think people would enjoy reading.
Nothing great was ever achieved without enthusiasm
A lot of you kids seem to be assuming you're talking about somebody trying to get in...and missing those of us who've been here for 10, 15, 20 and more years.
...zdnet?... a few months ago, where it said that in the tech sector (thir largest, behind retail and fast food!), the unemployment rate is around 15%.
Let me put it this way: on a techie mailing list I'm on, with maybe 30-50 heavy posters, and including people who some of y'all might recognize the name, the last time we polled ourselves, last year, we had over a dozen of us out of work. Since then, several have gotten jobs...and several more lost 'em.
This matches what I read in
In the Chicago area, when I left for FL in Jan, it was about 20%.
Does the word "depression" come to mind?
And for the jobs that are available, HR, who, in general, barely know how to bring up email, put a laundry list of languages *and* packages that would require any three people to cover, and don't want to pay for it.
I've recently seen one in my neck of the woods, that want an experienced person to do troubleshooting and installs, with up to 75% travel, and they want to pay $30k/yr for this. Would you like fries with that?
Finally, there's yet another, almost unprovable issue: ageism. I'll bet you a drink that the interview I had last spring, I didn't get the job, because the owner was early 30s, and everyone else in the office seemed to be early 20s.
At 50+, I wouldn't "fit into the culture".
Meanwhile, let's all just sit back, watch them CEOs take their paid-for GOP legislators' tax breaks, and export jobs overseas (e.g., IBM's 500 seat call center in India), and bring cheap labor H1b's over here. Ah, unions and labor laws are *so* 20th century...as is a decent living.
mark, programmer/software developer/Unix/Linux sysadmin, 23 yrs experience, 21+ mos. out of work
If you care so much about money, perhaps you should go into finance instead of computer science. If you have no passion for what you do, what are you doing in an "enthusaists" forum anyway?
I believe in doing what you love and not worry about money. In our field, it's actually quite easy to accomplish.
And I'm sick of this "IT" this "IT" that; everytime someone tells me that he works in "IT," I'd ask them exactly what they do. None of them knows crap about technology or computers. I'm sick of the constant whining by "HTML Coders." They deserve what they got for dropping school/job/whatever to join the dotCom gold rush.
I'm damn sick of computer science students not knowing shit about computers. If you came into this field for the money, what right do you have whinning about your income? The field no longer offer you the good pay; then leave. Switch to investment banking or car repair or strip dancing. Stop whinning.
A poet never think about striking rich; they do what they feel passionate about. Programmers shouldn't be any different. If Linus didn't get paid for Linux, why should you demand a certain pay? If I were the recruiter, I will reject you whinners because only failures worry about salaries, not the work to accomplish. Be thankful that we are damn lucky to be able to make a good living doing what we love.
It's bad times. So what? I know of people who can't wait to retire and I know of people who just love doing what they do and refuse to retire. Your happiness is your choice.
This may never be stated explicitly, 'cuz it might violate some labor laws, but most managers prefer staff that are younger than them. It's easier to lead discussions, dominate meetings, tell people to do things that they don't want to do if it's someone who doesn't have a few years on you. There may be exceptions, especially among very high status people (such as POTUS) where other factors override age, but I'll give you a dollar for every exception if you give me a dime for each instance of the rule. Geezers are better off building their own companies or doing other things to demonstrate their abilities than wasting time interviewing with managers who'll be thinking (but never saying) "I can't push around that old fart. Better go with the kid."
--- Attorneys Assisting Citizen-Soldiers & Families -