在创业公司工作一年半的体会和困惑

楼主在硅谷一家初创公司做码工, 在此之前工作经验在国内(非技术),所以这是楼主在美帝的第一份工作 。干了快一年半,把一些体会分享在这里,给想去创业公司的筒子做参考,同时也有一些困惑,寻求解答。

楼主公司成立已经8年,上市计划正在稳步进行,已经融了几轮,去年年初上一轮融资,估值0.5B。公司有那么几个principle,像lite version of leadership pricinples贯穿方方面面, 多多少少有点亚麻的style ,加上VP在亚麻工作了15yr+, 所以团队氛围是认可hardworking,鼓励conflicts,鼓励voice up。同时perks又有点google的感觉,unlimited vacation, 非常flexible的hour, 在公司能力范围内提供最好的snacks,午饭晚饭都管,offsite团建活动。

但楼主这一年真累 。羡慕国内996羡慕到不行,国内996,毕竟能一周休息一天吧,毕竟晚上9点之后能收工吧,毕竟中午能有至少30分钟午休吧。我这是9-12-6.5, 且午饭晚饭都是电脑前度过的

累的原因

  1. 杂乱的不成熟的管理: manager都是engineer提拔上来的,有的并不想做manager ,只是因为招不到合适的人,勉为其难从IC转到manager,他们还在学习做manager-不成功的实践-应付老板-想做回IC 中挣扎,别说对下属的引导/管理/关心。

另外经常有owership不清的,小则一个文档,大到一个service。比如infra和product team都可以动一个pipeline,经常是broke了发现哎前几天有人动这个设置了,最后就是跑之前要看看有没有人动了参数,“看一眼”成本不高,但如果每个模块都是这样,那原本automation就没了意义, 因为每一步都需要intervene,操碎了心

  1. Team 的support不够: team里的每个人都是单打独斗 ,自己做自己的项目,每个project基本是独立的,导致你的困难只有你自己知道。为了能够在code review和design meeting上更顺畅的得到approve,你必须要在每个sprint demo, standup和1:1上清晰的convey你的idea,你正在做什么,你下一步要做什么,需要什么支持,准备这些东西,也是耗一些经历的,更别说team之外寻求帮助了。

  2. knowledge失传: 到了一定年头,一些老员工就离开了,公司里司龄5yr+的员工所剩不多 ,意味着很多legacy issue说不清,里里外外了解code base的人也不多了。Documentation也非常差(毕竟以前公司小,大家用吼的就行,不用写下来),经常项目做到一半发现方案不行,换方案重做,因为design meeting上没人知道在某个节点上有这样那样的局限,总有unknown of unknown。最后overdue,不明真相的pm总结一句:need better communication skills.

  3. 可怜的infra。跑ML实验,pipeline永远是断的,debug又花去很多时间, 原定一晚上能跑出来的,最长一次我用了一周才让它顺畅出结果 。要不就是job配置不够了要么就是transient issues,有的high priority的工作可以把其他工作都put on hold几十个小时(哭)。deploy平台也经常bug,deploy总失败,有的大点服务器deploy要一个小时,莫名其妙fail了要不回滚,要不重新试一下,楼主经常deploy到晚上八九点,最后侥幸成功了,才敢回家。

team里的DS刚刚离职了,我们所有人都知道他为什么走,we all feel him, seeing the pain.

  1. 同事们性格都很强 。愿意来startup工作的,多多少少都有点性格(说的不对轻拍),不会错过任何一个inject ideas的机会。最简单的比如PR review,我见过就改变两个变量naming的PR,有十几个comments的,都是类似你为什么这么做不那么做, 如果是我我怎么做,类似的,我很欣赏critical thinking,但这种的comments我感觉就是多嘴,不觉得有什么价值。

另外还有那种原来在大厂lead几十个eng的人,来我们这lead几个人的team的,他们追求的就是找个地方实践自己的想法,所以如果与他们有不同想法,那就很麻烦, 因为他们很determined,说服他们需要费些精力

  1. Mission critical first. 你的工作内容,可能和你的skill set不匹配 。楼主入职时职业规划是DS, ML models,但由于一些mission critical的工作,我最后只有10%的事情和ML相关。

上个季度做了一个季度的server,又捡起了design pattern 和effective java,看gRPC看web application,白天忙一天工作,晚上继续学习。同时还在弄一个embedding的model。学习是有曲线的,我有很多条曲线,都在慢慢爬。

另一个例子是我的manager,他说他就是想做IC的,结果被放到manager的位置上,他说他每次开完会都觉得burnt out, 但现在每天从早开到晚,经常夜里收到他的邮件

很多人都在很努力,但位置错配导致事倍功半,沮丧,疲倦蔓延

好的方面

  1. Voice uuuuuuup: 创业公司永远不缺speak up的机会 ,总以开放的心态拥抱ideas,拥抱变化。所以你有idea,轻轻松松就可以找到pitch它的机会,约tl聊,约manager聊,约VP聊,CEO也经常office hour。大大小小的presentation机会多得是,做的还可以就有升职的机会,比起大公司的条条框框,有想法的人会有很自在的感觉。
    ‍‍‍‍‌‍‌‌‍‌‍‌‌‍‌‌‍‍‌
    可惜我已经没有精力想idea了,所以感觉在公司很安静,对在创业公司工作不是好事

  2. 相对简单的人际关系 :创业公司是一荣俱荣一损俱损,为了共同的利益,公司的斗争还是少一些。可能人也少,整体都比较和睦,比较像个家庭。

总结

总而言之,我觉得如果是工作8yr+的人,这会是很好的职业选择,公司足够open的心态允许你试验你的想法,公司成功了扩张了,职位自然就上去了,报酬也不会差。但对像楼主这样资历不够的,会感觉不舒适(光平均每两周被问一次有没有什么idea就够让人紧张了),没什么人带,都是自己摸索

最近猎头和recruiter都很活跃,平均每天在linkedin都收到新的recruiter发来的信息,有点想试试大厂的机会。但不知道我说的那些负面问题,会不会在大厂也有,或者更严重。或者我应该就在这个公司一直做下去,做时间久了,人都混熟了也就没那么累了,成功上市了股票也能兑现。但最近人员流失不少,招人一直招不上来,这样下去工作量也会越来越多,我觉得我bandwidth已经用到极致了,总不能通宵工作吧。

纠结。

1 Like