How do you evaluate how much you feel you ought to be paid as a junior programmer?
Ask yourself how much added value you are providing to your company
Edit: Downvoters - skip to the end...
How much you earn or save the company per year / 3 = Gross salary
This takes into account the fact that your employer will want to exploit you (you will always be underpaid), and allows for the overheads of having an employee on the books (training, heating the office, health and safety, equipment purchase etc).
How to work out your added value
Here are some scenarios that may help with your application of the above formula. These have been left in as an illustration of thought processes, you may want to simply skip to the end.
Let's assume you do some work on an internal software product that helps to automate a previously manual process. Instead of that process taking an admin worker in Accounts all day to complete, they can now do it with a click of a mouse. The admin worker is now freed up to do other work and the Accounts department don't have to hire a new person to handle that manual process.
This is why they stumped up the cash from their budget to pay for you to develop this code for them in the first place.
You have saved the company the employer cost of a permanent admin worker - say $30,000. Therefore, you have justified your salary up to $10,000. In order to earn more, you need to provide more solutions that reduce the companies outgoings. As the company grows your contribution may affect a larger group of people, and as such your salary may increase (or you may be exploited more).
Let's say you've just written a killer feature for your company's new commercial product. It retails at $3000, and the feature has caused an extra 100 units to be sold. (Your company is remarkable in that the sales force and developers get to chat freely by the water cooler). From that you deduce that your contribution was worth $300,000 to the company.
But... you didn't do it alone, did you?
The entire company exists to sell this product and everyone has made some kind of input - from the person who came up with the idea of the feature you implemented to you doing the coding to the marketing and the salesmanship that neatly cleaved the cash from the customer.
For argument's sake, let's assume that 10 other people were principal in making this feature a success. Therefore, by the formula above you justify $10,000 of your gross salary.
You work for free, don't you?
Assuming that you mean that your company provides free and open-source software (e.g. Ubuntu) then your company's income is dependent on alternative revenue streams (service contracts, advertising, philanthropist funding etc). As a result, matching your contribution to your salary is going to be hard.
The final word (read first)
From this article (provided by @Macneil)
Using a labour theory of value is just a red herring
which essentially states that you will never be able to work out directly what you are worth because you need to take into account a large number of contributing factors that are not available to you.
Realistically, you will have to compare yourself to others doing similar programming jobs in the same country. The problem there is that you are averaging out your individual contributions over the entire country which means that you won't be reaching your maximum earnings potential.
I keep a nose out on the market and occasionally get some offers I listen to. They give a rough estimate around how much you could achieve in terms of payment.
Also if you look at consultant firms they usually have a "ladder" with titles such as junior, senior etc. each with a pay-level and expected performance. If you meet up at consultant firms reqruitment events every now and then you can get the chance to see what the levels are like.
Get on the mailing list of a couple of reputable recruiters. You're not "actively looking", but you're "keeping an eye out for interesting opportunities". They will frequently include rate and salary information for positions in their e-mails.
Check job listing sites that quote rates or salaries. Most listings don't publish the rates or salaries, but once in a while you'll find some.
You can also check out the Occupational Outlook Handbook published by the Dept of Labor. Here is the page on Computer Software Engineers and Computer Programmers (see the Earnings section). It lists average salaries, etc. but may not be specific to your geographic location, expertise, or industry.
Once you start seeing the rates for various types of positions then you'll start to see the variability that role, experience, location, and industry make in determining compensation. From there you'll have to figure out what applies to you (and what to do next).
Hope that helps!
Am I paid enough?
Well. When you start asking yourself this question it often means you're not? but knowing you're not paid enough doesn't mean you should be getting more money anyway.
Hence a more important question is:
Should I be paid more based on my experience and skills?
Now that's a completely different question. This question you can't directly answer yourself.
This is likely to be quite a different take as this isn't looking at compensation relative to others but rather in contrast to the rest of your life. Do you make enough to pay your bills and live a good lifestyle? Good being rather subjective here obviously as some people can live on a shoestring and others want to make millions each year. Another point here is to note that there are things beyond salary in terms of compensation that should also be counted though some of these can be hard to quantify such as how good is the work environment, the quality of the work being requested and personal satisfaction in doing it.
Two important questions:
- Do you feel good about the amount they pay you? Does it justify the responsibility?
- Are you happy at work? Do they treat you well, and do you feel at home?
Compare scales all you want, these are the things that matter in the end. At other jobs you will be given other responsibilities, so you cannot really compare the other peoples salaries.
You should be payed enough so you won't have to worry about getting paid.
For me personally, it weighs both ways, when its boring at work I start looking at my salary, when its fun at work, I usually don't care how much I make because I have fun.
P.S. Extra interesting movie: http://www.youtube.com/watch?v=u6XAPnuFjJc