笑话

背景:当时加入这家公司也比较凑巧,主要是因为面试的时候觉得碰到的人都特别厉害,而且人都很好,做的东西比较实在(就是认真赚钱的那种),founders什么的看上去也很靠谱,然后听去了大厂的学长学姐们说在大厂要是运气不好分到一个烂组还挺糟心的,就想去startup试一下。刚去的时候还是挺自卑的(而且还有点社恐),因为我们那届十几个ng,只有我一个不是cs名校,只有我是女生,只有我没有亮闪闪的实习(我有两个实习但都不是在很好的公司),只有我是国际生。我都不知道当时为什么给我面试,可能是因为我实习的时候正好做了一个跟他们某个组想要的比较相关的东西?也可能是当时那个recruiter还是新手,手比较松?反正当时就是一种憋着气想证明自己的感觉,这些年跟公司一起成长,虽然中间也有一些起起伏伏(一般start up会遇到的问题我们应该都有,后面会讲到),但是整体感觉是很好的,从一开始就有机会做到一些impact很大的projects,后来我也是这届ng里面升senior最快的两个人之一,最近觉得待够了想换个更小的startup,试试找工作的过程也都很顺利,所以现在想总结一下这段经历,希望能给大家提供一些新的思路。 先说加入startup的好处:个人以为最宝贵的资源就是认识到的人,这个有几个方面:因为公司比较小的时候,很容易就认识到所有人,就算没有共事过,至少也都知道谁在哪个组。相比于大一些的公司的话,可能认识到的大部分还是自己组里+常打交道的姐妹组的人+公司打牌/hiking群里认识的小伙伴,虽然大牛肯定很多,但对大部分人来说,除非你特别积极地去约人家coffee chat之类的,平常是没机会交流的,尤其像我这种初期社恐的人,扔到一个人多的环境的话,我是不会想去社交的,但是因为那时候公司一共也没几个组,每个组也没几个人,大家都是在一起玩的,都很愿意认识别的组或者别的非eng的org的人,这种mindset我觉得在公司大起来了之后就渐渐消失了。认识更多的人有几点好处:我认为对我职业最有帮助的就是可以在全公司范围内找mentor/职业上的"贵人",各个组的情况好坏大家都心知肚明,想要换组不太会踩到坑,公司有很多很有创业精神/在创业圈connections很多的人,我认识/听说的前同事里绝大多数都去了更小的startups或者直接自己创业,想要创业或者找早期靠谱的start up的工作的话,认识的人还是很重要的,我这次找工作很多靠谱的start ups都是同事/老板介绍的,还有些雷区他们也会提醒我不要去,靠自己虽然也有可能找到靠谱的机会,但如果有认识的人,知道公司的具体情况,那肯定还是稳很多,我在的头两三年公司都没有任何族裔扎堆的情况,因为就这么点人,想扎堆也没得扎,我觉得这一点还是挺好的,因为说实话我刚开始工作的时候是想要找国人抱抱团的,觉得国人才比较好说话,因为没有这个机会跟各个国家/族裔的同事玩起来了,以后发现大部分人其实都很nice很包容,也是消除了我之前自己的一些偏见。在小公司很容易有visibility,有reputation的好处有几个比较实在,所有高级IC/managers/directors都认识我,都知道我做了什么project,所以我虽然有一段时间被新来的不太行的manager管着,我一点都不担心他会耽误我升职的事,我想换组也不怕他拦着,还有就是我可以挑impact大的projects来做,以及经常有人给我介绍一些不错的机会,不管是工作上的,还是比如做一些活动啊之类的,这里面有些人并没有跟我共事过,但是听说过我做过的事就觉得我靠谱(我也会担心会不会产生过高的expectation但是总体来说还是好处比较多的),在一个小但飞速增长的公司是很容易做到有impact的事,这些事没有大厂专精的组做的事那么hard core,但是很容易接触到各种不同的stack/businessside的事,而且小厂很多升职啊,bonus之类的,都是看impact,其实做的东西是不是特别hard core没有那么重要(所以想钻研技术的同学还是建议去大厂小厂不能说全部但很多都是快糙猛),当然在大厂的朋友眼里小厂是经常有title inflation的,就是你在小厂做到senior,大厂估计也不会认这个是真的,但我想说只要你学到了东西、得到自己公司的认可、升职加薪都没落下,你不用太care大厂是不是认同你的title,我工作两年左右的时候升了senior是因为我自己挑大梁做了一个对当时公司很重要的project,我自认如果去了大厂肯定不会升这么快因为大厂就不会有这么大的机会给我一个刚毕业两年的人而当时我们公司,因为公司在快速增长,各个地方人手都不够,谁能给公司解决问题,谁就能得到相应的奖励,做过几个这种公司急需的project也让我自信了很多,然后因为很早就有这种经历,也得以做了一些相关的conference talks,这些我觉得是去大公司从打下手做起得不到的经验,前面已经提过类似的概念。不过还是想重点强调一下这一点:在小公司工作不用太操心爬careerl adder的事,impact有了,升职给股票都是水到渠成的,也不用担心manager不行,所以升不上去,因为你做了什么很可能全公司都知道,calibration的时候会帮到很多的。 关于职业风险,只要是认真做事,有拿的出手的projects,具体数字能表明你给公司带来的贡献,至少在start up届不会有人歧视你,在startup的工作经历(再者还是之前在reputation那点里面说的你做得好会有人介绍好的机会,给你简历上写的什么都是次要的),至于大厂拿面试是肯定没问题的,但是除非特别senior的很多人都会给压一级,我觉得就放平心态吧,想好自己想要什么title有没有那么重要(因为有时候虽然title降了一级,但是钱并没有少拿,进去之后再升还可以拿更多)。关于经济风险,我见过有些人作为头几个eng跟公司一起奋斗了五六年最后股票变废纸的;也见过公司都挺成功的,也卖了个好价钱,但是因为股份结构之类的问题,普通员工都分不到什么钱的情况(去早期start up一定要搞清楚options怎么玩仔细读读公司的条款),所以选公司一定要谨慎,但是话说回来,其实如果仔细挑选的话,风险是可以降低很多的,也不是说只要去了一个start up,它挂的概率就一定非常高,选公司也是一个大话题,这里先不多说了,管理上可能会比较混乱,甚至非常混乱,growing pain管得好是暂时的不爽快,管不好把公司搞垮了也是有可能的,当你觉得自己在公司的日子很吃shi的时候要分清楚到底是局部吃shi(只是你们组/org不太好公司整体还是没问题的这种情况赶紧换组),还是全局吃shi(公司整个乱了业务也在下滑),不一定说一有哪里不爽就是公司不行,就要赶紧跳槽,还是要按情况行事。我有几个朋友在组里受了气就拍桌子走人了,后来公司成长起来了都很后悔没有把股票拿完,当然这个也看个人/公司的情况,我想说的是有问题了不一定要走极端(要么什么都不做要么直接走人),看清情况对大家都好。公司可能没有什么对你职业发展的培训啊之类的,这个在我们公司还是很明显的,比如说大家都很会当IC,但是很多转manager的或者外面找来的manager都不是很行,然后公司头几年的时候一直也没有什么帮助新的manager成长的项目,很多人就一直是很烂的一个状态,实在不行的就开了,但是就浪费大家很多精力。 最后聊聊在创业公司的技术难深耕,这个看你具体做什么,当然也有一些小start up做的是很hard core的事,但是很多情况下不管是scale还是codequality可能都没法跟大厂比,因为注重impact嘛,而且公司在早期应该避免over engineering,这可能就导致了你写一个service对公司很重要,但是QPS只有几百,甚至几十,跟大厂那些随便改个button的颜色都影响上百万、上千万用户的scale肯定是不一样的,技术复杂度都来源于scale,没有scale你可能用不到,也不需要钻研特别复杂的architecture,这对长期发展可能有一些影响,但是这些可以通过自己学习、读别家公司的techblogs之类的弥补,而且小公司也会碰到很多大公司没有的问题,你作为一线做一个新系统出来的人,对这个系统的理解肯定和去大厂看人家做好的系统是不一样的,很多小公司更需要这种懂得小公司的难处的人。 作者:帮主说美国 链接:https://zhuanlan.zhihu.com/p/369242871 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。