In the past week a few people have asked my advice regarding compensation. Coincidentally, I personally have had to think about compensation as I recently changed jobs.
During my career I've changed jobs 14 times across 12 companies. These were strictly full-time positions. I'm not counting the various contract work I've done over the last 20 years.
My experience has forced me to become comfortable discussing compensation. But most people, especially developers, are not. In fact, as developers, we're likely to accept a position offering the ability to work with new tech or the latest hardware rather than higher compensation. I know I have.
At some point, however, you're going to want to increase your compensation. You'll be faced with the decision to seek a raise or change jobs.
Before addressing this specific scenario, I'd like to share some general advice on compensation.
Whether this is a downpayment on a side project or a higher starting salary - always get money up front. Getting money later is not only difficult, but a never ending game of catch-up.
At one of my first jobs, I accepted a salary of $45,000. I wanted $50,000. The company gave an annual 3% raise, so I figured I'd make it up. While true, I didn't do the math. At $45,000 it takes 4 years to raise to $50,000. Had my starting salary been $50,000, I would have made $21,000 more during that same time. In addition, my salary would have risen to $56,000.
Worth is a deserved amount. In regards to our compensation, we're likely to give ourselves a higher worth. Indeed, we may be worth it. But compensation is more about value, which is a judged amount. Your salary is an amount based on the value you provide to the company and the value the job provides to you.
At one company, I started a role as a Senior PHP Developer. I transitioned into an opening on the iOS team. In the industry, an iOS Developer is worth more than a Senior PHP Developer. However, my value was less because within the company I was not an experienced iOS developer.
Be as strict as possible with your hours while remaining a team player. If there is a special project or something you want to go above and beyond, do it. Just don't make this the norm. Otherwise, you've willingly lowered your compensation. One of my favorite uncon talks on the matter is Go the fuck home!. Take the 5 minutes to watch it.
In addition to your hours, also stick to the schedule for reviews. If a company says "let's talk again in 6 months", have the talk after 6 months. Do not wait.
I was on a team tasked with a large upgrade under a tight deadline. To meet the deadline, several of us were working more than 60 hour weeks. We all worked hard and got it done. But during that time I worked 50% more, effectively decreasing my compensation 34%.
While the circumstances varied, the specific question I was asked came down to:
Should I seek a raise or change jobs?
Ultimately you have to make this decision. But the following points may help guide you.
Depending on your circumstances, you may be past a point where a raise would help. Play through some scenarios. What happens if the raise is 3%? 5%? 10%? What if the raise isn't immediate? Also think through the psychology. Does a raise get you back to feeling good about the job? Or does a raise just make up for past circumstances?
It's easier to get a job when you have a job. There are, of course, exceptions. For most though, it's easier to make a lateral or even upward move in compensation when changing from a current job to a new job. Without a current job, there's a greater risk to take a decreased compensation.
If you're at a point where you want to leave your current job be sure to have your finances in order. You'll want enough savings to allow yourself extra time to find another job.
An ideal time to think about what you want in a job is when you're changing a job. Doing so will not only help you assess potential jobs, but how to value them. A few years ago I wrote Why I leave a job. It may help get you started.