Should Younger Developers Be Paid More? 785
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?"
Keep up or shut up (Score:5, Insightful)
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.
Life is not fair (Score:5, Insightful)
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.
maybe? (Score:5, Insightful)
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.
This isn't an obviously easy question (Score:5, Insightful)
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.
Capitalism 101: (Score:3, Insightful)
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.
Here is how you handle this (Score:5, Insightful)
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.
Re:Keep up or shut up (Score:5, Insightful)
the IT world changes *way* faster than either of those fields.
Things change fast sure, but by that token, not all of the changes are permanent or important. I'm not averse to learning new stuff if it's proven, but I don't go running after new stuff simply because it's there. Old programming languages still work fine for new tech if they have appropriate libraries, etc.
Life isn't fair (Score:4, Insightful)
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.
Re:Capitalism 101: (Score:4, Insightful)
I believe the point in TFA was that the senior developer who complained about the new hires being paid much more than him really was as valuable to the company as the new hires, if not more so. It sounds like he just wasn't important for that specific non-critical project and someone high up in the company had decided it was ok to pay whatever it took to get their pet project up and running ASAP (and had already decided it wasn't "cost effective" to pay for training in the necessary tech for existing employees).
Re:The Real question is... (Score:5, Insightful)
I don't agree. The good programmers I know are better in a new language after a week than a "fresh grad" who's studied the language for a full year. The bulk of what makes for quality software is not domain-specific. People who have learned five or ten programming languages already are usually fine in a new one on very short notice.
Age doesn't matter. Experience does, in terms of the actual quality of output you get.
Re:Keep up or shut up (Score:5, Insightful)
Well, ask yourself this. If your boss came to you and said "We're working on a new project and I want you to learn how to program for the iPhone" would you argue with him for an hour on how the iPhone sucks, or would you embrace it as a new opportunity to learn something new?
That's the difference between someone who's intellectually curious (and always looking to better themselves) and someone who's dug their heals in and is becoming more a liability every day.
Recent graduates are worthless (Score:2, Insightful)
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.
Re:Keep up or shut up (Score:2, Insightful)
...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.
You wouldn't believe the number of college grads I've encountered with advanced degrees who turn out to be absolutely useless when taken out of the walled garden of academia and need to be carried by the old curmudgeons until the probationary reviews come around.
IT doesn't change as fast as people think it does. The tools change but the ideas stay the same (case in point: the more I hear about cloud computing, the more it makes me think of the local dumb terminal & remote mainframe architecture of decades past).
Coders are like professional athletes (Score:5, Insightful)
Re:Keep up or shut up (Score:5, Insightful)
The big problem is...you're presuming that the Senior isn't intellectually curious and they're basing the pay discrepancy on just that alone. Neither of which are likely to be correct a assumptions.
Re:Life is not fair (Score:5, Insightful)
IT isn't the only industry where this is the case. This (lack of raises) is a byproduct of the change from the old world, where companies guaranteed raises and promotions and workers promised loyalty in return. Corporations have broken that bargain - promotions, raises, even employment are no longer as secure as they used to be. As workers, then, we'd be fools to give corporations the same amount of loyalty workers used to give in the sixties and seventies.
Its a new world now, with new rules. As a worker, you're more free to move about and find the best offer. As a corporation, you're more free to hire and lay off workers as necessary. But it is a drastic change from how it used to be, and both workers and corporations need to make adjustments.
Re:Keep up or shut up (Score:4, Insightful)
Eh, I'm making enough money already, and I enjoy my job. I'd rather have a job I enjoy than always be chasing after bigger bucks, and having to spend all my evenings learning new stuff rather than just having a life. Like I said, I'm happy to learn new stuff if it's proven and useful, but since going to University and then starting work, I have lost interest in doing my own home projects. I really enjoyed having my own projects at home as a teenager, but I have other things I want to spend my time on right now.
"Fairness" irrelevant. (Score:3, Insightful)
You are competing for money. Either do what will pay best or leave for greener pastures.
Re:Keep up or shut up (Score:5, Insightful)
This is a neat discussion. You can guess someones opinion with surprising accuracy based only on their user id.
A senior developer should not only be able to pickup a new language very quickly, but also write more competent code than a recent college grad who has used the language in class for the last 3 years.
If your senior developers don't meet this criteria, you probably should have sent them packing years ago.
What is fair (anymore)? (Score:2, Insightful)
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).
Play by the new rules... (Score:1, Insightful)
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!
Re:so iphone then ... (Score:4, Insightful)
If you are learning ruby to implement the exact same things you implemented before in another language on the same platform...when the world decides that it doesn't want ruby anymore, the time you spent learning it is much less valuable.
Re:Keep up or shut up (Score:5, Insightful)
Re:Keep up or shut up (Score:4, Insightful)
Re:Keep up or shut up (Score:5, Insightful)
Be that as it may, it's nearly always the case that you can increase your salary faster by keeping your skill set current and job-hopping than by staying in the same job, whether you keep your skill-set current or not. When you get a response like this from your management, the right thing to do is to figure out how to make yourself more valuable, and *change jobs*. Your management already knows what you're worth, and the only way they'll ever learn otherwise is for you to decide to leave. When you do that, they will either correct the discrepancy or let you leave.
Re:The Real question is... (Score:5, Insightful)
Yes, but experience in area Y != experience in area X. No one, no matter how good, is going to master a programming language in a week or even a month. As long as the new hire actually worked and studied in college, he'll be much better in area X than the old guy just trying to learn it. Yes, I'm well aware that once you know one programming language it's easy to pick up another. That doesn't change the fact though that it still takes time to learn it - it just takes less than if you had no programming experience at all.
Mmmm not really. A language is like penmanship. You talking block caps, or cursive, or some weird shorthand script? A programmer on the other hand is a guy whom takes a pretty vague flowchart and fills in the details. Most of the mental effort is figuring out the translation, the error conditions, and especially the business logic or the equivalent. Very little time is spent on the syntax details of how to add the interest to the bank balance, its all spent on the logical puzzles of deciding how to avoid race conditions, how to ensure you do it precisely once per account every time, etc.
Even worse the kid is used to 100 line microprojects or even worse is just good at answering short test questions. No one in the biz ever gets to "start on a blank slate" its all extend extend extend. That and bug fix. And argue with the users about doing dumb things. And work on scalability, theres plenty of really slow ways to do things.
If you get a job in the field, you'll understand.
Re:so how did he know the pay? (Score:5, Insightful)
That generally depends on what end of stick you're on. Trust me, there's many people that are incredibly petty when it comes to anybody being paid more than them. Particularly if you're being paid for your skills and there's not much formal reasons you can point to. When I was relatively fresh I'd have no problem telling what I got paid to fish out how much they got paid, but the higher my pay got the less willing I am to talk about it. I still discuss it with a few close friends to know where the market is, but far from everyone.
Re:Keep up or shut up (Score:5, Insightful)
Re:Recent graduates are worthless (Score:4, Insightful)
Good luck trying to hire CS graduates from reputable universities at $7.25 USD/hour + epsilon.
Re:FORTRAN (Score:4, Insightful)
Umm, forever(*), at least if you're willing to work at it. Isn't that one of the big features the "open source crowd" crows about? Get it and compile it yourself if necessary.
(*) presuming the CPU architecture itself doesn't change.
Re:FORTRAN (Score:5, Insightful)
Let me see if I've got this right - somewhere in the mists of time, someone at your organisation decided that it would be a good idea to write programs which relied on proprietary extensions not actually found in the F77 standard. Eventually, when you were forced to migrate to different machines, the compilers didn't recognise the attempt to use non-compliant extensions.
Therefore, F77\F90 are both evil and should be done away with in favour of C.
This makes sense... how?
Your quarrel is with the original design of the program, not with the standards. Compliant F77 still compiles perfectly in an F90 compiler. Or, to put it more bluntly, it's no fault of Fortran that you've tried to bring bad code with you.
Re:Keep up or shut up (Score:5, Insightful)
There's also a lot of people in IT who are too timid to ask for raises, and aren't being paid what they're worth. That's a factor.
Re:Keep up or shut up (Score:4, Insightful)
Re:Keep up or shut up (Score:5, Insightful)
"Nobody needs to know what you make, and honestly it causes nothing but trouble."
Specially for the company.
Information is power. The company knows what each and everyone makes, you do not. More bargaining power for the company, less bargaining power to you, little bee.
Re:Keep up or shut up (Score:4, Insightful)
Perhaps this is an excellent example of the difference between the veterans and the kids with the new toys.
The kids with the new toys focus on potential. C is yesterday's technology to them, underpowered and inefficient. The benefits C# offers are compelling. Their default is optimism, choosing C#.
The veterans focus on reality. They have seen it all before, and want to see real evidence before switching from tried and tested technology to something new. C is the safe bet to them. C# has potential but the risks need to be properly understood. The veterans' default is caution, choosing C.
Both groups think those in the other are ignorant and haven't learned enough about C# to make a properly informed decision, but the meaning of "enough" differs, and the veterans carry on getting real work done in the meantime.