Should Younger Developers Be Paid More?
jammag writes "A project manager describes facing an upset senior developer who learned that a new hire — a fresh college grad — would be making 30 percent more than him. The reason: the new grad knew a hot emerging technology that a client wanted. Yes, the senior coder was majorly pissed off. But with the constant upheaval in new technology, this situation is almost unavoidable — or is it? And at any rate, is it fair?"
While I agree that experience should, of course, count towards salary--I've also encountered a *LOT* of IT staff in general and programmers in particular who stubbornly refused to learn anything new after they left college (or shortly afterward). They fell further and further behind and became more useless every day. I have absolutely no sympathy for someone who works in a field as fast-changing as a computer-related field and refuses to learn new skills (including, *GASP*, on your OWN time). These are not professions in which it is cute (or acceptable in any way) to be the old curmudgeon.
Would you want a doctor who still exclusively used surgical techniques from the 50's to perform your open-heart surgery? Would you want a mechanic who hasn't learned anything new in 20 years to work on your Prius? Well, the IT world changes *way* faster than either of those fields.
SJW: Someone who has run out of real oppression, and has to fake it.
I say yes!
I dream of a nation where a man is not judged by his skin color but by an number assigned by a credit rating agency.
The older developer needs to find a new job. IT raises only really come by switching jobs. For some reason companies rather have high turnover and pay each new hire more than give raises to staff. It makes no sense and is not fair, but it is life.
for the senior to ask for more than the new hire. After all, it'd take all of two weeks for the seasoned pro to get up to speed on this new-fangled gibberish!
char*f="char*f=%c%s%c;main(){printf(f,34,f,34);}";main(){printf(f,34,f,34);}
If the senior programmer knows the language or shows an aptitude for picking it up quick(which many quality programmers can do), then I think it's a slap in the face, particularly if the rookie has no realworld experience and no portfolio.
Otherwise, if the senior programmer knows BASIC with no ability to learn C# and the rookie knows C# and is hired for C#, I don't see the problem.
There are a lot of interesting issues here. First, the developer could've trained themselves in the new technology outside the company. Would the company have believed they had the skill? I know I routinely teach myself new things when they look interesting to me. I also know that it can be hard to get anybody to believe I actually know it.
And I don't really feel the developer has complete responsibility for doing this either. A good company will encourage its employees to learn new things and provide training. If they don't, they are basically calling their people disposable. They would rather hire new young college grads, even at a premium salary, than train their existing employees, even if it cost less in the long run.
Lastly, I really think this betrays a bias for youth over everything. And, to some extent, it's a bias I can understand. When I was younger, I wrote more code and faster than I do now. It wasn't as good, and I'm a much better programmer than I was. But companies frequently prefer code that's 'finished' to code that works well. I think it stinks, and I think companies are selling themselves short and limiting their own lifetimes by doing things that way.
Need a Python, C++, Unix, Linux develop
Everything is a commodity.
If you are easy to replace, then you are worth less. If you are in demand and harder to replace - you are worth more.
If senior developer doesn't know this technolgy, they are worth less.
Its not fair. But its expected.
Shouldn't it be the contribution he/she makes to the organization?
There is a spark in every single flame bait point.
The employer is taking a chance in that graduates fresh out of university are a crap shoot. Sometimes they're good, sometimes they're useless. Without an employment history to check up on, it's difficult to tell.
If they have skills that are in short supply, then yes. If all they know is how to print out "Hello World" in Java, then "no".
OTOH, 60 year old developer who can troubleshoot the COBOL that glues your organization together should probably make more than any random 22 year-old.
In other words, age shouldn't matter. An honest eval of what the worker can bring should
Yeah. An honest eval. Yesterday in the USA we celebrated MLK day, and part of "the dream" was honest evaluation, right?
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
Until we remove ALL legal penalties for senior developers who learn new technologies,
this situation is and will remain totally unfair.
If one employee is worth more to an employer than another, then of course he should make more. If a junior developer can do what my company needs to have done, and the older one can't, then he's worth more and should be compensated for it.
It's just economics. Salary for a job is based on the supply of workers with the skill set needed and demand for them.
1) How does one measure the value of one's life and work?? Is it really just about money? Weren't *you* that young guy upsetting the old guys 30 years ago?? Sit down, shut up, and keep to your knitting. 2) If you're worth more, prove it. Otherwise, you aren't.
Why should a programmer be paid less just because he's younger. In this case the more qualified candidate for the needs of the company is getting paid more, as it should be. Age doesn't enter into it. If the older programmer wanted the higher paycheck he should have kept up with the field. If he had made himself competent in the "hot emerging technology" that their client wanted, his industry experience and seniority would have counted for something. But no amount of general experience will make up for not having the skills his position and company needs you to know.
Common Sense isn't as Common as people think...
Stop speaking that way. You clearly have been infected with some sort of disease, you probably got it by standing too close to MBAs or Marketing folks, see a doctor soon.
For further readers the translation is as follows:
IT professional must keep their knowledge relevant. If they fail to do so what ever happens is their own fault.
This, and many similar workplace situations:
1. Have zero debt.
2. Have, in a money market account, distinct from your investments, one year of your carefully budgeted living expenses.
When these two conditions are true, conversations with your boss will tend to take a very different tone from most people's expectations.
-fb Everything not expressly forbidden is now mandatory.
What if the employer asked the senior coder to pick up XYZ skill in exchange for a really good raise? I bet you they would have become a subject matter expert in a short amount of time.
love is just extroverted narcissism
I'd be upset too. It means management doesn't understand that senior developer is almost always better than a fresh grad. Hot emerging technologies are easy to pick up for the senior development and in the long run, his overall wisdom will pay off. Without that wisdom, young guns make high-level mistakes and write code with more bugs.
Don't concentrate on what other people have. Life isn't fair. Nobody said it would be. Thinking that it should be fair won't give you anything but an ulcer. Instead, concentrate on what you have. Your position, your skills, your pay.
If you aren't happy - leave. Get new skills, get a new job, get different pay.
Basing your happiness on what other people are doing is useless. Concern yourself with your own position. If you have enough, great. If you don't, work on it.
Weaselmancer
rediculous.
I can piss twice as far as a troll.
It really should be as simple as being paid according to the value you contribute to the company. The old-school paradigm of simply being paid more because you've been there longer doesn't encourage employees to make themselves more valuable (learn new skills, develop capabilities for instance). Software development is one field where it is acutely necessary to continually re-invest in your education. If the old goat isn't doing that then certainly their value to the company is going to stagnate, even erode. To speak as to whether or not it was fair to pay the new guy more in this particular case is rather difficult without knowing specifics.
Two of my imaginary friends reproduced once
1) It could be considered fair if the senior developer can get the same amount of money after spending a month getting up to speed on this new technology.
2)I guess there might not be training out yet...but I have to imagine it would be cheaper overall to either send the senior to training or buy them the tools needed for them to learn the technology. That new hot tech won't be new and hot in a few years (it'll either be obsolete or a lot more people will know it( and you'll be stuck paying out the wazoo for a barely out of college kid.
The problem here is that the company lied to its employees. Now they have to face the consequences.
And write 3x as much **production** quality code.
Oh, you mean the things that didn't work with C back in 1988 and didn't work with C++ in 1994 and didn't work with Perl in 1998 and didn't work with Java in 2003 and didn't work with C# in 2008 won't work with Ruby in 2011? Gosh, it's almost like all that prior experience is transferrable somehow, if only we could find some commonality.
Recent graduates should be making just above minimum wage until they've proven themselves to be anything other than completely incompetent.
Their pay should then rise in accordance with their skills and experience.
Recent graduates are, in general, absolutely terrible. It's insane to pay some idiot kid a senior developers salary because they managed to pull a passing grade on a few practice exercises in C# in college.
Required reading for internet skeptics
30% of a year is 3.6 months. The older developer can learn the technology in that period of time, at which point he will know the new technology and will also have more skills than the younger developer in anything else.
So they could justify paying him the salary of the younger employer, minus 30%, plus some percentage for extra skills, and only for the first year. After that, pay him a salary equal to the younger developer's plus more for the extra skills.
Paying him 30% less, with no accounting for extra skills at all, and for all years forever, forever, can't be justified.
There are two reasons this doesn't happen. The first is that management and HR are generally completely incapable of understanding how long it takes to learn a new technology. The main reason is that they like to skimp on salaries and it's a lot easier to skimp by not giving an already employed person a 30% raise than by hiring a new person for 30% less--they're far more likely to go somewhere else when doing so just means picking a better offer than when it means quitting.
All of them? Are you really being serious?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
even if they are good on paper they might be crap in practice. If you need young hot talent then pay for it, but prepare yourself for disappointment. Cheaper coders might be just as good. Paying for good track record is probably worth the money. Worst thing that companies do is to promote good coders to be managers instead of paying them premium salaries. My analogy that I throw around is that when your guitar player finally learns how to play you don't "promote" him to be a manager and pick new "talent" to fill vacancy.
... has a job that requires him to run around and check various gauges and valves. His manager notices that he is doing an excellent job, and buys the engineer a bicycle.
The next week, the manager sees the engineer running around and pushing the bike. The manager asks, "Hey, why aren't you riding the bike? The engineer answers, "Who has time to learn how to ride a bike?"
Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
When I graduated, my chosen field was led by people without University educations, so I thought it would be easy to rise through the ranks, at least to a level. It's not good enough, however, to be just smart, and to know more about your field than people that have been in it for their whole professional life. To be honest, I'm not sure what is needed. If this guy can get more money to compensate for what he had to pay for his education, then good for him, because elsewhere, the reverse is usually true.
Say you are the senior guy, an expert at perl, sql and java or something. You take a weekend to learn ... and a few hours
at work to install the environment. But your title still is 1990s tech guy. And they still hire somebody who is supposed to be an expert in .
But he actually hardly knows it any better than you since its so new.
To counter that assertion, when a senior developer is asked if he knows some specific hot new tech should be able to say: "no, but I will next week". Once you know the basics and have experience applying them, picking up something new is fast and easy compared to the amount of time it is going to take to get a fresh grad up to speed on how things actually work.
although from an employee perspective it's not a positive thing, most companies put effort into preventing their employees from learning eachother's pay rates. I wonder how this senior coder determined what the new guy was getting? open his check?
I work for the Department of Redundancy Department.
I don't have a problem with younger people earning more than older people in general, I know I've passed quite a few people on a fairly steady rapid climb and is making a pay that would be respectable for a guy 10 years my senior. However, I would be very surprised if a guy straight out of college - no matter how hot the technology he knows is - could command a higher pay than a senior developer. There are after all fairly many college graduates and they've yet to show much real world coding skill. Starting salaries are typically low all around - for relative values of low - that reflect that. If the wage structure is so flat that giving new hires a bump puts them 30% above the team lead, there's something very wrong with what he was paid in the first place. Sounds to me he's the kind of guy who'll work for peanuts and should have asked for more or left for a better position somewhere else long ago.
Live today, because you never know what tomorrow brings
Not if those skills won your employer a contract worth 10x your salary.
There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
Stolen from Dwight on The Office. You could have at least changed a word or two.
Still hilarious though.
Until your lumbago acts up at least.
I want to shoot the messenger!
That's probably true, but you can't program either as well or as quickly as this one.
All kidding aside, this isn't a troll. There's a shift in one's thinking that takes place after learning 5 or 6 languages; it becomes ever more profound after you've worked in a number of languages for years. At last count, I've learned at least a major portion of some 19 languages. I've actually been paid to work in something like 10 or 11 languages, depending on what you consider to be a dialect rather than a separate language.
My point isn't that learning multiple languages makes one cooler. It's that it causes one to internalize and genericise problem solving methodologies, which makes one a better and faster programmer.
Let me ask you this question: do you expect to learn nothing over the next 10 years? Do you expect to become a worse programmer? All things being equal, a good new graduate will only get better over time.
"Man is nothing without the works of man" -- Helvetius
The reason: the new grad knew a hot emerging technology that a client wanted.
This is certainly a factor weighing in favor of a pay differential, but if its the only thing that is being considered, there is probably a deep problem; "new technologies" in the sense of programming languages and platforms are comparatively easy to pick up, proficiency in applying good practices to produce quality that cross cuts platforms and languages are less easy to pick up. If the only thing you look at in deciding how to pay technology staff is whether they have experience with the current flavor-of-the-month implementation technology rather than broad cross-cutting knowledge of how to apply technology more generally, then you are going to tend to produce buzzword-compliant, superficially (at best) attractive, low-quality, brittle solutions.
we all have been young. we all have been hot. it all passes after a while. those young developers (one of which, i am one) will also specialize in some fields and will stay in those fields after a certain time. that's human nature. you cant just be going at all the new things like hyper. not to mention that most of the 'new thing (tm)' end up being fads.
senior developer is harder to find. because, eventually, most of the developers will either leave the field, or move into management, or set up their own business. if, you have a senior developer who is still developing, coding actively, it means you actually have one of the rare ones out there that are still in others' employ. you should stick to him/her. once s/he flies away, you will be hard pressed to fill the position.
if, the new tech is so much needed, just pay some bonus or something to the new developer accordingly. dont upset the senior one. this also can incentivize the senior to to take on some new things too.
and last but not least ; dont get swept up in the endless fads that sweep the internet/i.t. world every now and then.
Read radical news here
While the end question of fairness is irrelevant (fairness is not and should not be considered in a capitalist society) (perhaps the younger developer is simply a better negotiator of salary and pressed the employer for more?), the end question of worth is. Much like experience in general, experienced IT developers know that there is simply no substitute for said experience. The skills of project estimation and proper time management are worth 30% or more in productivity alone, and young developers simply have no perception of these things. They are here to code! Right... so what's this environment thing you have going on here? This looks complicated...
The real question is why the senior developer has not learned the new technology already!
A specific set of skills is far less important than the general skills one accumulates over a lifetime of experience.
Except in the case where your customer wants that very same specific skill that said current employee lacked by the new hire knew?
computers are computers and any Developer should be able to pick up a new language if they are motivated. I can understand if someone is stuck in their ways, but any day of the week I'll take someone who knows how to build working code, but does not know a language over someone who does not know how to develop, but knows the hawt language.
Ah, but which technologies to learn? It isn't possible for one person to keep up on all programming technologies, especially when companies tend to frown upon people doing things which aren't part of their formal project tree.
Once upon a time it was incumbent on employers to provide training for their personnel ... thank goodness not all companies have gone the way of throwaway employees...
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
Application Knowledge & Experience should win every time. The younger developers that know the new tech should be guided by the more experienced developers who have the application knowledge.
IBM i on Power -- For when you can't afford to be out of business
mobile. a new thing (tm), which is exacerbated by the new social hype that carries the fads on the internet. something that which has a nature and direction not known by anyone. not to mention that it is a field of battle, result of which battle is not known, and can go anyway.
so learning iphone development is good (tm), then. what happens if google wins the war ? or some other unknown party ? or, european union wins it ?
back in 1980s, there were a lot of hot new stuff going on and about. up until ibm started liberal use of their personal computer specs/patent, there were a lot of upcoming, new/hot stuff and 'platform of the future' flying about. what happened ? in just 5 years or so, all went away and personal computer, a particular model name of a particular private company, became de facto standard of world computing. noone would even guess that result.
so, youre saying that learning something that hinges on an outcome that noone can even begin to guess about, is something good.
no, it isnt.
Read radical news here
Age isn't a factor. You're not getting more worthwhile for a company by aging.
leaving of such experienced staff may even bankrupt small companies.
Read radical news here
are you aware that, there are a lot of mega banks, finance corporations have infrastructures that are still running on a/s 400 and similar old stuff ?
Read radical news here
yeah. and tell about c, c++, perl, java, c#, python, ruby, php to the megacorporations, mega, mega global banks, and finance institutions that still have systems running on a/s 400, because it is too costly, risky and adventurous to change the entire system.
Read radical news here
What does this even mean: "is it fair?"
What kind of a stupid question is that? If the employer in question could only get the necessary person, who was familiar with the technology at that price, that's all that matters. That's what market is supposed to be anyway: there is supply of some skill, the demand for that skill goes up. Originally the cost of labor that has the skill is high, eventually more labor comes to the market with that skill and the costs go down.
What kind of a 'senior developer' are we talking about here, if the fresh college grad is going to be making 30% more from the very start?
Here is what we have: we have a 'senior developer' who is
1. EITHER unfamiliar with the market, cannot market his skills efficiently and get a position that would be more in accord with his abilities and compensation based on market pricing OR
2. we have an individual here who is effectively getting paid what he is worth on the market OR
3. we have an individual who is getting paid MORE than he is worth.
Either he is getting what he is worth OR he is getting less or more than that.
If he is getting less than that, then he should be angry with himself for being a dumb ass and not finding himself a job where he'd be paid as much as he is supposed to.
If he is gettin what he is worth or even more than what he is worth, then he is actually making himself look bad. That's right - you are getting what you are worth or maybe more and you have the gull to attack a fresh man like that just because that guy can get a deal that makes sense from point of view of the market?
--
Of-course, to be totally fair, there is another remote possibility. The fresh man out of the college is getting a much better deal than he should. In fact I think there is a combination of both: the fresh out of college kid getting more than he should and the guy who is complaining also being overpaid.
There. I said it. Why do I think so? Because people KNOW what they are worth. They do know it, so it doesn't take some new hire to remind them of this. So the guy knows, he is worth this much. If he were worth more, he would have found another job (and also we wouldn't have been here, talking about his dumb ass, he is making himself look like an idiot.)
The new hire - good for you. You got a sweet deal out of some stupid buzz. Or maybe you just know the right people, in which case - good for you.
--
Now, was there really a client who wanted this new technology and did the kid out of school need to be hired like that? There is probably another problem right there. Do you think that the client of this company will be told that the person dealing with their request is going to be some 'fresh kid out of college'?
This has a 'disaster' written all over it.
You can't handle the truth.
i think you need linguistics. seniority doesnt mean 'old'. senior means, the senior dubbed person has more history in the company or in particular field than the new hire.
Read radical news here
Old programming languages still work fine for new tech if they have appropriate libraries, etc
I have a perfect example on how wrong you are: Fortran.
I do a lot of engineering software and a lot of that is in Fortran. A few years ago I migrated a system with 400 thousand lines of VAX-Fortran code to Linux, using g77. Recently I had to install this system in a new computer, running Ubuntu Lucid. To my dismay, I learned that Lucid doesn't have the g77 package anymore, the gcc compiler suite has been "upgraded" to gfortran. And gfortran does not support the VAX extensions that g77 did.
Luckily there's still a way to install g77 in Lucid using the Hardy repositories, but how long will this last?
Had the old engineers said, "OK, Fortran is dead, let's just keep a legacy compiler to run old code" everything would have been fine. But no, they insist on "improving" Fortran by putting C language features, e.g. pointers, into it. Why can't they just learn to program in C and let the old compilers do what they are good for, which is running legacy code?
I once signed a petition to retire Fortran, where the best reason why experience isn't always welcome is stated: "In order to best serve future generations of scientists who rely on numerical simulation, we propose that FORTRAN be retired, allowing its successor(s) to evolve in the absence of the legacy FORTRAN juggernaut. Until FORTRAN is formally retired by the J3 Committee, institutional inertia will prevent alternatives from being adopted by science and industry"
The current Fortran standard is the worst of all possibilities: unable to run legacy code which is stable and tested, and unable to compete with modern languages in either execution speed or programming ease.
(And before anyone comes with some contrived benchmarks "proving" that Fortran code executes faster than C, let me point out that the legacy Lapack code is optimized in Atlas by compiling key functions in C+Assembly code)
Fair? What is this? (In the monotone of Deep Space 9's wormhole aliens...yeah, I'm that geeky.)
Sugapablo
You are competing for money. Either do what will pay best or leave for greener pastures.
"This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
As I read through, a few questions came to mind (for any generic case similar to this):
1. What kind of training does the new hire require? We just recently hired a new guy to my team at work, and he has some skills we needed, but we work in an industry that requires about a year of specialized training to be fully up and running. A hot starter might be able to shave 6 mos off that time if they spent a lot of time studying outside of work. If the new hire needs secondary skills (absent the hot tech) I would say "no."
2. What else does the senior guy bring to the table? Has he been sitting in a hole programming, or has he developed leadership, management, or other broad-scope skills that justify a higher salary (rather than "time served"). If not, a case can be made for the new guy making more.
3. As mentioned higher in this thread, is the senior guy stuck on legacy tech? His best route may be to shop himself out to the "rare and dying skills" customer set. The whole Y2K+COBOL thing comes to mind. If he's content to let his skills atrophy, new guy likely wins on this one.
4. Probably the real deciding factor here: what's the worth of the senior guy's contract vs. the new guy's. Business bottom-line first: if the new guy is able to bring in more money, he's worth more to the company and the new guy should think about moving on.
Personally, I try to be loyal to those who've been loyal to me, but people also have to put some effort in to keeping current and staying valuable to the company. Otherwise the new folks are eventually going to be worth a lot more than a 30% delta.
"Hey, I know what we're gonna do today." -- Phineas Flynn
They can pay each employee whatever they can get them to agree to (well modulo minimum wage laws, overtime laws, etc, etc).
Chances are the experienced developer can pick up the new-whiz-bang-flavor-of-the-month in less time then a new guy to get set up and productive in the company.
The again, maybe this particular developer hasn't demonstrated that ability. Maybe he has made himself indespensible in whatever role he has now and hence they can't have him do other things.
All of them? Are you really being serious?
Most of them are just the same old rehashed junk warmed back up to room temperature ... for awhile.
Look, the new kid knows the rules is just write random buzzwords on the resume and if you get an interview, start cramming. The old guy was too dumb to know he is supposed to do the same thing, more or less, tell the boss yeah yeah OK boss its gonna take 10 hours just like Scotty on TOS, and then do a bunch of on the job googling and whip something up in 5 hours, making everyone happy.
Note there is a huge difference in a "senior developer" whom has had 20 years of experience and one thats had the same first year, twenty times. I worked for a supervisor once like that, 10 entry level supvr jobs about 2 yrs each, he was just an old guy with only 2 years experience not an old guy with 20 years management experience.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
I guess how much I make is nobodies "business". But, having dealt with the corporate world for a mere 5 1/2 years, I thought increasingly more and more why salaries should be kept a secret. Maybe someone should have that option, but where I worked and likely most everywhere else, it was forbidden to tell others how much you made. This conditioning is stupid. If I am not happy with how much I am making, then I Have the choice to leave. You can say, well you were happy until you knew, and you'd be right. I am always happy until I find out I am getting the shaft. Perhaps my work is inferior. OK, then I deal with it and stay (hopefully acknowledging I need to improve) or I decide to leave and do something I am better at. But "I" don't have that option in ignorance.
What is best for the employees, is what is best for the company. No employees, no company. Can you take that out of context, sure. But companies often look at it backwards; what is best for the company is not what is always best for the employee. So they want to control in order to (delusionally) make themselves better. And, it is unethical too, imho.
I feel that corporations are a system designed to fail, in the end. We can do the same things we are now, but people could be self employed. We think we can't, because we are conditioned by those that wish to make money off of our backs. End of story. It doesn't matter if it is making complex things like microchips and 747s, it can be done without others making money off of others backs. Investors can get out what they invested, and CEOs make what they are worth, without being fired with several million dollar severance packages and moving to another company to fail all over again.
But in order for this to happen, information must be free and unrestricted. Unfortunately it is law (patents, etc.) but I believe it is entirely possible to happen, if people were to turn things on their head, similar to how Copyleft did to Copyright. When you have a system of self-employment, many issues are obsolete. I am working on this project, and hope others with talents join with me soon. For too long have we been controlled, stressed, and depressed making depressed wages while others reap unfair benefits off of our backs.
Idealist, sure. What is wrong with that? People thought Richard Stallman was crazy, and still do. Yet, here we are with free software everywhere and growing all the time.
Like a city whose walls are broken down is a man who lacks self-control.
The employer probably had to pay the current market rate to get the new person to join. If his requested salary was to high above the market rate, he would most likely have been passed over for the next qualified candidate.
How did the senior developer learn of the pay disparity?
I have discovered that people can be perfectly happy when they get paid what they think they deserve, and as far as what others make, NOYDB (None Of Your Damn Business). I grew up in an environment where people got fired for discussing pay (just to avoid situations like this).
Clearly, the lesson all developers should be taking from this project manager's example is that:
1. Your work for the current company isn't as valued as the new whiz-bang initiative that the VP is funding.
2. You should allocate your time accordingly. Instead of spending all of your time becoming proficient in the business requirements, and spending your extra hours trying to keep on top of your workload (which only results in their attaching that new kid with the whiz-bang resume like a limpet for you to mentor and transfer your business requirements knowledge), you should instead be spending your time learning new whiz-bang technologies and preparing your resume for jumping ship, since that is what the market is valuing.
3. Thus, by the time they try to screw you over, not only will you have a job at a competitor making a new whiz-bang salary, you'll be helping the rest of us by driving up the average market salary for experienced programmers!
I've been in the IT industry long enough, 15 years and have worked in companies from a couple hundred employees to hundreds of thousands. I experienced the IT craziness in the 90's when you couldn't hire people fast enough. I've also helped interview my share of candidates.
Maybe these 'mobile engineers' come from some super duper university. I don't know but in my experience developers coming straight out of university are pretty green. Honestly, how much real experience did they get? Most universities teach only a course or two on mobile app development. Whats that? Like 30 hours class time? Another week or so spent outside the class doing 'homework'? A friend of mine, senior developer, decided to make an iPhone app one day and within a couple of weeks working a couple hours a night, he had a pretty impressive application. They could have easily ramped up their employees.
This guy is the team lead, by all accounts doing an excellent job so there is no reason he couldn't have picked up the necessary skills. IMHO its a slap in the face and I would be polishing up my resume and looking for a quick exit.
IMO, this it another example of management failing to do their jobs. The project was needed 'ASAP', big surprise, which meant they were caught off guard and had to scramble.
"Thanks to the remote control I have the attention span of a gerbil."
Life is not fair. Try to accept this gracefully, without spite or jealousy
Various other people have advantages over you, about which you can do nothing.
You have advantages over various other people, about which they can do nothing.
Try to be a good person: do unto others as you would have them do unto you.
-kgj
There's a shift in one's thinking that takes place after learning 5 or 6 languages; it becomes ever more profound after you've worked in a number of languages for years.
You neglected to mention what that shift may be, and since I've done the same, I can attempt to explain that experiencing what makes languages A B C and D shine and fail in certain areas naturally gives you a certain appreciation for the unique features of other languages. Learning 6809 assembly makes it an unholy heck of a lot easier to learn 8 bit PIC despite their dramatic differences, simply because you can appreciate their differences.
Another interesting example, if you're an "IT" class of code slinger, gaining experience inherently gives you some "CS" guy insight, so even if you intentionally spend your life trying to avoid learning "big O notation" and all that, you'll still accidentally end up quite talented at figuring out optimization and scalability problems, even if you don't have the formal language to discuss how you do it with everyone else. Going back to school to get the paperwork to make HR happy after about 20 years of programming about a decade ago was very enlightening. Mostly a lot of "So thats what they call it!" Note that I'm not old, in that generational range we started programming at age 5 because all we had was ROM basic.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
...just wait five years and all those silly old outmoded languages you use will turn out to be in huge demand when people realize they have legacy systems written in them that they can't easily replace. At that point, you will get paid way more than developers right out of college who know the latest hotness.
It all goes around and around...=)
this is happening already - people who know COBOL are in serious demand (and very highly paid) to maintain all sorts of gigantic legacy mainframe-based codebases which just can't be replaced at anything other than eye-watering expense.
But I'm biased as one of those "Younger developers".
Boredom is bliss.
I don't think there are many jobs out there that will simply pay more because you're younger, unless you're a true prodige', and are worth the money.
The bottom line, basic economics go into play with employment. I usually get someone to disclose, if they can what they were making before, and what they would like to make now. I always shoot a little low, and try to give frequent and predictable raises. No better way to raise moral and say you've done a great job, than pulling out your wallet and giving someone a raise or a nice bonus.
One time a person told me (before I became an employer myself), that your biggest raise is always through the front door of a new company. This is a very true statement from my experience, and I'd argue that this is more often than not why a younger person is paid less.
Another thing i've noticed, having worked with people of various ages, older people tend to be more predictable and more stable. Staying up all night with mountain-dew knocking out a project late at night is not how things work in the real world. A predictable pace is much more valuable in the long run, and having discipline is often harder for younger people, of course with exceptions on both sides.
I've been fortunate to work with very young and very mature programmers, they both have their place.
When I was a new grad, I thought that I knew everything, but taking a class in a subject does not make you a subject matter expert. I did write more code when I was younger, but it was pretty crappy and hacked together. It worked "fine" mind you, but I pitty the fool who has to maintain it. comments? Technical Design Document? Those did not exist.
google around for something called the 10,000 hour rule, but it basically says that to become an expert in something you need to have about 10,000 hours of experience in it. That's about 5 years if you work a 40 hour week. Take out meetings, coffee breaks, lunches, "compiling time" (http://xkcd.com/303/ ) and what not and a really EXPERIENCED programmer has about 7 to 10 years of professional experience.
I personally have had no trouble transitioning languages or technologies over my 14 years of experience. If you understand the concepts of software, then everything else is pretty straight forward. A short book on the intricacies of a language such as memory management, basic libraries (network, DB, etc), syntax, compilation and a quick tutorial project should be all that an experienced programmer needs in order to out perform a recent college grad. It should not take more than a week or two to get up to speed and start being effective, but that's about it.
stuff like "We need some younger, more active and agile people in here", then you aren't a developer over 30.
Plenty of management types have learned in other fields that all the really good stuff comes from people in their twenties. Look at Einstein: all of his major work was finished by the time he was 30. It is the same for all Physics PhDs today.
So management types think it is the same for development. Also, if you aren't moving into management then obviously you have reached your limit and can go no further than being a coder. Oh yes, most of the bosses that think like this have found that coder, programmer, analyst, developer and "software engineer" are all titles for the same person.
Life is not fair? Compared to what?
I am sure we don't know all of the facts. The new hire is either an exceptional jewel of a programmer or the management is smoking something. Either way, the older developer does indeed need to find a new job---to get a raise and tell management to kiss his ass. Maybe---if the programmer is *that good*---the older developer could stay to learn something.
Did the senior engineer know the technology? Sure the technology may not have existed when they were hired, but for a senior engineer to deserve the title they learn or invent new technologies. If the senior engineer did know the technology, or could pick it up before the new hire becomes productive (i.e. learns company procedures and enough politics to operate effectively), then the new hire isn't worth the extra cash. If the senior engineer doesn't know the new technology and can't pick it up fast enough, then the new guy deserves more. At least until the senior engineer catches up.
NOTE: I don't mean to imply a senior engineer knows all new technologies, nor that they can alway guess what might be important to their company. Just that they can and do keep up to date on things, and sure sometimes a new library or language they missed or dismissed as "no better then this other thing I already know" becomes more important then they had guessed, but they ought to be able to pick it up. For example prior to the iPhone becoming popular it might have been reasonable to not know any Obj-C. Someone coming out of collage might know Obj-C, but a senior engineer with knowledge of C and any sort of smalltalk style OO language should be able to pick up Obj-C really fast. Likely fast enough that they are able to make real programs while the new guy is still learning the ins and outs of the bug tracking system, and who to listen to and who to ignore in meetings.
Forget the older programmer. I want to find the recruiter and give them my resume!
Let me see...what buzzwords are popular today...
Pay people based on their utility (current and future) and ignore the rest. Old guy may not have all the experience with emerging tech, but odds are he has at least some accumulated wisdom/skill from being in the field as long as he has. Maybe he's more reliable. Maybe he's better able to estimate how long it will take him to complete tasks. Maybe he just writes cleaner/better code. Maybe he's really bright and could pick up the new tech if required to it but hasn't been asked to do so. If he can get up to speed in a matter of weeks then it's silly to pay the young guy significantly more. Then again, if old guy really has no advantages over young guy and young guy has the relevant experience, then go ahead and pay young guy more.
When I observe this situation, usually a pattern emerges where a developer is hired during the expansion of a project or other effort. In other words, someone is hired to fill a gap. Usually I have not seen an ongoing effort by the person hired to discover how they 'do' provide extra value in a tangible way and advertise that. Some companies have internal job postings which should allow the switching of jobs to happen where pay raises can come into question. Those that do not really need their technical staff to venture out and try to cross train with the business folk they serve. It's a good way to 'discover need' and then figure out how to provide. The new hire is the only person selling themselves during the moment. Most IT departments I have seen are very passive in terms of aggressively seeking out ways to solve problems of the businesses that pay them. That is not saying they do not do a fantastic job at what they currently do, but business people have new challenges every day. The theme here is focusing on meaningful problems and communicating the ability to solve them to people who need the problem solved and are able to pay. Not rocket science. ALL business problems have one of two outcomes. They affect revenue or expenses. If developers understand that and figure out which direction of those two their contribution influences, it becomes a selling tool or redirection of effort tool. Just my two cents..
Pay the kid more until the company realizes the absolute lack of experience means that new kid can't finish a project on time, can't accurately determine how much time something will take to get done, doesn't know anything about writing good documentation, using source control, testing, etc.
Not if those skills won your employer a contract worth 10x your salary.
There is that, but you also need to take into account what the market value of that skill is. If that skill pays more than then currently employed staff, because that is what the market defines, then you need to go with it. At the same time you need to take into account that this person will also be subjected to salary increases and therefore that may be a cost that the company may not be able to endure. It is at times like that, that you pay a contract fee with option to become a salaried employee.
No matters the choices you make you need to consider whether knowledge of that salary will cause people to leave or complain - and whether that matters. Policy is don't talk about your salary. Reality is people find out somehow.
Jumpstart the tartan drive.
I'm getting paid more than anybody else in my family, and they are all older than me.
Does that mean I should get less just because they have "seniority"? NOPE. Pay is based upon supply-and-demand just like anything else, and if the demand is high and the number of people knowing Skill A is low, naturally the pay will be higher for those workers. Age is irrelevant.
Unless you're working in a family business (with all those relative) where everyone has the same general job title, but with specialization in somewhat different areas, it's not really a parallel, is it?
I am not a crackpot.
If this is really an issue of ageism, that's crappy. But I bet there's more to it. My thought is that it works out like this...
The senior employee was hired at a competitive salary at the time. He has since received average yearly raises. Over his time with the company, the average starting salary increased faster than average raises would usually match. Now the company needs someone for a new position. Rather than pull an experienced employee off of a currently needed task, retrain him, reassign him to a new task, then hire someone new and train him for the old task, etc, they decide to keep it simple and hire someone new for the new task... at a currently competitive salary.
I'm going to guess that's what happened, and the "new skill" thing is just an excuse. The senior employee should look on the bright side; apparently his current salary was good enough to keep him at the company, and now he can negotiate for something even better. Also, he should be glad it didn't go the other way... usually higher-paid, older employees are being forced out because the average salary has decreased, and fresh graduates can replace them at a fraction of the cost. If the senior guy chooses to leave, it sounds like he should at least be able to get a good starting salary somewhere else.
{
return young_developers.getMaxAge() >= my.getAge();
}
Some settling may occur during posting.
As others have observed, switching jobs is one way to kick your salary up a few notches, and just being able to switch jobs will also make your salary negotiations more favorable. If you're in an area with a lot of tech employers, that can help too.
The World Wide Web is dying. Soon, we shall have only the Internet.
In that situation, I'd suggest:
Acquire the skills through a contract based relationship. Pay someone (or company) a very high $/hr rate so you can immediately get work done in the subject area needed. At the same time, make arrangements for your senior in-house talent to begin acquiring the skills (for example - involve them in the project so they are sitting w/ the contract resources).
Hiring someone fresh out of school and paying them $$$ more than your senior developer isn't going to work. The HR issues described in this article are significant, deep/impactful, and will easily have consequences beyond this single project.
Your staff understands that IT management will regularly look for people outside the organization to fill niche roles (i.e. you may need to hire an Exchange 2010 consultant to help you with the ugprade even if you have a decent "jack of all trades" admin in place). They know that consultants typically are well paid but that they won't be around long.
If the team members can't pick up the skills (i.e. the candidate is truly extraordinary or the skills are that niche), then things may be different ...
BTW - reading between the lines of this story gives me the feeling that the developers in question were not keeping their skill sets polished and that this may be a bigger root problem that needs to be addressed. If the organization's developers are all client-server and the organization thinks its going to need web/mobile/etc developers then it needs to send the message to its developers that they need to acquire the appropriate skills, give them the opportunity to do so (i.e. training, work projects, etc), and get rid of them and replace them with people who are committed to evolving with the technology.
Evolution: love it or leave it
The fair/unfair discussion misses an important point: young/old is not how managers think. I have a budget, and capex is distinct from operating expenses. Employees are operating expenses. In a public company, controlling how much of which kind of spending is done is important, but let's elide over that for the moment. So with that operating expense budget, I have to pay the people I need to do the job I need done, and my success is measured on getting the job done. I need a certain amount of productivity in a certain set of skills, and people aren't interchangeable cogs, so it's almost unheard of for an engineering team to have everyone on the team have every skill needed. (More power to you if you've got that, and can afford it.)
Within that limitation, there are two completely separate questions: what is it worth to me to retain the skill set of existing worker A, and what would I need to pay to get the skills possessed by candidate B. Those questions are not the least bit related. If A is an experienced, productive worker who consistently delivers and makes my life easy, I'm going to be willing to pay more to keep him. If I need skills that I don't have, and candidate B has them, I'm going to pay more to get those skills. Those two pay issues have to be balanced within the overall budget. Sometimes it makes sense to let an experienced engineer move on, and sometimes it makes sense to do whatever you have to to keep them. Sometimes new guys are worth a boatload of money, and sometimes they are worth little if anything in the context in which they are being hired.
If the experienced engineer is not getting what he thinks he deserves, then either he doesn't have the right skill mix, or he's not delivering consistently and well, or he is being taken advantage of. The first two are far more common than the last, because no manager can afford to lose resources (and have to hire and train replacements at great cost) if the person who is leaving is a positive for the team.
-- Two men say they're Jesus. One of them must be wrong. - Dire Straits
For such a "senior" developer, they should really grow up and learn that just being older or being a dev there for longer is no guarantee of success, prestige, or more money. Wishful thinking at best... in an ideal world, where everything goes your way, your pay goes up and up and up. If you don't keep up with the latest fancy tech, it goes down and down and down (in real terms). (That is: anything less than annual 15% increase is going down in real terms, due to inflation -- same number of dollars earned per time = fewer things you can do with them.)
The only advantage age has given them is they could study the newest technologies full time, since they did not have a job to do. Otherwise, they are at a disadvantage, probably fewer resources saved up, less on-the-job experience. As a senior developer, you learned less about new stuff; it's a calculated tradeoff -- the more time you are working for an employer, the less time it is possible for you to spend studying and learning new things about a continuously changing field. The only thing that was certain was you gained experience, probably in the old technology.
Experience that is useless unless it helps you adapt and continue to perform well, or makes you good at guiding others and making longer term viable recommendations. E.g. management material
If the younger person has more experience with a technology the company needs, then yes, his experience might have a higher market value, sometimes sufficient to outweigh seniority. If that is the case, the senior dev should plan to drop everything and learn the hot new technology, or attempt to graduate from senior dev to management, assuming highest possible pay is what is wanted.
Gain the knowledge the younger dev has, OR become his manager, and then complain or make an offer to do more/different work if you are not compensated commesurately. No whining to project managers about a "newb" getting more pay, without making yourself more valuable; trying to get more pay for value you don't deliver is a road towards being officially declared obsolete.
you are obviously a younger guy.
the VALUE of a senior guy is his experience. you don't 'learn' or 'keep up' with experience - it happens to you over time. or not.
a programming language is BS. once you write code, you write code. anyone who harps on the difference is not anyone I would want to work for, with or report to.
the value of the senior guy is when an approach is being discussed to solve some problem and he can recall a previous instance where it did or did not work. nothing replaces that - not even 'raw intelligence'. you have traveled the road or you have not.
employers who don't understand that are not ones that will ever be world class, so its a self-limiting filter of sorts, anyway.
pity, though. the world has quite a lot of clueless companies and managers who look entirely for the wrong things. and no one tells them that, either; they're too busy doing whatever it takes to STAY employed at the current slave-task.
--
"It is now safe to switch off your computer."
The model is (supposed to be) capitalism, so you simply get paid what you're worth.
you are what you is -- FZ
Senior goes looking for another place to work, finds work, then senior suggests to overlord, "maybe someone can do my job for more?"
Off the top of my head, I'd say the skill set that gets your project started next Monday, landing you the lucrative 3-month contract, rather than the one that says "Give me 3 months to learn that new tech," and letting the contract go to a competitor.
If the senior guy is making what he agreed to, it should not be relevant what the other guy makes. Of course, being human, we care. A lot. But the solution is to talk to your employer, tell them you're interested in updating your skills to be of more value to them, and negotiate training/salary issues and MAKE YOURSELF MORE VALUABLE. Easier said than done, but that doesn't change whether it's what you really need to do.
A lot of you are saying the senior guy is being paid less due to raise-atrophy and the new guy came in on 'new guy salary'... Every large company I've ever worked for has had an HR department that focuses on pigeon-holing people into a 'stream' (managerial, administrative, professional, technical)... Each 'stream' has a salary range. Where you fit in that range is determined by your 'grade' which is composed of things like 'years of experience', and 'education', and other soft-squishy things... Your salary is directly derived from which pigeon hole they put you in. An existing person in 'Professional-4' and a new hire being put in as 'Professional-4' are going to end up with largely identical salaries.. This is why people like me (with 25+ years experience but no post secondary education) get screwed... That was my choice and I work around it by being a contractor and charging what the market will bear (which is quite good, thank you very much)... Chances are the 'senior guy' has other problems that put him in a lower paying position... There are 'senior guys' here at my customer site who aren't paid very well because, frankly, they're cantankerous and have over-inflated opinions of their abilities... Management keeps them around because they serve a purpose, fix bugs in legacy stuff, and don't cause too much grief for the amount of money they're getting. I'm expensive and senior but management keeps me around because they like the work I do and they feel they're getting good value for the money.. They could get rid of me in a heart-beat if that changes and not have to pay me any severance...
Developers should be paid based on relevant skillset, not age. Age has no bearing on ability to perform a job. The kid wasn't getting paid because he was young. His skill were just more relevant/in demand. If you don't like it and are an older developer, then upskill.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
And at any rate, is it fair?
No, it's business.
!#@%*)anks for hanging up the phone, dear.
True - just like young 'uns should learn how to spell.
I ran into this same situation over 20 years ago when I started working for a mainframe software company ... some of the guys who had been there for 15-20 years were upset at the rates some of the new people were bringing in.
As long as companies hold skillsets as being more important than employees, you will probably still see it. In that case, though, it was more a case of standard corporate raises being less than the starting pay of the then-growing programming market.
It sucks to be on the short end of that scenario, and "job hopping for more money" isn't quite as simple as many make here it out to be.
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
I'm getting paid more than anybody else in my family, and they are all older than me.
Does that mean I should get less just because they have "seniority"? NOPE. Pay is based upon supply-and-demand just like anything else, and if the demand is high and the number of people knowing Skill A is low, naturally the pay will be higher for those workers. Age is irrelevant.
Supply and demand has surprisingly little to do with wages. A shortage of police officers generally results in a marketing campaign, rather than increased wages, the same with teachers.
When the wages of bankers have been really high, the number of people that have applied for those jobs has been huge, and the education requirements were more or less having completed eighth grade. Making the supply almost limitless.
For the most part the wages one is offered have to do with the perceived short term economic benefit of the job being done, as opposed to how hard it was to find someone to do the job, or how hard it would be to get someone to do the job cheaper.
Note that in this case it was be case the higher wages were being offered because the new employee is viewed as increasing the amount of business they will get from a customer, not that the new programmer is competent, or better than the older programmer, in fact the older programmer might be an order of magnitude harder to replace, but they would probably spend $100k advertising the position, before it would cross their minds that maybe they need to offer as much as they offered the other new hire.
Work bio at MMWD
I don't disagree that experience is the PRIMARY value of a senior dev, but it's not enough. There is always something new you haven't tried, and you can always do something to make yourself a better developer.
In Soviet Russia jokes are formulaic and decidedly non-humorous.
As an old programmer I say that I don't like it, but if I don't keep my skills up, well f*** me.
Somebody might want to pay me more for my totally bitchin' Fortran skills, so I can't complain about people with particular skill sets being hired for better (or worse) rates.
by Mike Buddha -- Someday the mountain might get him, but the law never will.
I certainly learn new stuff all the time. Of course much if it is just rehashed versions of stuff I already knew from college. I'm certainly not doing the same job I was doing as a fresh grad. But at the same time I don't need to learn ALL new technologies, especially technologies completely unrelated to what I do and what I like to do. On the other hand, I can learn them if I have to, better than the average college grad.
:-)
For the article in question though, the issue was that a project manager had a new project that he wanted to be completed quickly, using a new technology that existing employees weren't familiar with. This is not necessarily the fault of the existing workers though, they have their areas of expertise and their job descriptions. Someone who designs a network protocol is not necessarily the person you want writing web content for your front page, and you don't want your top sales person writing code. The company wanted to keep the senior people, they were doing highly useful jobs and you don't take critical people out and say "here, stop doing your invaluable work and do this experimental short term project instead." So the solution was that this manager hired extremely junior people to do the job, and paid them a huge amount for it. This was in the past too before the economy tanked.
So I think based on the article the whole argument that the old guy could have just learned the new tech is irrelevant. If I'm in building A and someone in building B is fresh out of school and paid more than me, it's probably because the managers over there were willing to pay more and the HR people aren't trying to keep the buildings consistent. I might not like the pay disparity though. At the same time I'm glad that I'm in building A working on stuff I love to work on rather than being in building B working on the silly project of the day. Though if I don't like the pay disparity I could threaten to transfer or quit and hope my boss gives me a raise
Experience is not valued for coders and analysts. Moreover age is a handicap in the eyes of those who hire.
So he was actually lucky that he did not get fired.
I just got out of there and I'm now a writer as age is not a handicap for writing.
--
El Guerrero del Interfaz
Tell me something, why isn't he the project manager in this scenario?
This industry is swaddled by a parasite layer of project managers, business analysts, account managers, various "creatives" and other do nothing/know nothings who take the lion’s share of the budget before the core gets a look in.
No other highly skilled profession is like this, legal firms are run by lawyers, doctors start private surgeries, architects happily roll up their sleeves as the years move on and get out in front of the customer. Not IT though, oh no, we're all delicate wall flowers who can't be trusted to not freak the customers out.
It's half our fault for this ridiculous geek mythos we've built up and half the fault of our parasites who been parasites will do everything they can to maintain the status quo.
Don't learn another language, take those years of industry experience, bin the D&D t-shirts, put on a suit and apply for one of those managerial roles. Kick the parasites out, eat the rich, and take this damn industry back.
True. In this instance though they did not take all senior engineers and say "you can stop your current project and come over to this new project for more pay if you learn this new technology". Instead it was a new project for which they needed new people; that should have been the end of the matter except that the manager paid the freshmen too much. The issue from the older programmer was not that he wasn't offered one of the new jobs, but that there was a pay disparity. A new and less important job position was being paid more than the older and more critical job.
Reading the story, the high salary was used for recruitment purposes, to get people hired fast rather than to attract the best talent. I think the project manager could just have offered an incentive hiring bonus instead and solved the problem that way. It's not like it was a case of recruiting highly talented geniuses in danger of accepting other job offers.
If you're actually any good at your job, the boss will keep piling more and more projects on your plate until you can barely move. There is never time to learn on your own.
I was even ordered to not work on my pet project because it "takes time from the business." No one else was ordered to stop watching TV, visiting friends, or enjoy their hobbies, but I was ordered not to enjoy my own hobby.
An order which I ignored, of course. I have a right to amuse myself as I see fit on my own time.
I do not fail; I succeed at finding out what does not work.
I've made more than the person I was reporting to before, they were obviously aware of that fact and had no problem with it. At my current job there are a couple of tech people without titles that make more than I do despite the fact that I have a technical managers title and I have no problem with that. The market and companies value different skillsets differently, it's life. Heck I've had the opportunity to leave and make up to 30-40% more but I knew that those jobs would be soul sucking grindfests whereas my current job has as awesome group to work with and just enough work to keep me busy and my skills current without breaking the back.
There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
Being a senior developer does not excuse you from learning all the hot new techs. If you aren't getting better, you're getting worse. If you wanted a field where you aren't always learning new stuff, may I suggest barber college?
Learning new techs doesn't get you a raise at any job I've been at. It just means you're more marketable to leave the company. Perhaps companies should provide incentives to learning if they want it. Heck I've seen a coworker earn his Masters degree while working fulltime, he went to boss to ask for raise. When they refused, he left a few months later.
I can understand both sides. If you're fulfilling same role why should a company give a promotion? But it just leads to an unhealthy workforce with high turnover.
i would walk. there is something clearly fundamentally broken with that particular organization and its leadership.
There's no excuse for the senior guy to not know the going market rates and manage his career so that he is getting a fair salary.
If he cannot then maybe it's time to switch employers. The fact that he reacted so negatively probably means he's been disgruntled for quite a while accepting a sub-standard salary for his good work.
As many posters have stated, in this industry one usually has to change employers to get a decent salary. Sitting back and hoping for a pay raise is a losing game. If you ask your boss for a raise and the only answer you can give to why you should get one is "because I've been here a long time and I do my job well" then you probably won't get it.
I've never been one to care what others are paid. I get what I want, or I agree to whatever is offered and I do the job. As web developers, it's our responsibility to keep up with emerging technologies in order to stay relevant, employed and to command a better salary. The old programmer is jealous... "Thou shall not covet thee co-worker's paycheck!" :)
That poor Sr developer is now going to have to learn the technology, 'carry' the newbie through the entire development process, fix all the newbies mistakes, live with his mistakes for rest of his tenure at that company, and still make 30% less. Sucks for him. The specific technology makes no difference, a good seasoned developer always excels, and a newbie is always a newbie. Of course I've know a lot of crappy senior developers in my time too, so maybe he deserves it ;)
-- Roger
There was a period in my life where I stayed in the same job for a long time. Predictably, got merit increases every year, and they were above the cost of living, but not dramatic. Left the company, went elsewhere - 20% bump right away. Left that company, went elsewhere - another 30% bump. You don't really know what you're worth unless you offer your skills on the open market. If a company already has you and you're not looking to move, there's no incentive for them to offer you more money. They think you're content with what you get. And truth be told, I was content. I just wasn't sure I'd ever be able to buy a decent house or retire, but life was good and easy otherwise.
The article just says he was a recent college graduate from Stanford. That doesn't mean a bachelors degree. He might have had a graduate degree (masters or phd).
Yes, it's always obnoxious when they bring a contractor who's basically incompetant who ends up giving you more work to do and is getting paid many time over what you are ... ... but I'd say this is one of those times when they're useful. Think about it -- some person with the right skills gets brought in to do one well-defined task. Once they're done, they're let go. They might be paid even more per hour than the 30% premium ... but they've not given benefits (vacation, health, education, etc.) so the cost to the company stays at a similar level.
If they want the job security, then they're offered to be brought in at a lower salary ... they'll get benefits to partially even things out, and the value of knowing it's a long-term job, but they're then brought to be more in line with what would be reasonable for someone without the other necessary experience. (and that assumes they're shown to be a team player ... you could also just let 'em go, even if you're not in a 'right to fire^H^H^H^Hwork' state.
Build it, and they will come^Hplain.
You get paid what the market is willing to bear, no more no less. 30% is a good clip, it's hard to ask for that kind of raise at a company. So the older dev should leave, or get what money he can and be happy.
This of course leads to the horrible side effect-- hiring only idiot programmers that don't have the slightest idea how to bargain.
By the time programmers have paid their way through school they usually have some sort of usable job skills-> computer tech, appliance repair, electrician, plumbing, welding, customer service headset jockey. If they don't have any real world skills after 4+ years of college do you really want them anyway? As a teenager I was clueless about a huge number of things, including that I was clueless. Now I'm confident in my clueless-ness, and much more happy when I discover my foot tickling my tonsils.
Besides, how quickly would the pointy haired boss get around to that raise.
In my experience, most people looking for programming work are horrible, recent grads to seasoned veterans. The simple stuff, like implement quicksort, or a linked list is usually too much for what would appear to be a qualified applicant.but that doesn't scratch the surface.. Understanding version control, compiler errors, linking errors, header files are lost on way too many applicants. The hiring process is a dreadful one.
Senior devs find it difficult to keep up with new technologies because the company is too busy milking the existing skillset. They're not going to excuse you from your current job just because it's a dead-end leading to career stagnation; after all, they really need somebody to do it, for the moment.
It's hard finding time to learn a new language when you're flat out at work with the "existing skills" and then come home and find you have to do a metric ton of housework and child-rearing and handy-work. Meanwhile the kid's got a choice between yet another session of World of Warcraft, TV and reading a coding book for fun. He's bored while the old timer is exhausted.
These posts express my own personal views, not those of my employer
I work the "high tech" world of aviation, where bleeding edge means tech from the 1990s.
We have the same problem though, guys that are pros with the hard wired 60-70s stuff don't want to learn how to troubleshoot the newer networked systems. They still command a premium though since those older systems can still be cracked open and repaired with a soldering iron, and no body, I mean nobody ever throws away a perfectly good airplane.
The young guys may be able to jump right in to the newer gear and be comfortable using the software, most don't have a clue how to actually troubleshoot wiring and components without it. So the whole thing sort of balances out.
Getting more pay just because you know the ins and the outs of the business. That experience is usually much more valuable that just knowing a few new things. Getting paid more just because you show up to work every day and manage to breath I think not.
You want to get paid the big bucks then get off your ass and get your nose in the books, that or go into management.
A senior person who knows the business inside out but doesn't keep up technologically deserves to be paid no more than a junior person with technological skill and no business experience, but being paid less is another matter.
If the company is only going to pay for technology skills, the company should expect that no one will want to gain the business knowledge, and those who do are likely to leave the company. When that business knowledge walks out the door, you probably never get it back at any price, and only begin to recover some of it after long apprenticeship.
Employee turnover is costly. Having business knowledge walk out the door is more costly. If your business has an oversupply of people with deep business knowledge, then you've got nothing to worry about, treat the lead like dirt and risk having him walk.
Companies do what they do. From my perspective, it's a dumb policy.
I've got a radical idea. Why not pay the guy to train up on the technology skills, what companies used to do? Now you've got a guy with deep business knowledge who knows your organization and can program in the new tech.
The alternative is to pay for a hiring search, hire some yahoo off the street, pay him to train on the business knowledge, pay for the lost productivity of everyone who interacts with him, pay the lead to train him, and likely watch your lead walk out the door with business knowledge you're never going to replace,
What's fair is paying people according to the value they bring to the company. If you need an increased incentive to bring in special talent, then so be it.
If your senior staff isn't offering up anything new than they have been for the past few years, then why would you pay them more?
They were apparently happy with their wage until they found out it was less than someone they chose to respect less.
It's business, not some sort of loyalty based social hierarchy. We're here for profit. If you want respect purely for time served, then look elsewhere.
“Common sense is not so common.” — Voltaire
Experience can make for a MUCH better programmer. But neither bosses nor younger programmers can tell the difference.
Only a good programmer can make simple and understandable programs. The problem with this is that they make programming look easy, and thus get less respect and status, even though their real productivity is high as measured in problems actually solved, but lower as measured in the stupid measures of lines of code or amount of work done.
But the individual variation I have seen between programmers is much bigger than the variation due to age. Most programmers I have worked with have negative real productivity, making a mess that slows down other programmers.
If this was Hollywood, this would be a non-story:
"A film producer describes facing an upset older character actor who learned that a new hire — a hot young leading man — would be making 30 percent more than him."
I use the following classification:
You might have noted that at no point did I say anything about their skill at coding, the level of their code. The senior might well do top down programming and the junior use the latest OOP or whatever is the flavor of the day, but the juniors code is full of security holes and 1 in a million occurences cripling bugs and the seniors ain't.
Think of Terry Pratchett's, Cohen the Barbarian. It is not that they are better at fighting perse, they just got so much experience at not dying, they don't do it anymore.
Now the problem with all this is that age has NOTHING to do with it. You can be a senior straight out of school if you spend all your time coding and dealing with real time issues. Can, but it won't often be the case. This is why iPhone apps, being the latest in tech, still have the same old errors and flaws as apps from 20 years ago. The people who program them might know the latest tech but they lack the years of experience to avoid common flaws older people already encountered.
Trust me on this, I seen code well above what I could write but filled to the brim with fairly basic security and performance issues. Think of an old farmer watching a young farmer plow. The old farmer might not understand the tractor or know how to drive it, but he does know the plow blade is going to break soon because he knows the field is filled with unseen stones. Experience != skill. Both are valuable and the wise employer makes sure he has both available.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
My manager once asked me whether a technician should be paid more than their manager. Said manager didn't like my answer.
A good developer is someone who produce good code not someone that knows the latest language.
...
Experience is supposed to take you the upper skill level, making you more valuable than any guy out of school or a junior.
Learning the basis of a language is fast, acquire experience is long. This new guy will make errors that the older guy would not do thanks to his experience... The time the junior fixes all the bugs your senior developer will be able to teach him tricks on this new tech.
The technologies doesn't change a bad developer in good one. The real question to accept the salary raise should have been "Is the guy as competent as my senior".
The guy should have been raised compared to another Junior hired, not 30% over a senior... You must be hell of hurry
A lot of the current hoopla among PHBs is over social networking.
I have a little trouble understanding how being able to integrate the ubiquitous Facebook "Like" button (an simple IFRAME or Javascript call) or being able to set up Add to Any for social bookmarks means you're trained in an entirely new kind of "technology" which more experienced devs have no chance of even understanding.
I'm not a lawyer, but I play one on the Internet. Blog
In my country it's common to talk about salaries openly, for the express reason that this way as employees, you understand that if someone gets more than you, they're likely contributing more, so if you want more, you have to increase your value.
Now, in "street speak", this translates to: older employees have to learn new skills. As a consultant, I often have to learn stuff before everyone else, because it's expected of me that I can teach the stuff that everyone else has just heard about.
And I'm ok with that. My salary isn't as high as it has been, but its still ok. MY problem is that IF the company I work with decides to bring in a couple of new kids with some hot skills, then the minute their skills are no longer hot, who gets the boot when that's all THEY know, and they're also the most expensive colleagues around ? If they were paid the same, the choice would not be one of money, but of skill and compatability. And if everything keeps going strong, and the expensive new kids are not fired, then everyone else in the department will start asking: "Hey, if we can afford to pay THEM this much, then why can't we afford to pay US the same ?" And THAT will be expensive for the company.
If You need the skills now, but are not willing to increase Your general salary levels to a point where you can attract those skills, then you use consultants. Yes, they're more expensive, but You pay double for a year, after that your own guys should be able to take over at the normal costs, and then you only have to contend with inflation and normal payraises. Depending on the size of your staff, you'll have saved the extra cash spent in 2-3 years easily.
It is my understanding that most major (but timelimited) projects are staffed this way today.
--- To err is human... Am I more human than most ?
Where I work we have plenty of oldsters who know how things work and are incredibly valuable to the organization. Once they hit retirement age, they're in "KMA status", i.e. "kiss my ass status".
They and their bosses know that when the executives come up with something crazy enough, the grunt who actually must do the work can simply walk out the door. This provides a powerful incentive for first-line management to push back when middle management starts making noise about doing something particularly stupid.
Having high-value employees who can walk at any time actually makes for a better workplace; management knows they can walk and tries not to do too much to piss 'em off.
The company knows what each and everyone makes, you do not. More bargaining power for the company, less bargaining power to you, little bee.
In some socialist countries, net taxes are public information. From this it is trivial to estimate the base salary of anyone. Neighbor, co-worker, boss, prime minister.
Makes it harder to have huge salary gaps in a company as people will check the salary of the boss.
I lost my sig.
And when that project starts running 9 months over, your customer learns that your management doesn't know about the true costs of software development. In most cases, a new hire fresh out of college won't have the project experience to deliver on time. You'd better hope your experienced developers are dumb enough to ignore the implied message of their unimportance from management, and help get the project out the door.
I have a friend who is semi-retired or was until suddenly the higher up's realized that all the young staff they had hired had great php and perl skills but didnt have any skills related to the legacy systems they had in house...they built a beautiful shiny front end but when it came time to make changes at the backend there was a sudden dearth of programmers that could handle it due to the managements lack of foresight. As a result the friend I mentioned was begged to come back to his old position (he had been laid off over a year prior...which is what spurned the desire for retirement), he refused but offered to come in as a consultant...now he has raped them for over a year at nearly 3x his old salary.
i think it's usually skills that matter, not age. .. and just for reference there can be many skills to consider, it may be knowledge of the technology required by customers, as well as ability to create clean code, communicate with team, improve and so on.
what about the piled up profits senior guy had had helped the company amass with his own skills in the past ? what about his share from the profit in the form of his salary ?
there is guy a, who had worked in the company for 10 years, who had caused the company to amass maybe millions of dollars in profits with his work and skills, and there is guy b, who is new, who had given NOTHING to the company yet, getting more.
there seems to be something awkwardly wrong there.
Read radical news here
I work with people right out of school and there are a ton of things they haven't any experience in that only comes with experience, like project creep, managing the client, knowing when to stop developing and deliver a working product on time, documentation, documentation, documentation, etc. I can see my own value as a senior programmer that cannot be matched with 'the hottest technology'. Can the employer imagine hiring a graduate as a project manager? I think not!
If you're a developer in a software house, then yes, younger people that know newer technologies than dinosaurs like myself. However, if you work in a company as a developer knowing different aspects of business help and are not always taught in school. So, the younger guy has to ask the dinosaur how CRM, ERP, AR / AP flows through a system. Fortunately for me, I enjoy learning new technologies (I have several projects going in Silverlight 4 MVVM, etc). The bad part is that I know of the other tools and sometimes I want to use the best tool for the job, where are the noobs want to use the latest tool for the job - even if it ends up being more work. However, I do not agree that people should be paid more for no other reason than that they showed up to work for a longer period of time. Earn your keep and salary. If you're underpaid, find a new job that pays more. Can't do that? Then you are not underpaid.
And how well does this college grad *know* the tool? When I was doing the technical interviews for the managers under our director at Ameritech, in the mid-nineties, one of the questions I had for new grads was, "what's the longest program you've ever worked on?"
If the longest thing you've ever done was 500 or 1000 lines, and you're joining a team working on a whole system, and the code might be 50k or 200k lines, you *aren't* ready to step to the front of the class.
In fact, I remember a conversation with one (GOOD) developer, about a year after we'd all started, and she was just out of college then: she commented that when she looked at the code she wrote the year before was such *crap*.
You think this guy's worth 30% more?
Let's also note that the "experienced developer" mentioned above was, apparently, there a while, while the new guy... how long do they really expect to stay, or in a year, after they've learned everything they can, will they move on, taking all that skill and knowledge base with them?
And then there's agism, and unless you have a video, and three witnesses to someone telling you that they were dumping you becuase you were "too old", there's no way you can prove it in the US.
mark
If you have previously felt you were being paid fairly for your work, then that feeling should not instantly change just because you find somebody else making more money than you... particularly when they are doing something specialized that you do not currently possess the skillset to accomplish.
But IMO, the *only* reason to bitch about new hirees at your company making more money than you are is if you were feeling like you weren't being fairly compensated in the first place.
File under 'M' for 'Manic ranting'
It's called a free market. I'm probably older than anyone on /. but I don't think I should be paid a lot just because I'm old.
I expect to be paid a lot because I'm smarter than the rest of you freaks.
I'm a Programmer. That's one level above Software Engineer and one level below Engineer.
Developers with more relevant skills should be paid more, regardless of age.
In principle, it should be easy for a senior developer to pick up "hot emerging technologies" within a few weeks to the same degree as the recent college grad learned during his four years in college. If the senior developer can't do that, there are three possibilities: (1) the company doesn't give him enough time/resources to let him keep up with the field and is burning him out, (2) he is too opinionated or stuck in his ways to bother, or (3) he just isn't very good in general.
The company should figure out which of the three possibilities it is. If it's (1), they should fix it and then pay him more. If it's (2) or (3), it's OK to pay him less, although they might want to just fire him.
Another issue is that when questions of "what the client wanted" come in, you are also veering into territory where your developers become booth babes rather than technical staff; someone who looks like a 20-something hotshot with the right buzzwords on his resume and promises the world may appeal more to the client than a bearded old guy who tells the client that what they want can't be done in time and on budget and that they should be using something more tried-and-true. Which of the two guys is more valuable to your business depends on what happens when the project fails... for some projects, you get paid anyway, for others, you eat the cost.
Of course, in the end, it's a free market kind of thing: do you think the experienced senior developer is going to walk if you treat him like that. If that's a problem for your business, you should probably raise his salary, in particular since it's not all that much money compared to all your other costs.