从2015年研究生毕业开始工作算起,到今天已经有十年了。从小爸爸跟我说凡事都要常总结,虽然工作了十年都不知道总结太多有什么好处,但还是总结一下吧。
要是回顾这十年来的打工历程,在北美留学生/程序员圈子里算是非典型了。化学院出身的我,在管院摸爬滚打三年,并没有按照预期进入金融界,而是在NYU拾起了对编程的兴趣,并算是一点也不正儿八经地学了点东西。我想真正的入门课程是长得像胖胖的比尔盖茨(也是个CEO)教授的数据库初级和中级课程——这就跟那些学过类似Java或者C++或者数据结构与算法的科班出生有本质区别。有谁听过哪个程序员是通过学数据库入门的呢,何况现在回想起来,那整个硕士学位似乎的培养目标是DBA。
但总之,在这种自由的风气下我开始朝着找一份写代码的工作而努力。先是去了曼哈顿下城南边的一家名叫Endai的数据分析公司免费打工(到现在也不清楚这家公司到底业务是什么),毕业后找到了一家以色列创业公司BillGuard开启了程序员的生涯。在当年一起同期毕业的算是还不错。NYU那水专业毕业生一般两条路可走,一是回国,二是找个技术性的工作,比如四大里IT相关的。这个专业的主要问题是它看起来像是个商科,但是课程又可以选一些技术方向。我印象中95%的人应该是回国了,剩下5%大概有一半也是一年后离开了,可见专业有多水。回国的发展不见得差,但是起码跟当初的预期是有所不同的。某种程度来讲,可能整个专业只有我一个人最后做了码农。
命运这种东西,说来奇怪。入职BillGuard还不到五个月,公司就被收购了!事发非常突然,因为我正在寻找下家,事实上,已经找到了一个下家B。面临的选择是留在纽约,工资稍多点;还是搬到湾区去,未来不知。也没有花很多时间就决定去湾区了。起码在2015年,说硅谷是科技行业的宇宙中心不为过。当时正好是在纽约的第三年,对于暴风雪和酸臭的地铁真的是厌烦了。若不是被收购,等到能够搬去湾区也不知道是什么时候。一年后我出于无聊搜索了一下下家B的信息,发现它已经倒闭了。
Prosper算是中小厂,办公室位于旧金山金融区。在Propser的日子总体是很无聊的——工作内容简单且无聊,也没有团队合作,整个过程一直处于惶惶的心理状态,好像是一直在等待着什么发生。技术上自然是没有学到什么东西。下半年经历了第一次大裁员。先是整个以色列的旧BillGuard团队被砍掉,之后是缩减成本的全公司大裁员。于是继续找工作,一年后另起炉灶。
16年加入了雅虎。2017年的雅虎是个风雨飘摇正在沉没的大船。在雅虎的日子总体来说还是很舒服的。健身房、免费餐食、丰富的活动;工作方面,第一次接触到了真正的大规模程序开发,也见识到了真正的互联网大厂是怎么运作的、看中哪些素质(设计师、PM、前端后端服务端、影响力、跨组合作、领导力)。但是那年六月份这个传奇公司被卖给了Verizon。之后便是熟悉的裁员潮。快速跳槽的职业生涯所带来的最大问题就是没办法升职,但好处是职业生涯伊始就遭遇各种突发事件(被收购、裁员、跳槽),就像驾着一艘小船在大洋的风浪里摇摆,练就了足够的心理素质。跳槽如同跳船,很快就熟练了。一年后,离开了雅虎。
谷歌应该是很多程序员的梦中公司。2018年加入谷歌的时候,我还是从L3做起,工资不变。现在想一想,在谷歌的时间可以分成疫情前和疫情后。疫情前的几年自己完全像个小白,什么活都做,来者不拒。作为比较,最近我们组来了一个台湾人,他虽然是L3,但是比那时候的我精明得多,做项目要求只我只给他那些“容易launch”的,“有大impact的”。现在想想,我当时做的那些东西,虽然很多是乱七八糟的杂活,但是也通过那些项目了解了很多其他人不知道的知识。在谷歌这种大厂,很多时候一个工程师的牛逼程度跟当时刷题的能力没什么关系,而更多在于domain knowledge。如果对某个领域一个人了解的很多,那他就是这个领域的专家,一旦在团队间建立了这种印象,他就不再是小白了。我通过什么活都做而逐渐变成了数据指标的专家、某ML模型的专家等等。至今凡是这些项目,新人来都要问我。我想这是一个有用的经验吧。
疫情后,升了L5,做项目开始变得精细起来,也开始注重了impact、leadership这些东西,从不挑三拣四来者不拒慢慢变成也衡量衡量自己的时间得失。有了孩子,时间不再是无限使用,而要随时提早计划。不重要的会议点拒绝,也不会因为不好意思而像其他人开口。只要是有助于推进项目的事情就要去做。
AI时代,一切又不同了。以前的L3、L4这会迟早(预计2年内)被AI替代掉。可以自己开发并规划新项目的L5、L6尚有一口气,但也很快朝不保夕了。手写代码很快就要变成过去式,对于传统的程序员的职业生涯和未来发展,都要需要重新思索。
自己对于孩子的教育,也要认真思考…