Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I'm a software developer and have been working at my current employer for almost 2 years. I joined straight out of university, so this is my first real full-time job. I was employed as a junior developer with no real responsibilities. In the last year, I have been given more responsiibility. I am the official contact person at my company for a number of clients. I have represented the company by myself in off-site meetings with clients. My software development role has grown. I now have specialised knowledge in certain tools/products/technologies that no one else here does.

My problem is that I am still officially a junior developer, and still earning less than I feel I am worth.

  • Am I being taken advantage of?
  • How long should I reasonably expect to stay a junior developer before I expect a promotion of some kind?
  • What would you do in my situation?
share|improve this question

closed as off topic by Walter, Yannis Mar 7 '12 at 14:14

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Have you asked for a promotion? –  Walter Feb 8 '11 at 12:28
No, I haven't. However, at my most recent performance review, I asked about a time-frame for promotion, only to be told that "there are opportunities for promotion, but we can't tell you when to expect one". –  anonCoder Feb 8 '11 at 12:33
you can't be passive with this sort of things.. If you want one, ask for one, aggressively. If you are willing to quit over it, make it clear to your company that you are. –  Andreas Bonini Feb 8 '11 at 13:05
You can only use the "better job offer" once with a current employer, so save it until you can get a lot better offer. –  Ian Feb 8 '11 at 13:18

10 Answers 10

up vote 40 down vote accepted

Don't ever expect a promotion.

Ask for one.

Have a conversation with your manager. Mention your new responsibilities, the skills you've developed, the new work that you're doing. Find out what your manager's (and by extension, your employer's) view on your career growth is. Get specific feedback on what you can do better, what else is of value to them, and when they plan to review you for a promotion.

It never hurts to see what your value is out in the marketplace. I'm not suggesting you find another job, but it is a good idea to know what your skills would be worth to another company.

Compensation & Title are simply aspects of the ongoing negotiation you have with your employer. If you don't say anything, they will assume everything is fine, and they won't try very hard to keep you around.

Give them the opportunity to improve the situation through an honest dialog. If they fail to do so, then look around - if you get a better offer elsewhere, then the dynamics of the negotiation change immeasurably.

share|improve this answer
If I ask for a promotion and don't get it, I expect I'll be looking for another job. –  JeffO Feb 8 '11 at 12:54
RE: finding my value in the marketplace. There is every chance that the company will see that I have started posting my CV on job boards. Do I need to be careful here? –  anonCoder Feb 8 '11 at 13:05
First, send your CV to companies, don't post it. Alternatively, posting it sends a very clear signal to your current employer that you're looking. That's a negotiation tactic on its' own, albeit an unsubtle one. –  Peter L Feb 8 '11 at 13:32
@Jeff Definitely, if they give you an outright no. But seems more typical to use delay tactics - we'll see how things are going in 6 months... –  Greg Feb 8 '11 at 16:59
@anonCoder Companies are impersonal entities. Loyalty to a company is a myth (to people or a team it is not). Loyalty doesn't give an employee any leverage, quite the contrary. What would they do if they know you are looking elsewhere? They would fire you if you're not producing enough value in any case, and keep you on board otherwise. They may offer incentives to keep you if they care enough, but almost certainly won't kick you out for looking elsewhere. –  dbkk Feb 8 '11 at 17:28

In addition to Peter's Answer, be sure to do some research in advance as to what the average salary for developers with your experience in your area is, and come up with an actual figure you would like to ask for.

I recently was in the exact same situation as you - hired while in school, started full-time after graduation, and as my experience grew I thought I should get paid more.

Taking the advice from some others, I did some research online about the average salary of a programmer in my field, my area, and with my experience, and came up with an actual $$ amount I wanted to ask for.

I then asked to setup a meeting to discuss my salary. I asked for a meeting instead of asking directly since it gave my supervisor time to think it over and prepare.

When I talked with him, the first question he asked was how much I wanted. I gave him a quick summary of my research and told him what I wanted. I think it was something like "I did some research and most .Net programmers in this area with X years of experience make between A and B a year, so I was hoping you would raise my salary to C"

I was very nervous since I had never done something like this before, but it worked out great and I got what I was looking for :)

share|improve this answer

That word, promotion, can mean:

  1. more money;
  2. a different job title;
  3. more responsibility;
  4. less hours or more holidays;
  5. training;
  6. 2 or more of the above.
  7. Possibly some others that I haven't thought of ;-)

If you don't make your discontentment known, your manager will assume he/she is doing a great job and that you are just thrilled to be there. Nothing will change.

But you should never demand a promotion. If you give an ultimatum, at best you'll have strained your relationship with your manager and have to keep working with him/her in order to get a raise this year. At worst, you'll have to change jobs - and a reputation for confrontation could follow you to your new role.

If you are unhappy with the terms of your employment, you need to have an honest dialog with your manager about this. You have a business relationship, this is a business transaction, and managers are great at doing business transactions. They won't hate you for raising issues like this. Unless you are terrible at your job, your manager will bend over backwards to keep you there doing the good stuff that you do.

The worst case is that your request for a promotion is refused. This doesn't necessarily mean you should storm out and quit your job. Listen to the reasons that the manager gives. Ask what areas you need to improve in - then act upon the advice. If the business is broke, or your manager is terrible, or you're the only person that can do X, then promotion may be impossible - in which case I would start looking for greener pastures.

One thing I do is to keep a list of my achievements and responsibilities just in case my manager doesn't realise how great I am ;-)

