摘要:会议室里,空调的冷风嘶嘶作响,带着一股过滤网久未清洗的尘土味。
周五,下午三点四十七分。
我盯着屏幕右下角的时间,像在看一颗定时炸弹的倒计时。
会议室里,空调的冷风嘶嘶作响,带着一股过滤网久未清洗的尘土味。
项目总监王伟,我们都叫他王总,正唾沫横飞地总结着“惊鸿”项目的复盘。
他那件小一号的白衬衫紧紧绷在肚腩上,勒出一道道疲惫的褶皱。
“这次项目能提前交付,并且在集团内部获得创新奖,离不开我们团队每一个人的努力,更离不开我,在关键节点上,对整体架构的颠覆性重构。”
我坐在角落,闻言差点把手里的保温杯捏变形。
颠覆性重构?
那是我连续熬了三个通宵,推翻了之前他那个“屎山”方案,用自己搭建的工具链“PrismFlow”重新渲染了所有数据可视化模块的结果。
他所谓的“关键节点”,就是在我把DEMO发给他之后,他回复了一个“收到”的那个节点吗?
我心里恨不得给他一脚。
他还在继续,“尤其是数据可视化这块,原来的方案,太死板,太沉闷。是我,力排众议,提出了现在这种全新的交互逻辑……”
我旁边的实习生小张,悄悄用胳膊肘碰了碰我,眼神里全是同情和不解。
我回了他一个“没事”的口型,然后低头,点开了早已准备好的邮件。
收件人:HR部门,抄送:全体项目组成员。
附件:离职申请表.pdf。
邮件正文只有一行字:本人因个人原因,申请离职。
点击,发送。
几乎是同时,会议室里此起彼伏地响起了邮件提示音。
王总的演讲戛然而止,他疑惑地看了一眼自己的手机,脸色瞬间变得像调色盘一样精彩。
他抬起头,目光像两把淬了毒的冰锥,死死地钉在我身上。
我迎着他的目光,平静地站了起来,拿起桌上的保温杯和笔记本。
“王总,报告念完了吗?念完了我先走了,赶着打卡。”
整个会议室死一般寂静。
空气里只剩下空调的噪音,和王总越来越粗重的喘息声。
我没再看他,转身走出了会议室。
走出那扇玻璃门的瞬间,我感觉积压在胸口三个月的闷气,终于通了。
回到工位,我做的第一件事,不是收拾东西,而是打开了GitHub。
我创建了一个新的公开仓库,名字就叫“PrismFlow”。
然后,我将这半年来,利用所有业余时间写下的那套前端数据可视化工具链,删掉了所有和公司业务相关的注释和数据接口,一行行地推送了上去。
`git push origin main`。
敲下回车的那一刻,我听见了锁链断裂的声音。
这套工具,从第一个字符开始,都是在我自己家里,用我自己的电脑敲出来的,没用公司一分钱的电,没占公司一秒钟的班。
它是我自己的孩子。
我给仓库写了一段简洁的介绍:“一个轻量、高效、高度定制化的前端数据可视化解决方案。献给所有不想在重复造轮子中浪费生命的朋友。Free for all。”
做完这一切,我才开始慢悠悠地收拾我的个人物品。
一个用了五年的键盘,一个被磨得油光锃亮的鼠标,一个仙人球盆栽,还有抽屉里几包没来得及喝的速溶咖啡。
东西不多,一个纸箱就装完了。
HR的办事效率很高,半小时后,小李就抱着一堆表格找到了我。
“林舟,签一下字吧。交接手续……”
她看着我空空如也的桌面,话说到一半卡住了,“你……都交接完了?”
“没什么好交接的,”我接过笔,飞快地在文件末尾签上自己的名字,“我的工作,王总今天在会上已经替我总结完了。”
小李的表情有些尴尬,她大概也听说了会议室里发生的事。
她把一张离职证明递给我,低声说:“祝你前程似锦。”
“谢谢。”
我抱着纸箱,最后看了一眼这个我待了三年的格子间。
灯光依旧惨白,空气依旧沉闷。
唯一不同的是,我自由了。
走出写字楼,外面正下着淅淅沥沥的小雨。
空气湿润而清新,带着泥土和青草的味道。
我把纸箱放在路边的台阶上,撑开伞,深深地吸了一口气。
手机震动了一下,是一个陌生的号码发来的短信。
“林舟先生您好,我是LeapTech的HRD苏晴。在GitHub上看到了您开源的PrismFlow项目,非常惊艳。不知您是否在看新的工作机会?冒昧打扰,十分抱歉。”
LeapTech。
我们公司的头号竞品。
我愣住了。
这才过去不到一个小时。
我点开GitHub,刷新了一下页面。
Star数:132。
Fork数:48。
Issues里已经有了七八个帖子,有的是在报BUG,有的是在询问用法,还有一个标题是:“卧槽!作者是神仙吗?这玩意儿直接解决了我半年的KPI!”
我看着那个感叹号,突然有点想笑。
原来被人认可的感觉,是这样的。
我给那个叫苏晴的HRD回了条短信:“谢谢您的关注,我今天刚离职,需要先休息几天。”
对方几乎是秒回:“应该的。是我们太心急了。方便下周一约个咖啡吗?我们CEO也想和您聊聊,纯技术交流,不聊offer。”
不聊offer。
这话术,可比王总那套“画大饼”高明多了。
我回了一个“可以”,然后收起了手机。
雨渐渐大了起来。
我叫了辆车,把纸箱塞进后备箱,报出家的地址。
靠在车窗上,看着窗外飞速倒退的街景,那些高楼大厦、霓虹灯牌,第一次显得有些不真实。
过去三年,我的人生就像一条设定好轨道的代码,每天通勤、开会、写BUG、修BUG,周而复始。
现在,我亲手按下了“Ctrl+C”。
回家的路上,我顺便在手机上点了个小龙虾外卖,加了两瓶冰啤酒。
算是庆祝我重获新生。
刚到家,脱下被雨水打湿的外套,门铃就响了。
外卖小哥把一个热气腾腾的大盒子递给我,笑着说:“您的加麻加辣小龙虾,祝您用餐愉快!”
“谢了。”
我关上门,把小龙虾往桌上一放,那股辛辣鲜香的味道立刻霸占了整个房间。
我拉开啤酒拉环,发出“噗”的一声轻响。
生活嘛,不就该是这个味道。
我刚剥了两个虾,手机就疯了一样响了起来。
是王总。
我皱了皱眉,按了静音,没接。
他锲而不舍,一遍又一遍地打过来。
微信也开始弹消息。
“林舟,你什么意思?”
“你把项目工具开源了?谁给你的胆子?”
“我警告你,你这是商业侵权!是盗窃公司资产!我要发律师函给你!”
看着屏幕上那些歇斯底里的文字,我被他这种斗争逻辑气得直想笑。
我慢条斯理地戴上一次性手套,又剥了一个虾,蘸满了汤汁,塞进嘴里。
真香。
然后我才拿起手机,拍了一张满桌小龙虾和啤酒的照片,给他发了过去。
附言:“王总,有事说事,别影响我吃宵夜。”
那边沉默了足足五分钟。
我猜他大概是破防了。
五分钟后,他的消息又来了,语气软了一点,但依然带着威胁。
“你立刻把GitHub上的仓库删掉!不然公司法务部明天就会联系你!你别自毁前程!”
我回他:“第一,PrismFlow所有代码均为我业余时间独立开发,著作权归我个人所有,这在我的劳动合同里写得很清楚。第二,该工具链并未直接应用于‘惊鸿’项目的任何交付产品中,我只是用它生成了DEMO,最终交付的代码是我用公司框架重写的。第三,您在项目复盘会上,不是说整体架构是您‘颠覆性重构’的吗?怎么,您重构的架构,核心是我写的工具?”
我发了一长串过去。
每一句,都像一把小刀,精准地扎在他的七寸上。
他又沉默了。
这次沉默的时间更长。
我没再管他,专心致志地对付我的小龙虾。
吃到一半,大学同学群里有人@我。
“@林舟,牛逼啊!在V2EX上看到有人推你的PrismFlow,已经快一千个赞了!”
下面附了张截图。
帖子的标题是:“[年度最强轮子] 发现一个国产数据可视化神器PrismFlow,作者格局打开了!”
我点进去,看着满屏的“感谢大佬”、“作者好人一生平安”、“已Star,已Fork”,心里那点因为王总带来的不快,瞬间烟消云散。
原来分享的快乐,是真实存在的。
它比任何奖金、任何口头表扬,都来得更实在,更有分量。
手机又震了。
这次是一个微信好友申请。
头像是个很干练的短发女性,备注是:LeapTech,苏晴。
我点了通过。
对方立刻发来一个微笑的表情:“林舟先生,没打扰您吧?看到您的工具链在技术圈火了,真心为您高兴。”
她的措辞很舒服,没有半点“挖人”的压迫感,更像是一个同行之间的欣赏。
“谢谢。”我回道。
“不客气。那我们下周一见?”
“好,周一见。”
结束了和苏晴的对话,我发现王总又发来了消息。
这次,他的语气彻底变了。
“小林啊,咱们有话好好说嘛,没必要闹得这么僵。”
“你也是公司的老员工了,我对你怎么样,你心里清楚。”
“这个项目,你确实付出了很多,是我在会上表达得不太好,让你误会了。”
我看着这几行字,差点把刚喝进去的啤酒喷出来。
误会?
我活该眼瞎心盲,才会被他骗了三年。
我没回他。
我知道,他越是这样,就越证明他急了。
他急,就说明PrismFlow的价值,远超我的想象。
或者说,远超他和他背后那群管理层的想象。
他们习惯了“吃现成”,习惯了“薅羊毛”,当发现这“羊毛”自己跑了,还会说话了,他们就慌了。
周末两天,我彻底放空了自己。
我把手机调成勿扰模式,关掉了所有工作相关的软件通知。
我睡到自然醒,去楼下菜市场买了新鲜的食材,给自己做了顿大餐。
下午,我去家附近的公园散步,看老大爷们下棋,看孩子们追逐打闹。
阳光透过树叶的缝隙洒在身上,暖洋洋的。
我有多久没有这样放松过了?
好像从毕业那天起,我就被一根无形的线牵着,往前飞奔,不敢停歇。
我甚至都快忘了,生活本身,才是最重要的。
周一早上,我特意换了件干净的白T恤,准时出现在和苏晴约好的咖啡馆。
她比我想象的还要年轻,看起来不过三十出头,一身剪裁得体的职业装,眼神明亮而专注。
她面前放着一台MacBook,屏幕上显示的,正是PrismFlow的GitHub页面。
“林先生,早上好。”她站起来,主动向我伸出手。
“叫我林舟就好。”我跟她握了握手,她的手温暖而有力。
我们坐下后,她没有急着谈工作,而是先聊起了技术。
“你的这套工具链,设计思想非常超前。特别是解耦式的模块设计和基于SVG的动态渲染引擎,比市面上很多成熟的商业方案都要灵活。”
她不是在说客套话。
她指着屏幕上的几段核心代码,精准地说出了我当初设计时的几个关键考量。
她懂我。
这种感觉,我在王总手下三年,从未有过。
王总看我的代码,只会说:“小林,这个地方的颜色不够亮,不够大气,给我改得‘五彩斑斓的黑’一点。”
我们聊了整整一个上午。
从前端技术的发展趋势,聊到开源社区的生态建设。
我发现LeapTech的CEO,也就是苏晴口中的“老赵”,也是个纯粹的技术人。他们公司的文化,是工程师文化,尊重技术,尊重创造。
这和我之前的公司,那种靠PPT和马屁驱动的“官僚文化”,简直是天壤之别。
快到中午时,苏晴才把话题引到工作上。
“林舟,我知道现在谈这个有点早。但我们确实非常需要你这样的人才。我们正在筹备一个全新的数据中台项目,需要一个有全局视野、能打硬仗的架构师来领头。”
她把一份打印好的文件推到我面前。
“这是我们初步的意向Offer,你可以先看看。薪资和职级,都还有很大的空间可以谈。”
我打开文件。
职位:前端架构师。
薪资:年包90万,外加期权。
这个数字,是我在原公司的两倍还多。
我承认,我心动了。
但我没有立刻答应。
“谢谢你们的认可。能给我几天时间考虑一下吗?”
“当然,”苏晴笑着说,“我们随时等你的好消息。另外,不管你最终是否选择我们,PrimmFlow这个项目,LeapTech都希望能成为第一个机构赞助者。我们愿意提供服务器和资金支持,帮助它更好地发展。”
她的话,让我彻底愣住了。
他们不仅想“挖”我这个人,还尊重我的“孩子”。
这格局,高下立判。
告别了苏晴,我一个人在街上漫无目的地走着。
阳光很好,我的心情也很好。
手机震了一下。
我拿出来一看,是一个陌生的号码。
接通后,里面传来一个小心翼翼的声音:“喂?是……林舟吗?我是小张。”
就是那个在会议室里用胳膊肘碰我的实习生。
“是我,怎么了?”
“舟哥,你快看公司群!王……王总他好像疯了!”
我心里一紧,立刻点开微信。
我们那个两百多人的项目组大群,此刻正信息刷屏。
而风暴的中心,是王总。
他在群里发了一份加盖了公司法务部公章的PDF文件。
《关于前员工林舟涉嫌侵犯公司商业秘密及知识产权的严正声明》。
声明里,他义正言辞地指控我,将在职期间利用公司资源开发的“核心技术成果”PrismFlow私自开源,给公司造成了“不可估量的损失”。
声明最后,还附上了一句:“本公司将保留一切法律追诉的权利。”
这份声明一出,群里瞬间炸了锅。
有人震惊,有人观望,还有几个平时跟王总走得近的,开始在群里摇旗呐喊。
“支持公司维权!绝不能让这种白眼狼逍遥法外!”
“早就看他不老实,整天在公司摸鱼,原来是干私活去了!”
我看着这些颠倒黑白的言论,气得手都开始发抖。
我正准备在群里反驳,小张的电话又打了过来,声音带着哭腔。
“舟哥,你别冲动!王总他就是想激怒你!他今天上午被集团副总叫去骂了整整一个小时,说他人才流失、管理不善。他现在就是一条疯狗,逮谁咬谁!”
我深吸一口气,强迫自己冷静下来。
小张说得对,我现在下场对线,正中王总下怀。
他要的不是真相,而是把水搅浑,把责任都推到我身上。
我挂了电话,打开电脑,开始整理证据。
PrismFlow在GitHub上的每一次提交记录,时间都在晚上十点以后,或是周末。
我与王总关于“惊鸿”项目技术方案的邮件往来,里面清清楚楚地记录着,他否决了我提出的、与PrismFlow设计思路类似的方案,并要求我“不要搞些花里胡哨的东西”。
我还找到了我购买私人服务器的付款凭证,以及我参加各种线上技术分享、学习相关技术的记录。
这些证据,构成了一个完整的链条。
足以证明,PrismFlow,从头到尾,都与那家公司无关。
整理完所有东西,我没有发到公司群里。
我把它发给了苏晴。
附言:“抱歉,给你们添麻烦了。这件事我需要先处理一下。”
苏晴几乎是秒回。
“不麻烦。需要法务支持吗?我们公司的法务团队,是业内最专业的。”
她的回复,像一颗定心丸。
我回道:“暂时不用,我自己可以处理。谢谢你。”
“好。记住,你不是一个人在战斗。”
放下手机,我看着窗外。
天色不知不觉已经暗了下来。
对面的写字楼里,灯火通明,想必还有无数个像曾经的我一样的人,在为生活奔波。
我突然觉得,这件事,我不能就这么算了。
这不只是为了我一个人。
更是为了那些,还在格子间里,默默付出,却不被尊重的“小张们”。
我打开一个技术论坛,开始写一篇帖子。
标题是:《关于PrismFlow的开源、离职以及一些想说的话》。
我没有用任何煽动性的语言,只是平静地,将所有事情的来龙去脉,连同所有证据截图,一一陈述。
我写了王总如何抢占功劳,写了我开源的初衷,也写了我收到的那份“律师函警告”。
在文章的最后,我写道:
“技术本身是无罪的。我热爱写代码,我享受创造的乐趣。我愿意将我的成果分享给社区,让更多的人受益。但这不代表,我的心血可以被肆意践踏和污蔑。”
“我不会删除仓库。PrismFlow会永远开源,永远免费。”
“至于那份声明,我的态度很简单:要告就告,我奉陪到底。”
写完最后一个字,我点击了发布。
帖子发出去不到十分钟,浏览量就破了万。
评论区里,群情激奋。
“支持楼主!见过不要脸的,没见过这么不要脸的!”
“吐了,这不就是典型的‘我走之后,公司就成了我的’吗?”
“已转发到我司内部群,让领导们都学习一下什么叫作死。”
“楼主留个联系方式,我们公司也缺架构师,薪资绝对让你满意!”
舆论,像一场海啸,瞬间将王总和那家公司淹没。
我原公司的同事,也开始在群里悄悄转发我的帖子。
那份“严正声明”下面,再也没有人附和了。
取而代DEZHI的,是各种意味深长的表情包。
晚上九点多。
我的手机屏幕,又一次亮了起来。
来电显示:王总。
我按了接听,开了免提,放在桌上。
电话那头,是长久的沉默。
然后,传来王总无比疲惫,甚至带着一丝哀求的声音。
“林舟……”
他只叫了我的名字,就说不下去了。
我没有说话,静静地听着。
我能想象到他此刻的处境。
被集团高层问责,被下属看笑话,被整个行业的技术圈鄙视。
他亲手点燃的火,最终烧到了他自己身上。
“……帖子,能删了吗?”他终于说出了口,“算我……求你。”
“王总,”我平静地开口,“现在才想起来好好说话,晚了点吧?”
“公司可以给你补偿,你开个价。”他说。
我笑了。
“你觉得,我缺你那点钱吗?”
“那你到底想怎么样?”他的声音又开始激动起来。
“我不想怎么样。”我说,“我只是想拿回本该属于我的东西。比如,一个公开的道歉。”
“你——”
“在公司大群里,用你自己的账号,向我道歉。承认是你窃取了我的劳动成果,承认是你污蔑我。做到这点,我就删帖。”
电话那头,只剩下粗重的呼吸声。
我知道,这个要求,比杀了他还难受。
对于王总这种把“面子”看得比命还重的人来说,公开道歉,无异于公开处刑。
“做不到是吗?”我淡淡地说,“那就法庭上见吧。”
说完,我直接挂了电话。
我没有丝毫的犹豫或不忍。
农夫与蛇的故事,我早就听腻了。
对付恶人,唯一的办法,就是比他更强硬,更不讲情面。
那一晚,我睡得格外香甜。
第二天一早,我被手机的震动声吵醒。
是小张发来的微信。
只有一张截图。
截图上,是王总在公司大群里发的一段话。
“各位同事,关于昨天林舟的事情,是我个人在管理工作中存在严重失误,在项目复盘时,未能公正客观地评价林舟同志的贡献,并在此后的沟通中,采取了不恰当的方式,对他个人名誉造成了伤害。在此,我向林舟同志,致以最诚挚的歉意。对不起。”
时间,是凌晨四点半。
我看着那句“对不起”,没有任何胜利的快感。
只觉得有些悲哀。
早知如此,何必当初。
我登录论坛,删掉了那篇帖子。
江湖路远,我不想再和这些烂人烂事,有任何瓜葛。
一个小时后,我给苏晴发了条信息。
“苏姐,你们的Offer,还有效吗?”
她回了一个笑脸。
“LeapTech的门,永远为你敞开。”
一周后,我正式入职LeapTech。
我有了自己的独立办公室,窗明几净。
团队里的同事,都是一群对技术充满热情的年轻人,沟通起来简单、高效。
CEO老赵,一个穿着格子衫、不修边幅的中年男人,在我入职第一天,就拉着我聊了两个小时的WebAssembly。
他说:“在这里,你不用考虑任何办公室政治,不用写一份PPT,你只需要做你最擅长、最喜欢的事,剩下的,交给我们。”
我信了。
因为我看到,他们每一个人,眼里都有光。
那是和我一样的,对技术最纯粹的热爱。
PrismFlow项目,在LeapTech的官方支持下,成立了一个专门的开源社区小组。
我们修复BUG,添加新功能,撰写详细的文档。
越来越多的开发者加入进来,贡献他们的代码和智慧。
半年后,PrismFlow在GitHub上的Star数,突破了十万。
它成了那一年,前端领域最耀眼的新星。
而我,作为这个项目的发起人,也收到了越来越多国际技术大会的演讲邀请。
我站在聚光灯下,用英语向来自世界各地的开发者,分享我的设计理念。
那一刻,我才真正明白。
一个人的价值,从来不是由某一个领导、某一家公司来定义的。
而是由你自己创造的成果,和你为这个世界带来的改变来定义的。
后来,我听说,王总被降职了。
原来的公司,因为核心技术人员的流失和管理混乱,市场份额被LeapTech一点点蚕食,最终被集团剥离、重组。
那些曾经在群里对我口诛笔伐的人,也都作鸟兽散。
有一次,我在一个行业酒会上,远远地看见了王总。
他好像老了很多,头发白了大半,一个人端着酒杯,站在角落里,没人搭理。
我们的目光在空中交汇了一秒。
他迅速地、狼狈地避开了。
我没有上前,只是举起酒杯,朝他的方向,遥遥地敬了一下。
然后,转身离开。
不是为了原谅,也不是为了炫耀。
只是为了,和我自己那段不堪的过去,做一个最后的告别。
有些路,走错了,就再也回不了头了。
而我,还有更远的路要走。
我的未来,在星辰大海。
技术是冰冷的,但用技术的人,可以选择让它如何燃烧。
来源:职场tan