Here is a number most developers never see. When a US company pays a staffing agency 100 dollars an hour for your work, you frequently take home somewhere between 50 and 75 of it. The rest is the agency’s margin, and it is charged every hour, for as long as you are on the contract.
The cross-border hiring world is full of layers like that, each one positioned as the thing that makes it “safe,” each one taking money that started as either the company’s budget or the developer’s rate. It is worth naming them plainly.
The staffing agency
A traditional staffing or consulting agency bills the client and pays you a fraction of it. Markups of 25 to 50 percent of the bill rate are ordinary, and at the body-shop end of the market it can be worse. On a year-long engagement that gap is tens of thousands of dollars, taken continuously, for having made an introduction once.
The contingency recruiter
A recruiter placing a permanent hire typically charges the company 15 to 25 percent of the engineer’s first-year salary as a one-time fee. That is more defensible than a permanent markup, but it is still a large number attached to a single act of matching, and it quietly shapes who gets shown to whom.
The managed-employment platform
The newer platforms, the ones that handle contracts, invoicing, and compliance, are genuinely useful and much cheaper than an agency. But they are not free. Contractor management commonly runs a flat monthly fee per person, and full employer-of-record service runs several hundred dollars a month per head. For work that is, mechanically, generating a contract and filing a tax form, that is a subscription on a solved problem.
What all of them have in common
None of these layers are scams. Each does something real. But look at what the client is actually paying for at each step and the pattern is the same: a large, recurring fee attached to a task that is mostly paperwork, justified by the fear that doing it directly is hard or risky.
It is not hard. A developer abroad invoices a US company as an independent contractor, pays their own tax at home, and files a single W-8BEN so nothing is withheld. That is the whole mechanism. The layers exist because complexity is profitable, not because the underlying transaction is complicated.
Where the money should go
The part that genuinely deserves to be paid for is not the payroll run. It is the judgment: knowing which engineer is actually senior, whether the rate is right, whether this is someone worth a company’s trust on a first cross-border hire. That is human work, it is hard, and it is the one thing none of the platforms sell. Everything else in the middle is a toll on a road that was never that long.
If you are a company tired of paying a permanent markup to a middle layer, or an engineer tired of watching a third of your rate disappear, see how a direct structure works. The fee comes off the company side, once, and never out of the engineer’s hourly rate.