现任 Hasura/PromptQL 工程师 Gavin Ray 近日发布长文,讲了一个很不适合被包装成励志故事的经历。

他 14 至 16 岁期间被关押在最高安全级别少年监狱。19 岁时,又因毒品相关案件成为重罪犯。后来,他通过软件开发、开源贡献和少数人的信任,重新进入技术行业。

这件事反常的地方在于:技术行业常说“看能力”,但真正遇到犯罪记录时,很多流程会立刻停止判断。

我更在意的不是 Ray 个人如何翻身,而是一个更难的问题:一个人犯过严重错误,也付出过代价;如果他后来证明了能力、稳定性和改变意愿,技术公司该不该给他重新进入职业系统的机会?

第一份软件工作,不是鸡汤,是一个罕见入口

Ray 的技术转折发生在县监期间。

他在报纸上看到一则报道,内容是面向高风险和贫困青年的科技实习项目。他把文章剪下来保存。进入 work-release 项目后,他白天可以外出找工作;如果一周内找不到,就要回到监区服完刑期。

他走进那家公司办公室,说明自己刚从监狱出来,也说明是在里面看到报道。对方面试后,录用他做全栈 Web 开发实习生。

这家公司是 Techtonic。公开报道中曾提到,它做过培训和再训练项目。

这一步不能被讲成“会写代码就能翻身”。它至少需要四个条件同时出现:项目愿意接触高风险青年,岗位能用实际产出评估,候选人此前自学过编程,还有人愿意把他放进面试房间。

少一个,都可能断掉。

阶段事实锚点阻碍或机会更现实的判断
少年时期14–16 岁在最高安全级别少年监狱服刑教育和就业路径被打断不能淡化违法成本
19 岁后毒品相关案件导致重罪记录背景调查长期跟随个人风险不是一句“过去了”就消失
县监期间看到面向高风险青年的科技实习报道获得第一次软件岗位入口机会来自制度入口和个人准备叠加
后续职业通过 Hasura 开源贡献获得机会薪资较前一份工作翻倍开源让能力更可见,但不替代风控

这张表里最重要的不是“结果不错”。

重要的是,Ray 的路径并不普遍。它更像一连串窄门:有人设了入口,有人愿意判断,他自己也拿出了可验证的工作能力。

“No Felons”省掉了判断,也挡住了复归

Ray 后来戒断,从洗碗工重新开始。

他的妻子一度独自支撑家庭,骑车上下班,做配送和安装大型家电的体力工作。他投递了数百份申请,多次走到终面,也拿到过 offer,但又因为公司“No Felons”政策被撤回。

这类政策不是凭空来的。

在美国企业招聘里,涉及金融、医疗、政府合同、未成年人服务,或高权限系统访问的岗位,雇主确实有合规、保险和声誉压力。团队负责人也要保护客户、员工和公司资产。

问题在于,一刀切最省事,也最粗糙。

它把毒品相关重罪、暴力风险、财务欺诈、时间跨度、改过证据、岗位权限,全放进同一个拒绝按钮里。招聘系统少做了一次判断,一个人的复归路径可能就被关掉很多年。

岗位类型风险变量更合理的处理方式
接触生产系统、客户数据的工程岗数据权限、系统破坏风险、客户合规要求背景复核更严格,权限分阶段开放
内部工具、低权限开发岗外部接触少,权限边界清晰可试用,可设代码审查和权限限制
金融、医疗、政府合同相关岗位法规、合同、保险约束更强可能不适合例外处理,需按合规走
开源社区贡献者转正能看到长期协作和代码记录可把公开贡献纳入复核材料

Ray 后来被迈阿密一家小型创业公司录用,拿到 5 万美元年薪 offer。对方还帮助搬迁,并提供短住 Airbnb。

这不是说小公司更高尚。更准确地说,小公司在这个个案里承担了大公司流程通常不愿承担的判断成本。

大公司有标准化流程,是为了降低组织风险。小团队愿意破例,也可能付出管理成本。两边都有现实压力。

所以,真正有价值的不是喊“给机会”,而是把机会做成可执行的风险评估。

开源能降低信任成本,但第二次机会要有边界

Ray 与 Hasura 的连接来自开源。

他在工作中评估 V2 重写方案时接触 Hasura GraphQL Engine。这是一款围绕 Postgres 自动生成 CRUD API 的开发者工具。后来,他活跃在 Discord 社区,回答问题,并提交功能 PR。

开源的特别之处在于,它把一部分“信任”变成了可检查的记录。

简历通常只能告诉雇主:我做过什么。开源记录可以进一步展示:我怎样解决问题,怎样和别人协作,能不能长期投入,代码质量是否稳定。

对有犯罪记录、成瘾史或职业断裂的人来说,这类公开记录很重要。它不抹掉过去,但能提供新的证据。

这也是技术行业和很多传统行业不同的地方。代码、issue、PR、社区讨论,天然留下痕迹。它们不能证明一个人完全没有风险,却能让招聘者少一点只凭背景标签做决定。

但边界必须讲清楚。

开源贡献不能替代背景调查。未做背景调查,也不该被解读成制度优越或道德胜利。更稳妥的办法,是把“能不能给机会”拆成几个具体问题:

  • 岗位是否接触敏感数据、财务权限或客户生产环境?
  • 犯罪记录距今多久,性质和岗位风险是否相关?
  • 候选人是否有持续工作、开源贡献、推荐人和稳定生活记录?
  • 团队能否设置试用期、权限分级、代码审查和复核机制?

对技术行业招聘者和团队负责人,这件事的动作很具体:不要让 ATS 或 HR 模板自动终结所有重罪记录候选人。至少为低权限、可审查、可试用的岗位保留复核入口。

如果团队没有能力复核,就不要靠个人善意硬接。乱给机会也是失责。

对有犯罪记录、成瘾史或职业断裂的技术从业者,Ray 的经历也不是捷径。更现实的做法是把信用一点点攒回来:长期维护作品集,参与开源,保留可验证的协作记录,争取愿意背书的推荐人。

一次面试很难改写标签。持续记录可以。

接下来最该看的,不是 Ray 的故事会激励多少人,而是技术团队能不能把例外流程做出来:谁有权复核背景风险,哪些岗位允许试用,权限怎么分级,判断如何留痕,客户和团队如何被保护。

没有这些机制,第二次机会只能靠偶然的好人。

有了这些机制,机会才不是施舍,而是一种更细的判断。