share|improve this answer
+1 for approaching things as a business transaction, but it is relevant to note that when going that route you need to have evidence to back up readdressing compensation such as what hte current market rate is for similar developers. –  rjzii Feb 8 '11 at 14:07
Uh? If you're the only person that can do X, they'd better give you a raise! –  o0'. Feb 8 '11 at 16:45
@Lo'oris - You're right, but I would call that the darkside of getting a raise. Forcing them will make them resentful. Much better to be the guy they can't do without than the guy they can't get rid of! –  Omnomnom Feb 10 '11 at 8:55
true, but actually if you are in such a position, you do deserve a raise, so it would be them forcing you to force them to give it to you ^^ –  o0'. Feb 10 '11 at 11:36
@Lo'oris - LOL - I wish my boss would force me to have a raise! –  Omnomnom Feb 11 '11 at 11:27

In your situation I respectfully request a raise and possibly a promotion (although just getting a new title doesn't mean much). If the company declined, I'd start hunting for a new job.

It is an unfortunate truth that often the only way to advance your career is to change jobs.

This may take awhile, thus the 'respectful' bit, don't barge in and demand more money or you're quitting. Never burn bridges.

share|improve this answer
+1 never burn bridges. There are always "softer" ways to communicate the same message, just takes a little self-control. –  Greg Feb 8 '11 at 17:00

Never expect a promotion. In my experience, most employers continue to value you where you started. You can always try your hand with your boss, put evidence forward (average salary with two years experience in similar companies, your responsibilities...).

For me the only way to go increase my salary has been to change employers. Though sometimes you have to take a hit too.

So the real test will be if you have another job offer with an attractive salary: will your boss be ready to match or better the offer (supposing you are willing to stay).

share|improve this answer

Never negotiate without options and a frame of reference. In your case I'd suggest going to a couple of interviews for different jobs and see what they have to offer. If and when you negotiate you'll now have a much stronger position since you have alternatives and a target number.

However, you should never "blackmail" nor threaten to leave if you don't get a promotion. Just make your case in a logical and reasonable manner. Taking another job you've been offered is a card you keep in your pocket and either you play it and leave, or you don't and you settle for the raise you get.

share|improve this answer

I would suggest you sit down with your manager and tell him the same things you posted here. More often than not, salary isn't exactly logically explained, it is often more dependent on how well your sell yourself and not necessarily dependent on how many years of experience you have - at least after you have worked a couple of years - as you have now done.

share|improve this answer

To begin with, as others have pointed out, it is difficult to get a promotion without actually asking for one and having a good case to justify getting that promotion as well. So before you go in to any sort of meeting with you manager you need to be able to answer at least some of the following questions:

  1. When do junior developers here generally get their first promotion?
  2. What is the company policy in regards to raises?
  3. If I were to leave the company, could I get a non-junior developer position?
  4. What is the average salary for other developers similar to myself?
  5. Do I know exactly what I want?

To address these questions in a bit more depth:

When do junior developers here generally get their first promotion?

This is a fairly obvious question that you are going to need to answer before you go into an interview and you might be able to find this out by talking to others at your company. If you find out that the range seems to be between two and five years with the average being around three years, then you have some information that you can work with. This is a good time to talk to other developers that you consider to be mentors and see what their impression of your growth and development is. Managers generally don't work in a vacuum and it wouldn't be unusual for them to go to senior developers at the company and see what their option of your work is as well. If they note areas that you need improvement in then you now have some goals that you can work towards.

What is the company policy in regards to raises and promotions?

You need to be familiar with the company policy in regards to raises and promotions so that you know how to frame any discussions you may have with your manager. If the company only has one promotion cycle a year and it's already past then confronting your manager trying to get a promotion will not accomplish anything productive as your manager might not have the ability to give an out of cycle promotion, likewise for raises. However, you might be able to approach your manager and frame the discussion in regards to trying to put together a plan to ensure that you are both eligible and a strong candidate for a promotion or significant raise.

If I were to leave the company, could I get a non-junior developer position?

This one might be a bit harder to research, but basically just pull up the job listings and see what they are looking for in terms of mid to senior level positions and also note the ranges for what they consider junior developers to be. Since these terms can be a bit loose it might be difficult to figure out a direct mapping between companies but if you see a trend in your area of 5+ years experience for mid level developers then you might have a hard time finding a non-junior level position if you were to leave your current job.

What is the average salary for other developers similar to myself?

Look around online for salary information for your area on a site like to see what the market rates seem to be like for your area. If you are under market you might have a case for a more significant raise; however, if you are over market then you might find it difficult to make a strong case for a raise. Human resources departments keep an eye on what the market rates are where you are so if you are working for a good company you should find that you are somewhere around the average for the area.

Do I know exactly what I want?

This is going to be a big one, do you know exactly what you what? Are you looking for more responsibility, more money, more time off, etc? Being able to answer this to yourself is going to allow you to frame your discussion with your manager. If money isn't as big of a concern as getting some extra time off then this is something that you might be able to negotiate with your manager without much difficulty (i.e. work an extra hour each day and leave Friday at noon) where as if you aren't sure what you are looking for, your manager might have a hard time with assisting you.

share|improve this answer

Honestly I think it would be best to start looking around at other jobs, get interviews, etc and try to get at least one offer for where you would like to be in terms of salary, etc. Make sure its a job you are actually interested in and then go to your current employer and tell them you have other places interested in you and they are willing to pay you more, etc and see what they say. Maybe this approach is too direct for some people but I could honestly care less, company's don't own their employees and shouldn't take them for granted so its up to you to let them know this every once in a while.

share|improve this answer

Do you have any indication the company can afford to pay you more? If they see your value, but have to delay compensation, you can ask for something other than an increase in pay. They could pay for training or sending you to a conference. This gives them a tax benefit instead of paying additional employment costs (may depend on where you live). Ask for extra time off for self-study.

Otherwise, you may have to look elsewhere and at some point, if you can't find a better paying job, you may not deserve it (Relocation may be necessary.).

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.