Is it Possible to Age Yourself Out of a Job?
An anonymous reader asks: "I'm a programmer with more than twelve years of experience. In all that time, I've never been a 'senior' developer. I'm competent and I work hard, but I don't think I am quite a senior developer in terms of technical or people skills. More and more I feel that I'm aging myself out a job. By this time, employers expect someone with my experience to have advanced some, and they may not be willing to even talk to me now, thinking that my pay requirements have grown while I have not. Even if I did get hired someplace new, my peers would likely be much younger than me. What do you do when you have an applicant like that? Are my fears legitimate?"
read a lot of programming books and learn as many useful programming languages as you can. even if you don't want to be a senior developer, you can still be the guy everyone goes to when something has to be done right.
when searching for a job if you think they will overestimate your salary requirements be upfront about what you expect to make to eliminate that problem.
Snowden and Manning are heroes.
As somebody who hires people at startups and small companies, my take is "maybe". Programmers are a quirky lot, and I try to take each one individually. Although the arrogant ones get the press, there are quite a number that are ridiculously modest, and you might be one of those.
Even if you aren't, there are advantages to age. The biggest one is maturity. There are mistakes that every novice makes that are (I hope!) behind you. Instead of a drama generator, you are probably a drama shock absorber. Even if your people skills aren't as great as you like, they're probably a lot better than 12 years ago. And best of all, you can see that with age comes some self-awareness. Everybody has problems, but in hiring one of the things I really look for is an awareness of your limitations and the ability to manage them yourself.
When evaluating somebody in your situation, one of the big questions I'd have aside from the usual ones (e.g, can you do the work) is whether you are still like the work and are eager to improve. For example, I feel like every programmer should learn a new language once a year. That doesn't mean that you become expert in it, just that you are stretching your brain. Or you might have a side project you're excited about. Or you might be studying software architecture patterns. Anything that proves you aren't a clock-puncher who just isn't sure what else to do.
So I'd say as long as you are doing work you want to do and doing it well, don't sweat it much. You may have to work harder to find a job than some young hotshot, but there are plenty of employers who value a steady producer who won't be a pain in the ass.
be just pay. Younger people tend not to have families and, lacking experience, will often be coerced into working longer hours etc. They could be afraid that you would not put up with such conditions and bolt as soon as you got the chance.
I'm 26, but I am saving like hell because I know that age discrimination is rife in this industry, and the more I save for retirement right now, the less I have to worry about such things.
Monstar L
*sigh* This is part of the problem with programming. This is rarely an issue in any other career (except maybe medicine). For just about any other occupation, candidates who are married with children are more desirable because even though they may have commitments outside of work, other people are relying on them, and they are less likely to make haphazard career decisions. Simply put, they are better long term employees -- they are already committed to their families and are therefore more committed to their employer. Yet, somehow, in IT, a family is often a liability. Something about that is not right in my book.
I'm 26, but I am saving like hell because I know that age discrimination is rife in this industry, and the more I save for retirement right now, the less I have to worry about such things.I'm 28 and I'm out of the programming game. Enron's collapse did me in. I'm going back to school to do something more rewarding with my life, probably major in mathematics and then either teach or maybe try engineering. If the IT industry wasn't so abusive maybe I'd still be in it, but I'm just not that interested in programming anymore (for a living, anyway - I still program in my spare time). You know, if there was ever an industry in the last 50 years that needed to unionize, it's IT...
I just presented it as an idea, because the person asked about remaining employable. One way that people progress in their programming careers is to become technical experts, then mentors to the less experienced, and eventually to senior members of the company. I think it is a natural progression. You master one thing, and then move on.
Other people, as you pointed out, are just as happy accruing technical expertise for the length of their career. Nobody says you must go into management one day. But don't be surprised if, after 10 years with a company, you know the products, people and history of the company so well that you are offered to take up a more senior position. At that point, you might find it easier to accept. You won't be that young anymore, you'll love the corner office with the view, and the pay raise and invitations to dinners and golf games after lunch might become all that more appealing. :-)
I think that, in general, people enter their careers at a technical level, and as their understanding of the big picture expands, they naturally progress to positions where they have more influence, formally or informally.
People with MBAs are happy to pay people highly with MBAs... if you can't beat them, then join them.
My little Linux and tech blog
Yet, somehow, in IT, a family is often a liability. Something about that is not right in my book.
The main reason why family is considered a liability in IT is because IT is an industry where sweatshop labour is considered the holy grail.
Families have a tendency to get in the way of Dad working 18 hours a day, and the sorts of demoniacs at the top of the IT management pile don't want that. They want people who are willing to work for as long as possible at a stretch, for as little money as possible, in as poor conditions as possible. It's the entire reason why importing people from India has become so popular.
India at least used to be a third world country, and so you can import someone from there, pay them south of $250 a week without any other sorts of benefits, and expect to get 18 or so hour workdays out of them, and they'll still think they've died and gone to heaven. An American rank and file employee on the other hand is never going to put up with that, but American managers crave being able to treat their staff like that, because it keeps overhead to a bare minimum, which means more money in their pockets...which is also the *only* thing they care about.
That is the reason why IT managers don't want workers having families...it's because they don't want to treat IT workers like human beings. They don't want to *acknowledge* that IT workers are human beings, because doing so means they lose more money than they're comfortable with. The "money is more important than life itself," crowd don't care about anything else...in the end they don't even care about their own lives. All they care about is the size of their bank balance.
I'd like to present an opposing view to the posts that have been modded up so far.
I believe that yes your fears are definitely legitimate. You state that you don't see yourself moving up from your current position even though you expect higher pay. Unfortunately these two options are not compatible.
Companies constantly judge the value that they get out of an employee versus how much that employee costs. The reason managers get paid more is that they are able to leverage more people (=value) and therefore create more overall value as a result.
If you haven't already, you will definitely hit a ceiling in terms of pay. If your salary continues to go up past that ceiling (due to company policy or a friendly manager), you will be the first person earmarked to go when the company downsizes (as a result of the previously mentioned value judgment).
I do understand that it might be harder for you to gain the required people skills to move up, especially in an industry that, at the lower ranks, requires very little in terms of people skills. But people skills, just like any other skill, can be learned and acquired by practice.
The good news is this: if you do make an effort to acquire those people skills, you'll be able to move up the ladder much quicker than those younger than you because, as mentioned in another post, the level of maturity you should now possess will definitely play a big role in the more senior roles.
Sheesh, man, now sticking to your contractual or even legal rights is a shadow on your career. You slave buyers (as well as slave drivers - HR managers) are sick bunch!
What's next? "Yes, he DOES stay long hours, BUT doesn't show euphoric happiness about it" or "Won't beat slackers into a bloody pulp" or "Won't do the (prison) time for the company"?
My favorite: "Won't sacrifice own firstborn and only child to the Company"... oh, wait! It even isn't a joke anymore!
When reviewing a resume, I look for things like growth & ambition.
Be very, very careful when you try to assess a person's growth and ambition. Climbing the corporate ladder is not the only way to grow.
For instance, I have absolutely no ambitions to become a manager. If that ever happened, you would see the Peter Principle in action. My ambition is to be an excellent software developer - and I am. My growth is in areas related to software development. I work hard at getting better at software development every single day. I am also 50 years old and have never held a job where I had any kind of management responsibilities. Would you hire a guy like me?
BTW, I work as a contractor. I have worked continously for my current customer for over five years. My contracts are usually for three months, i.e., I am evaluated every quarter - and they haven't thrown me out yet.
My opinion? See above.
Good, now after you have vented your spleen let me correct some of your facts and reasoning:
First, based on my experience other countries lead in the "slaverunner" routine. In fact, I would prefer to work for all of the American bosses I have worked for in my career any day compared to some of the British ones I have encountered. With nearly all of Americans the result was the most important item and how many hours did you clock on it was irrelevant. Similarly, most of them defined sane and achieveable deadlines instead of a UK-style deadline which is known to be blown beforehand. There is a reason why Britain is the only EU country to start throwing toys out of the pram every time the EU working time directive is discussed. And you can guess what it is.
Second, any IT person complaining about antisocial working conditions should look at the BioTech industry. They have take the leaf out of the IT book and have gone where no IT PHB Slaver has dreamed to go before. IT is a family friendly calm 9-5 desk job by comparison.
Baker's Law: Misery no longer loves company. Nowadays it insists on it
http://www.sigsegv.cx/
You're assuming that they make it that far in their career. Have you ever heard of the Peter Principle? It basically states that everyone will rise to the level of their incompetence. They'll be promoted as long as they are doing the job well. When they are promoted high enough that they no longer do the job well, they'll stop being promoted. They'll end up in a job that aren't quite competent in.
It's the same deal here. The promotion above 'senior programmer' is 'project leader', which is a halfway-management position. The promotions above that are all management positions.
Competent programmers will be promoted to management, and incompetent ones will remain programmers. (Except for the few who fight to stay programmers, instead of being 'promoted' out of the area they love.)
"If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
Unfortunately this is way too true and its something people in IT miss.
When someone looks at a resume IT people think they have to say what skills do they have; "I have language/skill X with Y years of experience."
What is much more impressive is answering the question "What did you do in Y years with language/skill X that helped the company." I don't do this yet, but I believe it gets you from the "maybe" pile to the "lets call him/her in" pile.
The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
I feel the same way. The "sweet spot" job I've been doing is being a "technical lead". This simply means that I get to code everyday, manage couple of smart programmers, and make the important design/architecture/coding and even product design decisions. The title that comes with this sort of job depends on a company - in one place I was a "Technical Lead", in another "Chief Architect" - but the stuff I do was pretty much the same.
BTW, I'm also 50 and I wrote my first program in 1976.
...richie - It is a good day to code.
Wow, get me a job with your former or current employers. Every project I've been on since 1999 has been behind schedule before the first line of code had even been thought of. Most were delivered early or on time with the last 5 years all being based on face time only, even if telecommuting or flex time were given lip service.
/. community reads /. during work hours.... ;)
If you take those two statements together, you'll see something had to give, and it was working hours. Only in the past 2 years have I forced the issue of the 40 hour work week back into my life. I'm now somewhere between 40-45 hours a week instead of 70-95, and I still manage to deliver those ridiculous deadlines. What I have noticed is that I am now working 6-8 straight hours a day (as compared to the estimated 3 hours of value add work in some government survey I'm too lazy to pull up - that's due to email, phone calls, meetings, people interrupting you, the web, bathroom breaks, coffee breaks, etc) If you think about it, that makes a lot of sense, as most of the
But, I'll make this comment, after many years in IT, my upward career swing is stalling. Does that have to do with my attitude? Undoubtedly, as traveling more than 10% is out of the question for the next couple of years (kids can have that effect). It also has to do with the realization that I'm already at an apex of sorts, and there's really no opportunities for advancement without career development of the sort that involves major changes (sr architect (technical) -> technical director (mgmt)). Unfortunately, the particular type job I'm looking for typically involves geographically spread out operations and 25%+ travel. This causes a conundrum where I have to decide whether to travel, or work below my level. Pick your evil.
I'm sure I'm not the only "older programmer" out there that's realized this.
The cesspool just got a check and balance.
Unionizing IT is not the answer. A couple of years ago I did a contract in a unionized IT shop and it was a nightmare! Incompetent, unqualified, downright lazy people in critical support positions, and protected by the union. Unions cater to the lowest common denominator and cause quality and productivity to suffer. Individuals have as much power as a union, they just need to stand up for it!
I have been in IT for 20+ years, I have worked in a lot of different shops, and you only get abused if you accept it. I have worked in shops that expected long hours, and I only did it if I felt like it. If the situation got too bad, i.e. they start demanding that I spend extra hours, I walked. The beauty of IT is that there is ALWAYS another job out there. In 20+ years I have only been out of work ~2 months total, and yes, I have changed jobs twice in the last 5 years. Outsourcing is completely overblown, computers are here to stay and only getting more integrated into our lives and businesses, there is going to be IT work for a very long time.
What is true is that salaries top out quickly...so if you want to keep getting more than nominal salary increases, you eventually have to go into management. What is also true is that as you age, you have to stay on top of the technology. Too many people get themselves in trouble by attaching themselves to a technology. I remember when the Defense industry died in the late eighties, lots of Cobol programmers hit the streets and started screaming "age discrimination!!!" because no one would teach them C++. This is why I've made damn sure I have things like "XML" and "Python" and "Javascript" on my resume now. If you're good, you can stay in this career as long as you want, but it takes work, and it takes planning. Be prepared to quit jobs that are decent, but use outdated technology.
The cake is a pie
Ahem. I have the same observation.
8 hours per day is maximum and even 8 hours per day every day is not sustainable for more than a month or so if you want to produce quality work (it is OK if these are not solid 8 hours and you distract yourself with email, meetings, studying, etc). If you work more than 8 hours per day (in fact more like 5-6 solid coding hours) you end up producing crap code and spending more time on maintaining it and fixing issues. As a result you end up going down a vicious circle. The more you work per day, the worse your code quality and the more time you need to maintain it. Recursion - see recursion.
The best thing to do is to break the vicious circle once and for all and do it when your brain is fresh. Coming back from a holiday is one of the best times to do it. I did it after I saw the number of bugs in something which I wrote by deadline just before going on holiday finishing at 4am. And I have never regretted this from that time onwards.
Baker's Law: Misery no longer loves company. Nowadays it insists on it
http://www.sigsegv.cx/
1)Noone is using any of those 3 languages, anywhere.
That doesn't look like a requirement for the chart. How many people were using APL in 1960?
And of the 4 languages (having trouble counting?), they are being used. D is used for DTrace, among other things. I know people using Io for (paying) projects. Fortress (more like Fortran than C) may be too new to be used on any real project yet, but again, that's not a requirement for it being a new and innovative language. And Arc is used by Paul Graham for his spam filtering experiments, which you're probably reaping the rewards from now.
2)Those languages are no different than existing languages.
Even if that's true, what does it have to do with anything? Were the 1960's more innovative because we got COBOL 61 and FORTRAN IV? What was innovative about them?
But none of these are new paradigms or ways of thinking about programming.
Fortress has a multiprocessing for-loop by default. Io makes (micro)threads so efficient you can spawn a billion of them, which opens up a lot of new possibilities. Arc is trying to enable the power of a full Lisp but without requiring parentheses around every expression (which seems to scare off a lot of people).
If these aren't innovative, then nothing in the 1980's or 1990's was, either. The last languages I know that changed my thinking so much were Smalltalk (1970's), Lisp (1960's), and ML (1970's). If "innovation has slowed", it happened back around 1980, not around 2000.
You can pick them up in a weekend, a week tops.
But you'd just be writing the new language in the style of a language you already know.