ML Engineer vs Penetration Tester

Put two roles head to head — any role, in any location or worldwide-remote.

Side A

Side B

ML Engineer pays about 14% more at the median.

Side-by-side distribution

ML Engineer Penetration Tester
$205k
$180k
$105k box = 25th–75th · whiskers = 10th–90th $322.5k

ML Engineer

$205,000

median · per year, annualized USD

Median over time ▲ +2.1%
$200,800 $205,000
$173.5k 25th
$205k Median
$250k 75th
$142.5k
$300k
Box 25th–75th · whiskers 10th–90th Full range $5.3k – $1,000k · outliers off-axis
Disclosing
42.3%
Live roles
1,743

Penetration Tester

$180,000

median · per year, annualized USD

Median over time ▼ -2.5%
$184,700 $180,000
$136.3k 25th
$180k Median
$218.3k 75th
$120k
$307.5k
Box 25th–75th · whiskers 10th–90th Full range $132k – $490k · outliers off-axis
Disclosing
32.9%
Live roles
70

Top companies hiring

Company Median Roles
Reddit $276,000 18
Pinterest $260,867 17
Motional $185,500 17
Roblox $297,743 14
Airbnb $274,500 14
Torc Robotics $249,000 11
Nuro $242,540 10
Applied Intuition $173,500 10

Top companies hiring

Company Median Roles
GR GRVTY $215,000 2
Robinhood $191,444 2
Accenture Federal Services $174,200 2
M9 Solutions $120,000 2
TP-Link Systems Inc. $106,000 2
OpenAI $418,500 1
Anthropic $362,500 1
Perplexity $312,500 1

ML Engineer salary by location

Location Median Roles
San Francisco $240,000 164
Austin $235,000 11
New York $225,000 100
Seattle $212,444 39
Los Angeles $205,000 11
Boston $200,000 41
Toronto $195,000 29
Paris $185,000 6
Atlanta $174,825 8
Chicago $173,875 12

Penetration Tester salary by location

Location Median Roles
Seattle $362,500 3
San Francisco $312,500 5
New York $236,000 7

ML Engineer vs Penetration Tester: which pays more?

The median for ML Engineer is $205,000 per year (typically $173,500–$250,000), versus $180,000 for Penetration Tester ($136,250–$218,250). That puts ML Engineer about 14% ahead at the median.

Both figures are computed live from active listings on JobsRadar and normalized to annualized USD, so ML Engineer and Penetration Tester are compared on equal terms regardless of the currency each role was originally posted in. Only roles that publish a salary range feed the medians; numbers refresh every few hours as new roles post and older ones close, so this comparison reflects the market right now rather than a fixed survey. Use it as a directional benchmark when weighing one path against the other.

Catch your next role the second it’s posted.

Create a free account and we’ll watch the boards for you — the instant a job matches your search, it lands in your inbox or Telegram. No digging, no refreshing.

Create free account

Free forever · takes 30 seconds · already have one?

Get an edge on your job hunt.

Join our Telegram channel for the stuff that helps you land the role — salary benchmarks, the weekly market pulse, and new-feature drops. No spam, just signal.

Join the channel — it's free