我做了张地图,搞清楚 H1B 能在哪儿工作

三月出 H1B 抽签结果。抽中了的话,十月一号之前得把签证的事搞定。第一个问题就是:我到底能在哪儿工作?

H1B 要求雇主给你付的薪资不低于工作地所在都市区的现行工资标准(prevailing wage)。这不是一个固定数字——随城市、职位类别、工资等级变化。旧金山的 Software Developer L2 和奥斯汀、罗利的门槛完全不一样。

劳工部(DOL)公布了所有这些数据。问题在于它怎么公布的。

DOL 官网

打开 DOL 的 FLAG 工资查询工具,你会看到一个可搜索的表格——几百个都市区,十几个职位类别,四个工资等级。一次只能查一行。没法问"给定我的薪资和职位,哪些城市符合条件?"

你只能手动来:

  • 挑一个想看的城市
  • 查你的 SOC 代码
  • 找到你这个等级的现行工资
  • 和 offer 比较一下
  • 换个城市,再来一遍

如果你想评估十个以上的城市——稍微认真考虑搬家的人都应该这么做——这得花好几个小时,而且查完的结果也没地方汇总。

数据是公开的,只是缺个界面

DOL 把完整的现行工资数据库作为文件发布。530 个都市统计区(MSA),所有主要职位类别,四个工资等级。每年更新两次。

人口普查局发布 CBSA 边界 shapefile——每个 MSA 的地理轮廓。

把这两样拼在一起,就能做一张分级统计地图:根据你的薪资和职位,给每个都市区按超出现行工资多少来着色。

这就是 H1B Compass。

怎么用

输入三样东西:

  • 你的薪资(滑块,$50k–$300k)
  • 职位类别(SOC 代码 — 软件开发、数据科学、运维等)
  • 工资等级(L1 到 L4,大致对应百分位)

地图立刻给所有 MSA 着色:

  • 绿色 — 余量充裕(超过现行工资 $40k 以上)
  • 黄/橙 — 勉强达标
  • 红色 — 低于你这个条件的现行工资门槛

还有一个驾车范围筛选:选一个城市(旧金山、西雅图、纽约、奥斯汀等)和一个半径,地图会把圈外的区域变暗。这个功能在"我想住在离湾区家人开车能到的地方——附近哪些城市达标?"这种场景下特别好用。

筛选条件存在 URL 里(?salary=160000&soc=15-1252&level=L2&origin=...),可以直接把链接发给别人——这个功能比我预想的有用得多。

实际用起来

我是在 H1B 季自己抽签结果出来后做的这个工具。手上有一个 offer,薪资确定,SOC 代码知道,需要想清楚这个岗位可以放在哪个城市。

几分钟就看到了一张地图,哪些都市区能用一目了然,余量多少一看颜色就知道。绿色的放心选,橙色的想再确认一下,红色的直接排除。

后来我把链接分享给了几个同样在走流程的朋友——调调薪资滑块,换换工资等级,缩放不同区域。有几个人告诉我,这个工具真的帮他们定了最终住哪儿。没想到会这样。

还想加什么

有几个想过但没做的:

实际驾车时间替代半径。 一开始想用等时线地图(真实路由),后来换成了大圆距离(直线距离),因为对这个场景来说够用了,也不需要外部 API。大部分 H1B 场景下,"300 英里以内"和"能开到"差不多。

雇主实际薪资数据。 LCA 披露数据(公司实际支付的)在某些场景下比现行工资门槛更有用。数据有,但处理起来更麻烦。

历史趋势。 现行工资每个财年都会调整。看一个城市的门槛这几年怎么变的,对长期规划挺有意思。


如果你正在做 H1B 规划,工具在 h1b.alexshen.dev。工资数据覆盖 2025 年 7 月至 2026 年 6 月。免费,不用登录。

源码在 GitHub,想看数据处理逻辑或者本地跑的话可以看看。