I place developers with US tech companies for a living. Before that sentence makes you close the tab: what follows is the thing I tell developers for free, one conversation at a time, until I got tired of saying it one person at a time.
Last month a developer in Prague asked me if 55 dollars an hour was a reasonable rate.
Nine years in. Kotlin, AWS. He had built and run a payment system for one of the largest Czech fintechs. Three million transactions a month. Zero P0 incidents in two years. A profile most US startups would fight over.
I told him what the US market actually pays for that exact stack at that exact level. He went quiet for about thirty seconds. Then he said: "I have been contracting for three years. I just did the math."
He had left roughly 180,000 dollars on the table. Not because he was not good enough. Because no one had ever told him the number.
This is the most expensive blind spot in our industry, and almost nobody outside the US escapes it. So let me walk through why it happens, because once you see it you cannot unsee it.
You are pricing against the only benchmark you have ever seen
When you set your rate, you do not pull it from nowhere. You anchor it to something. And the only thing you have ever had to anchor to is your local market.
So a senior engineer in Warsaw prices against Warsaw. One in Bucharest against Bucharest. You take the local senior salary, maybe add a premium because the client is foreign, and you land on a number that feels brave. Forty-five an hour feels brave when the engineer at the next desk makes the local equivalent of twenty.
Here is the disruptive part. The US client is not paying for your location. They are not even thinking about your location, except as a logistics detail. They are paying for the work, and what that work is worth to their business. A payment system that does not go down is worth the same to a US fintech whether the person who built it sits in San Francisco or Brno. The value did not get cheaper when it crossed a border. Only your benchmark did.
You are not underpaid because you are foreign. You are underpaid because you measured yourself with the wrong ruler, and no one handed you a better one.
Why nobody hands you a better ruler
This is the part that keeps the blind spot alive.
There is no public benchmark for your actual situation. levels.fyi is excellent, and it measures the wrong thing for you: it is full-time employee total compensation at mostly US-based big tech. You are not a US employee with equity and benefits. You are an independent contractor in Europe invoicing a US company on an hourly or monthly basis. Different market, different numbers, different dynamics, and there is no clean public table for it.
So you ask around. Your friends are anchored to the same local market you are, so they confirm your low number back to you. The agencies that could tell you have every reason not to, because the gap between what they bill the client and what they pay you is their entire business. The silence is not an accident. Nobody in the chain profits from you knowing the number, except you.
The traps that keep the number low even when you guess up
Say you decide to be bold and raise your rate. There are still three ways the market quietly talks you back down.
You sell yourself as the cheaper option. The moment your pitch is "same quality, lower price," you have capped yourself. Cheap is a race you can only lose, and it signals junior even when you are not. The senior move is to sell de-risked delivery: I own the outcome, I ship, you do not babysit me. Companies pay a premium for the engineer they do not have to worry about.
You name the first number. Whoever says a number first sets the ceiling, and if that is you and you are anchored low, you just capped the entire negotiation before it started. Let them range first where you can. When you cannot, anchor at the top of what you can defend, not the middle.
You treat your rate as set once. It is not a price tag, it is a starting position. The engineers who climb fastest revisit the rate every few months and on every new contract, with proof of impact in hand. The ones who stay underpaid set it once in year one out of nerves and never touch it again.
What actually closes the gap
None of the fixes require becoming a better engineer. You already did the hard part. The fixes are information and posture.
Find the real benchmark for your specific profile: your stack, your seniority, contractor and not employee, US client. Decide three numbers before any conversation: the walk-away you will not go below, the target you actually want, and the anchor you open with. Sell the outcome you own, never the discount. And raise it on schedule, with evidence.
The developers earning real US rates from abroad are not the most talented ones. I have watched the same engineer double their income in a year without learning a single new framework. The experience was always there. They just stopped using their hometown as the measuring stick.
That can be you, and it is almost embarrassing how little has to change. You do not need more skill. You need the number, and the nerve to hold it.
I wrote a free guide that goes deeper on all of this, the honest version I give developers one at a time: get it here.
And if you want the read a US hiring manager gives your CV in six seconds, before you ever get to the rate conversation, that is free too: cvcheck.czechdevusa.com.
Tell me your stack and your years in the comments and I will tell you honestly whether the number you are quoting is leaving money on the table. I read everything.
Top comments (0)