| Role family | Postings | Median midpoint |
|---|---|---|
| engineering | 5 | $185,750 |
| sales | 4 | $155,000 |
| support / ops | 1 | $155,500 |
| marketing | 1 | $144,750 |
| finance / legal | 1 | $133,375 |
| Title | Location | Low | High |
|---|---|---|---|
| Staff Software Engineer | Canada (Remote), United States (Remote), Uni | $195,000 | $265,000 |
| Staff Software Engineer, On-Prem | Remote, Canada or Remote, United States | $195,000 | $265,000 |
| Senior Software Engineer, Query | Remote, Canada or Remote, United States | $156,500 | $215,000 |
| Senior Software Engineer | Canada (Remote), United States (Remote), Uni | $155,000 | $215,000 |
| Senior Solutions Engineer | San Francisco, California, United States, Lo | $153,000 | $191,000 |
| Strategic Sales Manager | San Francisco | $150,000 | $171,000 |
| Senior GTM Strategy & Operations Manager | San Francisco | $127,500 | $183,500 |
| Software Engineer | Canada (Remote), United States (Remote) | $130,000 | $175,000 |
| Strategic Account Executive, NAMER | Remote | $133,000 | $166,000 |
| Strategic Account Executive, NAMER | San Francisco | $133,000 | $166,000 |
| Agentic Operator, Growth Marketing | Remote (USA) | $118,500 | $171,000 |
| Lead Accountant | San Francisco (hybrid) | $110,000 | $156,750 |
Across 12 postings that state a pay range, the median midpoint is $158,000. The middle 50% sits between $149,500 and $185,187, and the 90th percentile is $225,575. All figures are annualised and converted to USD.
12 of the postings we read from greenhouse carried a range on the day we measured (2026-10-24). The rest did not publish pay at all, so they are not in these numbers.
engineering is the largest family in this sample (5 postings, median $185,750). The table above lists every family we saw and the highest individual ranges.
No. This is what the company itself published in its job postings, normalised to a yearly USD range. Real offers vary by level, location and equity, and many postings omit pay entirely.
These 12 rows are part of one CSV covering every company we read: the full dataset (salary-ranges-full.csv) under CC BY 4.0. Or pull it into Python:
pip install https://sjdfi0wjvosdju9.github.io/packages/salaryranges-0.1.1-py3-none-any.whl
import salaryranges
salaryranges.by_company("circleci")
If you want the same numbers refreshed on a schedule, including the postings that never publish pay, that is the paid part: ATS Job Feed ($0.0015 per returned job).