| Role family | Postings | Median midpoint |
|---|---|---|
| engineering | 2 | $232,250 |
| finance / legal | 2 | $208,750 |
| data / ml | 2 | $215,000 |
| security | 1 | $225,000 |
| sales | 1 | $222,500 |
| other | 1 | $171,000 |
| support / ops | 1 | $85,000 |
| Title | Location | Low | High |
|---|---|---|---|
| Senior Software Engineer, ML Infrastructure | Cupertino, San Francisco | $209,000 | $270,000 |
| Senior Counsel, Energy Transactions | Remote (with options for hybrid/in-office wo | $185,000 | $270,000 |
| Security Engineer | Cupertino, San Francisco | $180,000 | $270,000 |
| Software Engineer, Grid-Scale Batteries | Cupertino, San Francisco | $180,000 | $270,000 |
| Power Systems Research Scientist | Cupertino | $175,000 | $270,000 |
| Senior Fullstack Engineer, Energy Sales Systems | Cupertino, San Francisco | $175,000 | $270,000 |
| Data Engineer | Cupertino, San Francisco | $180,000 | $235,000 |
| Retail (Energy) Accounting Manager | Houston | $160,000 | $220,000 |
| Capital Markets Associate / Senior Associate | Cupertino, San Francisco | $140,000 | $202,000 |
| Office Manager | Houston | $80,000 | $90,000 |
Across 10 postings that state a pay range, the median midpoint is $222,500. The middle 50% sits between $194,375 and $225,000, and the 90th percentile is $228,700. All figures are annualised and converted to USD.
10 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 (2 postings, median $232,250). 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 10 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.2-py3-none-any.whl
import salaryranges
salaryranges.by_company("gridmaticinc")
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).