湾区体验

已经搬来湾区快一个月了,趁新鲜劲还没过写一下感受。

衣食住行

湾区的天气真的好,夏天每天都是晴天,二十来度不冷不热。中餐还是很全的,鲤鱼门早茶甚至比纽约的好吃,不过哪里都要排队,比纽约还可怕。。整个湾区感觉就像是一座座小镇连在一起,在 Buiding 20 或者在去 Fremont 的84号桥上看周围荒芜人烟的样子,和公司的高大上的楼形成了鲜明的对比,总觉得很奇幻。

暂时住在 Foster city,公司提供的房子真的很不错,或许是人生第一次一个人住这么久,挺舒服的。Foster city 是个安静的小城,周围步行就有快乐柠檬、火锅、大华、safeway,还有一个超级美的湖。虽然告别了半夜十二点下楼遛弯儿的纽约生活,这里天没黑的时候出门走走还是很安全的。在 Google 和知乎搜 Foster city,最靠前的结果都是我司员工写的。。那我就把这两个链接放在这里吧。

https://leonson.me/2018/12/foster-city-intro

https://zhuanlan.zhihu.com/p/34935531

湾区出行还是很方便的,跟很多其他美国城市一样,高速非常发达,出门很快就能上高速,几乎去哪儿都在半小时以内。唯一的问题是堵车比较严重,刚好去公司这一段路完全没有HOV lane,班车只好堵着,还要停很多站。。每天两小时在路上比较影响生活质量。。纽约地铁确实方便但是很脏,站里也没有空调,各有各的好。

上班感受

交通

嘿嘿首先还要从交通说起,来了之后才意识到公司有多大,园区内部班车有好几个线路,甚至还有express。接员工上下班的shuttle高峰期几乎不会断,可能有二三十个线路,每个线路有很多班次。园区还有免费的自行车可以骑,前天试着骑了最远的一次,将近20分钟,风很大再也不这么折腾了。。太远的楼还是坐车好。

用地里的话说,free food, is ok,我不太在乎吃已经知足了。工作日几乎不用花钱,这周工作日除了打uber一分钱都没有花。。这样对我来说,可能比在纽约更省钱,这个月花钱最多的商户肯定是海底捞和uber。

Orientation & 内部工具

非常强调价值观,还会做奇怪的游戏。。让我想到了阿里。。内部用的work chat竟然是可以看到已读状态和在线状态的,很像钉钉有没有。入职之前我最担心的是outlook难用,现在感觉网页版也可以接受。workspace不按时间排序可能有点乱,但是更容易找之前的对话。上面有很多有趣的组,比如introverts(终于找到同类了),刷内网有点刷reddit的感觉hhhh。

Culture

对于新人来说,这里像一个startup。非常强调move fast和impact,之前工程上可能要求不高,比如代码很少有文档和注释,code review可能抠的不太细。。虽然听起来不怎么样,但是可能对公司快速迭代是好事,可能要看组里怎么平衡质量和速度了。。这会让员工去想,我做某件事情对公司有什么意义?我真的要refactor这个东西嘛?

想来去年实习跟组里的senior聊,他说大公司可能更规范,我说不一定吧。然后他举个例子说,你看我们的文档可能在github上,也可能在confluence上,也可能在google docs上多乱啊。然而现在我司更乱。。wiki, google docs, dropbox, quip, ms哪都有。。

去年实习的时候就觉得大家都(至少表面上)很nice,这里也是一样,如果有问题一般都是热心解答。可能是美国不太看层级。

open确实是open呀,跟以前实习一样,可以看到别的组的架构、roadmap啥的。

work life balance听说不是很好,似乎确实是这样,我现在已经不敢看同事交代码的heatmap了。好玩/wlb/manager靠谱构成了一个不可能三角形,准确的说可能好玩又轻松的组就很少了。

开发环境

入职第二天大家做第一个教程,所有人都遇到了bug…我来说一些好的地方。

Monorepo

以前只听说Google只有一个repo,FB也差不多,这么搞其实有很多好处,比如内部依赖不需要版本控制,搜代码非常容易,缺点就是需要team管版本控制,dev机器都需要很强的配置,才能pull那么多代码。

Task

可能大家都很讨厌jira,内部task管理就是一个很简单的工具,用起来很爽

Nuclide

这个基于atom的IDE还是很方便的,比如可以一键申请开发机,搜内部代码,甚至可以直接在IDE里inline看别人的comments。

Infra

如果写backend,除了Hack和数据库跟其他公司区别比较大,其他似乎差不多?可能还是aws这种地方更接近业界常用的框架吧。

ML

Train model可能不需要写代码,只要点点点就可以了。。真是方便。

Bootcamp

美国很多公司都是标准化面试不分组,特别是我司,newgrad几乎都是不分组的。Bootcamp前两三周大家一起写一些小task,后面几周就去跟几个组一起做点task,然后只要你说去某个组,并且那个组还有hc就可以去,先到先得,组里都是欢迎你去体验的,manager也愿意花时间跟每个bootcamper聊(这边manager跟tech lead往往是两个人),并不会给你面试的感觉。比如你以前没写过前端,没有做过ml,可能仍然有机会去这些组。如果实在不match你自然也不会去,去了搞不定就没有好的rating了。。这其实有点像pair programming面试。这么搞其实很有趣,可以让你深刻体验某个组是不是适合你,缺点就是万一没有跟你兴趣匹配的组就完蛋了。这还需要这么大的公司尽量保证所有面试的问题和标准是一样的。

以前以为只有newgrad才这样,进来之后发现甚至有工作7年这种资深的人也是没分组进来自己选,当然也有preallocated hire,他们在bootcamp待的时间就短一点。有的组大家都觉的不好玩,就跟本招不到人。。当manager也不容易呵呵。

bootcamp其实并没有想象的那么轻松,真的非常刺激,要上课要了解组要做task,毕竟你的未来掌握在自己手里。回到刚刚说的culture,比如第二周就自己选task做,有问题自己去找task的联系人,这个人可能放假,可能在另一个州,并不是你旁边有一个人手把手教你,task描述也可能有问题,全靠自己去问。也不敢去真的学完全不熟悉的领域,我是不敢接Haskell的task…

听起来还不错?然而如果你想做cloud/backend啥的,合适的组真的不多,可能内部infra确实不像aws那么复杂需要很多人吧。现在聊的组都比较奇怪,每天都在想:我要做ml嘛?我要做风控嘛?虽然肯定不想做fullstack,我要写php还是c++呢?要体验新东西嘛还是求稳?我要忙一点还是轻松一点?这个老板到底好不好?显然跳槽的时候公司的名字不会有多少加成,所以压力山大,相信自己,走着看吧。

Bootcamp很多课其实都没必要现场听,回家看视频感受一下就可以了。有些课讲得确实挺好的,也有些比较浪费时间。

国人

完全没想到我司也这么多中国人,可能每周说英语不超过两小时。。有时候在办公区走着走着就觉得像回国了。

很幸运同时入职有几个小伙伴可以多交流。


comments powered by Disqus