The first thing to know about negotiation is that you can and should do it for any transaction more than $100 or so. If you can talk to a human, you can probably negotiate. The larger the deal, the more value you'll find in negotiation.
You won't find many transactions larger than your compensation at a new job. With minutes of work, you can earn thousands of dollars over a year. For many folks, negotiation can add tens of thousands of dollars to your annual salary. That's huge;
Negotiation is a ritual and varies with culture. Because you develop apps, and don't sell things for a living, haggling might seem weird. Think of it like shaking hands or saying "hi" to your waiter. The waiter doesn't ask you to greet them -- you probably just do it. If you "opt out" of a socially-expected greeting, often negative things happen. You might not realize it, but your waiter may give you worse service, deliver your food late, or "forget" your requests. A salary negotiation runs similarly in that "opting out" usually has negative consequences -- even if you don't notice.
The purpose of the negotiation ritual is to arrive at an agreement that all parties are happy with. Think of it roughly as a binary search through compensation space. The employer starts with a low salary, and you ask for a higher one. You go back and forth, first targeting one term, and then the other. At some point, you hopefully find a deal that works for you both.
I've spoken with many developers who believe that the employer should just offer a fair salary. In some cases, they will. But usually, they calculate their first offer anticipating your counter-offer. In other words, they give you the lowest offer that seems reasonable in the expectation you will ask for the highest offer you think is fair. If you accept the first offer, you'll end up with a deal that strongly favors the employer. The outcomes of the ritual aren't perfect, but ignoring them can lead to poor results.
Accepting an employer's first offer can also seem strange to the employer. Like your waiter expects a greeting, a recruiter or manager expects negotiation. Not engaging in negotiation can seem unprofessional, and even worse, make you appear less experienced than they thought.
Skipping negotiations can make you appear desperate or like you don't value your skills. Your new employer might think they got a bad deal because they wonder if they could have made you a lower offer. From the hiring manager's perspective, the only offer you wouldn't negotiate is one that seems incredibly high.
Keep in mind that this is a short take on negotiation. Many books have been written on the subject, so don't take this as the final word. Also, note that negotiation varies by culture. I'm writing from the US perspective.
While many negotiators focus on base salary, there are many other terms you can negotiate. At certain salary levels, the non-salary terms may become more critical. Here are some items that you might negotiate.
Although it's illegal to ask in some cases, many recruiters want to know your current compensation. I've never revealed this to recruiters, and never will. There is no advantage to disclose what your current employer pays you, and sharing it will limit the outcome of your negotiation.
Early in my career, I was able to leave a job that paid about $60,000 for a job that paid nearly $80,000. A 30% jump in pay probably wouldn't have happened if I had revealed my current salary.
Along the same lines is, "what are your salary expectations?" Ideally, you don't want to reveal this number either. Whatever amount you name will immediately limit the outcome of your negotiations. If you say "I'd like to make $160,000 a year", chances are high that your initial offer will be somewhat less than that number. Assume that most negotiations end up in the middle of the range set by the first offer and any counter-offer.
One of the best ways to dodge the salary expectations question is to beat the recruiter to the punch. Ask the recruiter for the salary range before they ask you. "So we don't waste each other's time, can you confirm the base salary range for this position?"
If they balk, you can say what they would say to you in the same position: "I need to know so we can make sure we're a good fit" or "I'd like to know so we don't waste each other's time." Whatever the answer, it can't hurt to ask: "Do you have any flexibility on that?" If your salary range and their range don't match, it's best to let them know now.
As a more experienced iOS developer (and negotiator), you may sometimes need to offer a number if the recruiter refuses to reveal their salary range. A compensation mismatch can waste days. I once spent days interviewing with a company before learning that their offer would be tens of thousands of dollars below my minimum needs. If this happens to you, I suggest presenting what negotiators call a "high anchor." This means that you give them the highest legitimate salary range for someone with your skills. When you do this, make it clear that these numbers aren't yours -- they're what your research revealed. For example:
"I'm hesitant to share this because it sounds crazy. My research shows that some companies are paying iOS developers with my skills from $170,000 to $241,000 base salary and total compensation from $214,000 to $659,000 per year."
Never offer compensation numbers without qualifying it as "base salary" or "total compensation" numbers. Many recruiters will optimistically assume that any large number is total compensation. Equity, vacation, and bonuses should be negotiated separately. Equity is an especially sticky piece of compensation to value. The stock might be worth nothing, or it might be worth millions. Don't let the recruiters confuse you by muddling base compensation (salary) with equity (stock).
Recruiters never work for you. They will tell you that they win when you win, but that's not entirely true. Ultimately their duty is to their employer (or the company that contracted them). If you tell them that you'd like to earn $150,000, but would take $130,000, they will not keep it a secret. You will probably not receive an offer much higher than $130,000. The recruiter's incentive is always to close deals more than their commission or anything else.
This is related to not revealing your current or expected compensation since showing that information is similar to making an offer. If you say you expect to make $160,000, you're offering to work for $160,000.
Whichever side makes the first offer basically sets the benchmark for their best possible outcome. If the company starts by offering you an $180,000 salary, it's unlikely they will be able to lower that number. On the other hand, if you offer to work for $180,000, you won't get an offer higher than that number.
Some companies will try to persuade you to make the first offer because they "don't want to offend you," or "don't know what a fair offer is." I usually promise I won't be offended or explain that they probably have more data on the market rates than I do.
"Tell me what salary range you're thinking, and I'm sure we can work out something from there."
Even if you receive a disappointing offer, it's essential to express that you'd like to reach an agreement. If your reaction isn't professional or optimistic, it reduces your chances of reaching an agreement. Instead of making another offer, they may decide to move on to the next candidate.
I suggest tempering your optimism with a slightly negative initial reaction. I usually react to any offer with a "Hmmm," "Ooohh" or another sound to indicate that I hoped for a better offer. I quickly move on with optimism that we can make a deal work, and asking for a better offer. If you respond with pure excitement, it won't match with your request for a better proposal. For example, this sounds crazy:
"We'd like to offer your $90,000."
"Yay!!! I'd like a higher salary."
The recruiter will get the impression that you'll accept the job no matter what.
Negotiation in the US involves offers and counter-offers until both parties are satisfied with the deal. Most competent negotiators make an offer anticipating that you will have a counter-offer. In other words, they don't offer their highest number first. Even if your first offer is entirely satisfactory, you can probably ask for a better offer.
Depending on your upbringing, you might feel awkward asking for a better offer. Some people find it greedy. You should understand that how you approach negotiation and the outcome of bargaining can influence the opinion of your future employers. It may not seem fair, but your salary will shape the opinion of the people you work for. If you negotiate an offer for a higher wage, their estimation of your value as an iOS developer will likely increase.
There are salary bands that correspond with each job title behind the scenes at larger companies with HR departments. A new college grad iOS developer might make $80,000 - $90,000. A junior developer might make $95,000 - $110,000. And so on. In some cases, the skill level you're assigned may literally depend on what salary you negotiate.
Recently a recruiter argued a candidate should get a better job title to correspond to their higher salary expectation. Take this as proof that job titles there aren't based on skill or experience!
I saw this when I followed a colleague from one company to another. Somehow I ended up with a better job title, even though we had similar levels of experience and the exact same job title at the previous job. I suspect this only happened because I negotiated a higher salary.
Negotiating your job offer can have a surprising impact not just on your prosperity but also on your career development and how your peers view you.
When you're applying for jobs, you need to know both what your skills are worth in general, and how they're compensated at the company you're interviewing at. Many companies explain their benefits on their web sites, and a tiny number even reveal their salaries. You can also find information on salary and compensation sites. You can find salary information for specific positions at specific companies. You can also find general salary information for jobs in various geographic regions.
You can also use your professional network to research salaries and compensation. Few people in the US will feel comfortable revealing their salaries when directly asked. Still, you can sometimes get an approximation by asking indirectly:
Negotiations can intimidate and exhaust you. Many people talk too much and reveal too much information, especially when in an uncomfortable situation. For this reason, remaining silent is a vital skill in negotiations.
Saying "I'd need a higher salary," followed by thirty seconds of silence, is very different from saying the same thing followed with filler words. Continuing to speak after a request can paint you as lacking confidence, downplay your request, or deflect the conversation to another topic. I've seen folks who ask for more and then immediately explain that it's ok if they can't get it.
Asking for something won't work unless you wait for a response. Unfortunately, silence is a known negotiation tactic, so a skilled negotiator may give you an extended opportunity to derail your request.
Practice silence with a friend. Practice an entire negotiation. When you ask for a better offer, make a game of how long you can wait without speaking.
These are some ideas for how you might respond to everyday situations when negotiating a job offer. In all cases, I suggest honesty in your responses. I also recommend practicing these various situations with a friend so you can develop your own natural reactions.
Sometimes recruiters or hiring managers use time pressure to reduce your negotiating leverage. If you only have a few hours or a day to make a decision, you'll have less opportunity to get a competing offer. Or maybe they don't want you to notice some problem with the deal. Or perhaps they're just in a hurry.
Accepting a job offer is a big deal. I would never accept an offer without having time to discuss it with my friends and family. iOS developers don't negotiate and cut deals for a living. Since recruiters negotiate all day, you should take some time and space to consider the offer and decide on your next move.
Sometimes the recruiter tells us a third party (e.g., the hiring manager or a director) is the only person who could do X, Y, or Z. Sometimes a third party has to be consulted; other times, this is a "higher authority" gambit, and the recruiter already has the power. They might say, "I'll have to ask the director," or "I don't think the director would want to do that," or "Why would the director agree to that?" In these cases, your best option is often to schedule a meeting with that person.
You may find my series on evaluating job offers helpful.
I really enjoyed Never Split the Difference, by Chris Voss