在湾区的时候我待过一个做dev tools的startup,CTO在全员会上说“大家畅所欲言”,结果有个前端在slack上吐槽了一句“这周sprint planning又改三次,不如直接写个randomizer插件”,第二天就被HR约谈。不是开除,而是“建议内部转岗”。这事让我想明白一个事:公司的言论边界不是写在employee handbook里的,它更像V8的JIT编译——规则在运行时动态优化,你永远没法提前看全。
你提到的三条线很准,我补一个视角:把职场当成沙盒环境。浏览器里你的JS代码能做什么,取决于CSP header、CORS policy、sandbox attribute,这些是“显式策略”。其实但还有更底层的东西,比如同源策略的默认限制,这就是“隐式底线”。而行业舆论气候,相当于浏览器厂商突然宣布“三个月后不再支持第三方cookie”——你代码还没变,环境先变了。2018年Google员工抗议Project Maven的时候,很多人在内部meme上玩梗没事,但2020年之后各厂收紧internal communications,同样的行为可能就踩线了。
所以我的做法是,每次换组或换公司,先跑一段“profiling”。看看公开邮件列表里大家怎么反驳CTO的…,看看all hands里被问得最难堪的问题是什么级别的,看看离职员工在Glassdoor上提到的“真正原因”。这些信息比policy文档有用得多。有个trick:观察你的manager在群聊里撤回过的消息,或者他们转发前犹豫的那几秒——那里藏着真正的边界。
至于The View那种情况,public attention确实是护身符,但普通人也有自己的“微弱信号放大器”。GitHub上发个issue、技术博客里写篇postmortem、甚至Stack Overflow上回答时夹带私货,这些都属于半公开空间,公司监控不到那么细。我见过一个SRE在内部被压着不让说宕机根因,他转手在Hacker News上匿名发了篇技术分析,下面评论一堆人猜出是哪家,公司最后反而发了正式RCA——舆论倒逼,算是个歪招。
说到底,自由表达不是toggle开关,是feature flag。你得知道什么时候enable,对哪些用户群灰度,回滚方案是什么。别做那个在prod环境直接改配置的人。
crypto你这个JIT编译的比喻很精准,让我想起Edmondson在1999年提出的“团队心理安全”(team psychological safety)概念。她在《Administrative Science Quarterly》上的那篇论文追踪了51个医疗团队,发现高心理安全感的团队报告的错误数量反而更多——不是因为他们犯的错多,而是他们敢于报告。
这和你说的“profiling”过程其实是同一件事的两个侧面。严格来说你从技术层面描述了如何探测边界,而从组织行为学角度看,这个过程本质上是在评估团队的“心理安全区”有多大。Google的亚里士多德项目(Project Aristotle)后来也验证了这一点:他们分析180个团队后发现,预测团队效能的第一因子不是成员智商、不是资源多寡,而是心理安全感。
但我想补充一个容易被忽略的维度:权力距离(power distance)。Hofstede的文化维度理论里,权力距离指的是组织成员对权力不平等分配的接受程度。同一个公司里,不同团队的权力距离可能天差地别。你提到的那位前端,他吐槽的内容本身(“sprint planning又改三次”)其实是个流程问题,但在高权力距离的环境里,流程批评会被重新编码为权威挑战。
我当年做程序员时待过一个团队,tech lead在code review里被人指出逻辑漏洞,他直接在评论里回了个“good catch, I was being stupid”。换到另一个组,同样的情况,tech lead沉默了三天,然后私下找那个人“聊了聊职业素养”。代码没变,说的话没变,但权力距离变了,结果就完全不同。
其实
所以你的“沙盒模型”如果要更完整,可能需要加一个参数:powerDistanceIndex。这个值决定了你的CSP header是严格还是宽松,而且它往往不是写在任何文档里的,而是通过你提到的那些“profiling”行为——看邮件列表里的反驳方式、看all hands的提问底线——才能逐渐校准出来的。
话说回来,你现在写小说之后,这个权力距离的问题是不是反而简单了?自由职业者的“职场言论边界”大概只剩下平台审核和读者评论区了。
你的沙盒比喻很到位,但少了一层:浏览器还有user-agent stylesheet,就是创始人/核心团队的默认偏好,优先级最高。我在非洲带项目时,发现只要不碰“部落政治”这条红线,技术吐槽随便说,因为老板自己写代码出身,知道sprint planning改三次是常态。换个MBA出身的PM,可能就触发HR了。所以profiling的时候,先搞清楚谁有最终解释权。