亚麻2019暑假实习失败教训

avatar 230847
sunia
20960
47
就要离开西雅图了,自己在开学之前终于甩开了悲伤愤怒之类的负面情绪,能理性的审视在这段实习中的问题了,所以想在西雅图的最后一天对这段经历做一个总结。 到最后发现,纠结没拿到return的结果到底是mgr的错更多还是自己的问题更大其实是一件不太有意义的事,就像分手之后骂ex也不能解决问题一样,如果能学到任何东西,也不算白来一趟(更何况还带走了收入)。

先逼逼一些基本情况,太长不看的朋友们可以直接跳到经验教训部分:

一开始分到的组其实就有点不妙,是一个全新的组,新的程度大概就是我加入的之后一个星期组里吃了唯一一顿team lunch,为了庆祝组的成立。组里人丁稀少,一个senior mgr,一个sde2一个sde3一共三个人。这个略坑的开头让我想可能也是有好有坏吧,好的是可能组里很缺人会把我留下,坏的是可能组很新,不知道会分给我一个什么项目。

mgr给我的项就是一个business requirement没有任何技术的前提,然后mentor和我说她会带着我做step by step让我不要担心。第一周的时候,我mentor让我随便写点什么query探索一下软件怎么用,即使作为一个warmup也显得过于随意,这个warmup没有用到任何内部的工具练习,完全就是谷歌一些tutorial随意的测试一下。我当时不知道为什么她这么随意的让用外部工具写code,后来我才知道是因为她根本不懂怎么用大组常用的方法来写。她这种想到哪做到哪的态度其实已经让我有点慌了,但做的过程中每当我提到之后要怎么design的时候她就会说让我不要想这么多,我们会step by step。然而当我和mgr1on1说到这个问题的时候mgr也说了类似的话,说你要take baby step,完成每个小目标就好,中间的过程就变得很tough,mgr开始休假2周,而mentor丝毫不懂要怎么我需要用哪些内部工具来完成每个她所说的step,常规操作就是问别人后甩wiki给我,那些wiki她自己也不知道是不是正确的,她会说我也不知道这个对不对,但是你可以都看看。一旦我在config或者任何关于内部工具不太明白的地方卡壳了,她的操作就是甩我3个我早就看过的sage链接仿佛她是我的专属搜索引擎。大部分情况下我只好问别的组懂技术的人,但毕竟其他组的人不知道我的整体需求,沟通起来也会浪费大量时间+走弯路,真的特别感谢隔壁组的中国大佬,如果不是他carry可能我中途已经quit了因为实在得到太少的support。

就这样过了几周,我mgr度假回来了,他看我的进度很慢就稍微说了一些negative的话,比如他觉得我做太慢是不是没有深度理解project的,我当时很委屈但一辩解好像自己就会哭出声(性格过分软弱)就强忍着没有再聊。mgr肯定也看出来了我有负面情绪就让我mentor找我聊,我说了我的隐患之后我的mentor稍微改变了一点,她之后对我的态度异常的亲切,帮我把scope明确了一下(叫这个scope1.0吧),然后在倒数第五周的样子她就说为了demo能顺利让我再次把scope缩小(叫这个scope2.0吧)确保演示没有任何问题,。每次我说我想多做一些什么的时候她就会说you dont need to,她这种奇异的态度后来我才理解是什么意思,抱着疑惑我做完scope2.0也顺带完成了scope1.0的东西因为实在感觉有点不安,但她那时候的态度已经是毫不在意了,然后她告诉我她要去休假,我的最后三周她都不在。

最后三周我彻底感觉到了一切都没戏了,我把我做的东西交了cr,我mentor在休假前一天在chime上说要帮我看一眼给一点comment,但她chime说完这句话之后我不管发什么msg都是“sent”状态(也就是已发送,她根本没看我发的任何msg),chime都不读cr也是不可能帮我看的。组里还剩一个sde3,他忙得昏天暗地我发的东西根本不会瞅一眼,有人可能会说可以去push,但连他自己带的intern去push他他都是直接拒绝,我的propriety就更低了。mgr除了看我的slides做得怎么样其他的全部放养,看了好几遍slides之后他又说你slides做得差不多了,应该能做点别的事吧(其实这句也是强暗示),但是由于没有design也没有cr的comment我不能做什么,我只好完善code加写还是没人看的unit tests。

最后一周的时候基本上就是放养状态了,mgr还在倒数第二周的1on1和我说你还有什么想explore的就最后一周加吧,不要留下遗憾(这句也是暗示)。最后的最后,mgr最后连告别的team lunch也没安排好,而组里仅剩的sde3最后一天wfh,连告别都没有和我们说(我们包括我和他带的intern)。

说一下mgr给的feedback,他先扯了一通bar raiser是怎么评价intern的(很多帖子里谈过这个流程我就不赘述了)。最后他说的feedback就是认为我缺乏dive deep,很多问题我没有自己提出一些solutions,所以我也没有和他们argue,总是在说yes(大概就是没backbone吧),当然最关键的问题最后他才说,他说尽管我deliver了result,但他觉得我的speed有点慢,最后scope一再的缩小所以很难打动bar raiser。feedback说的东西大部分都在我的意料之中所以也没有太多的追问,他虽然说了很多,但重点就是觉得我做的太慢,如果我能把一开始他说的那个business requirement完美的完成,其他的问题也不会是什么问题。

谈一下经验教训吧:
  • 第一点就是一定要拥有一个你的design doc,虽然我在开始的时候提过几次design的事但可能因为我没有明确的说到要写doc,导致mgr和mentor并没有get到我的想法,所以不管怎样一定要强硬一点,如果对于project有任何质疑不管是前三周还是前四周,一定要提出来(第一个月提出来都并不晚),并且一定要明确design,不管其他人用什么话搪塞(比如虚无的baby steps之类的话)。
  • 其次就是理解和沟通吧,经历过不愉快的1on1之后,为了掩饰自己的慌乱,每次1on1我和mgr都在粉饰太平,他没有再说negative的评价。但其实过程中mgr还是会暗示,比如他希望我能多做一些xxx,多explore一些xxx,他不会直接说我做的太慢了没达到expectation(会不会直接说可能和mgr的性格有关吧)。另外关于我mentor中途改scope然后mgr最后又说我的scope太小的问题,我的理解是我mentor的思路是你不要勉强自己,能做到什么是什么,做不到说明你就是没这个能力,而mgr的思路可能很简单,他并不在意我过程是否struggle,他只是想看到我能按他预想的那样出活,出不了就是菜。也许不是每个人都会遇到和我的mentor和mgr思路一样的人,了解mentor和mgr的思路更好的对症下药(除非他们无药可救),去沟通,表达一下自己的需求,勇敢一点积极一点。
  • 最后就是关于自己心态吧,在这个实习过程中,患得患失不断加倍,经常不知道应该怎么做很迷茫,在办公室呆到8,9点,回家了心里也只有对工作的担忧,连娱乐都不想娱乐觉得思考娱乐的东西都是在浪费体力。但有时候人就是越想得到什么,就越会失去什么,因为对周遭的一切做阅读理解(我mgr的态度,我mentor的态度),所以和mgr还有mentor的交流也变得唯唯诺诺(缺乏backbone),以为自己做好了他们说的东西就能平稳的滑过吧(毕竟从头到尾没有过让我推倒重来的时刻),既然我内心一开始就有对project的不确定,就应该在当时就努力的为自己争取,时间越长做得越久自己的态度就越被动,对return的过度在意反而束缚了自己。不管做什么,还是要听从自己的内心,争取了,至少无愧于心。

回学校之后大概会没有很多时间来反思自己到底还做错了些什么,因为会想先努力找工作再说【卑微】,用这个帖子记录下来实习的经历,可能以后再看到的时候又会有新的感悟或者是改变了以前的一些看法也可以添加,说不定对未来的工作也会有帮助,希望这些感受也能帮助到大家一点(引以为戒?)。

补充内容 (2019-8-25 20:26):
都打了一堆typo【捂脸 是priority priority
  • 89
置顶回复
收起
avatar 205190
lxxxxxxx
1 我们组的实习生也改了scope,给改scope的时候是真的觉得他基础太差了一开始预想的scope肯定是做不完的,让他先完成一些小的goal总比一直盯着最大的scope要更容易完成一些东西嘛。。。如果一切都很顺畅就不会需要改scope了,改scope的时候其实就已经出现挺比较大的问题了
2 一般intern的项目都跟学校那种老师设计好 助教可以帮你de任何bug的项目不一样,都是一个点子然后稍微分析下可行性觉得ok,找个mentor稍微准备一下。你这个项目他也没做过很多问题他不能解决没什么值得吐槽的 你自己当了mentor就知道了 遇到比较麻烦的bug还是得网上搜各种方法帮你试。你manager说你不够dive deep的问题,你有没有遇到一个问题就直接去问mentor解决方案?而不是告诉你的mentor这个是问题,我进行了ABC的试验或者是我有DEF的想法寻求他的意见?这哪怕在亚麻之外也都是一个很影响好感的事情吧。。。我知道你肯定是提前做过调查的,但是让别人知道你有做过调查也很重要尤其是在你们不熟悉的情况下,汇报工作越详细越好嘛
3 关于你说的design doc的事情,我感觉你如果真想写一个doc做记录做plan他们也不会拒绝吧?manager和mentor没get到你的想法我不太懂你什么意思,但是如果你能有一个比较清晰的plan,知道自己要做什么,如何break down你的task然后安排在有限的时间里,那会是一个非常亮点。
4 你的manager和你的mentor甚至相关组员都会每周sync up的,所以他对你的项目了解是多角度的而不是你说什么就是什么,你如果能够条理清楚地告诉他现在的进度以及blocker以及你有的解决方案和自信程度,这才是他所想要看到的你的能力所在,而不是你所谓的“粉饰太平”,这样的话manager可能只会觉得你要么对自己的项目理解和管理能力不够,要么觉得你这个人不可信赖不真实汇报情况。你想想如果你有个同事 半年的项目天天汇报说没问题很顺利,deadline前两天说问题可大了做不了之类的,当manager的岂不是要炸了。
5 放养太正常了,因为大家工作都很忙,其实给mentor分配到大概每个sprint也就2-4个points来带实习生做多?所以应该是1-2天每2周的工作量,不可能完全babysit人的,实习生越独立就越会刷好感。。。而且实习真的好累好累好累好累啊,比全职累和压力大多了。。。你也别太被自己有点感动了。。。中国来的实习生感觉基本都是天天加班周末狂赶的吧 = = 我实习的时候我们组一个美国人还天天呆到10点多才回家第二天9点就来了 他们这么要求wlb的人。。。
6 patpat楼主,我感觉你的mentor应该是一个在别的组呆的时间比较久然后来了这个新组的。如果运气好碰上一个第一次当mentor的人又比较负责的那种,大都怕自己出错,都会很详细地去整理调研这个项目,这种情况实习生就比较舒服要解决的那些不确定的因素也会少很多。。。其实公司这么大每个组直接bar真的也不一样,有的时候真的是像楼主所说的这样就真的比较惨一点,心疼你

7 【最重要 敲黑板】实习(甚至是工作)起码我个人觉得对于普通程序员来说 真的最重要的不是你写代码多牛逼多么犄角旮旯的bug都能解决 (当然你特别牛逼到impress别人除外),更重要的是你的manager和mentor 组员他们愿不愿意跟你一起工作。也就是你要展现你的那些软实力,能够很好地管理项目,独立地完成东西,项目绝对会有一些意料之外的难点,有没有办法自己攻破之类的。因为给不给offer的标准其实没你想的那么严格,哪怕你跟sde是有一个gap也不要紧的!那个决定的会完全可以说你有足够潜力能够在入职后6个月去fix这些gap,那么就完全没有问题。所以不光写项目,跟组员打成一片真的说不定更重要。而且很经常性地甚至每周去要feedback是一个特别好的习惯,因为你不去问他们也不会想,同时每周这样交流一下,你就可以慢慢证明例如之前你哪些没做好的地方最近在改得越来越好了,让他们感觉到你在一直make progress这就会非常有利于到时候他们给你写评价的时候举出很好的例子。

Mentor和manager都是来帮你拿return offer而不是卡你的,bar raiser才是拿来卡人的。如果intern能拿到return对于mentor和manager都是双赢的事情所以如果一开始把他们当做战友,而不是对立面当成要打的boss,会不会也许更容易?祝福你接下来找工作一切顺利!!!没拿到亚麻的全都能去更好的公司的!!!!
大米 104
4
xiaobeixin+1说得很对!
lavendertian+1很有道理!
an7hee+2给你点个赞!
Warald+100说的太对了!

看到大家讨论热烈,我就再多说两句。

一句话:这些,其实,都很正常

从眼前来说,实习本身就是个高难度的事情, intern的难度其实比full-time new employee要大很多。一个新来的全职员工一般有三个月时间ramp up,有足够的时间熟悉整个系统,期间大家对你期待不会太高。同时因为是全职员工,是未来要天天打交道有利共同利益的,大家自然也会看重一点。人性都如此。
而一个小小的intern,首先只是个打着employee名号的contractor而已,干了两三个月可能就此生不复相见,所以mentor可能压根不信任你,或者压根懒得鸟你。更主要的是,大公司内部那些internal tool/code review就够大家喝好几壶了,尤其Amazon这种training只有三天的公司。所以intern要非常辛苦努力的迅速学会这些东西,同时你也不能dive too deep,因为你没有时间。全职新人有三个月时间来熟悉系统,而你三个月后就要deliver东西作报告走人了。

另外,从长远来看,遇到这些困难才是常态。

未来总会遇到不同的技术困难吧?总要不停学习新的技术吧?junior阶段总要不停刷题吧?
未来会有无穷无尽的政治斗争,利益斗争。跟同组人的peer pressure,跟manager性格不合,自己做了manager后可能跟手下处不来,或者遇到金融危机自己被裁员等等等等。
那些目前没遭遇困境的人,只是目前侥幸而已。所以经历这些都是迟早的,而且越早越好。

变化,困境,斗争;这些是人生永恒的主题。
环境在变化,你不跟上时代就要被淘汰;变化会带来困境,困境会逼迫你去斗争。
所以,一个强者和弱者的区别在于,面对变化困境的时候,你的态度和能力。GET OVER IT。举个例子,纽约前市长Michael Bloomberg,其实他年轻的时候在投行顺风顺水,年少得志。但没想到39岁的时候因为各种原因被开除。但他这个强者的风格就是失业第二天就去找工作,后来办了彭博。如果没有这些被裁的失败,也就没后面创业的成功。所以危机==转机。把“危机”这个词拆开,一个“危”,一个“机”,意思就是危难的时候反而有机遇。

真的,我过去都写不出这些文字,看到这些文字觉得跟读者/知音/豆瓣上那些文青小清新一样白痴+心灵鸡汤,其实现在才明白,因为曾经自己只是隔岸观火,没真切体会。真切体会后才明白,就是这些个道理。
大米 69
5
KurisuZh+1赞一个
ZHOUYUHENG+1赞一个
shaoyy147+1赞一个
akaAmbi+1赞一个!
sundance1+1给你点个赞!
avatar 473361
白小白
我也没拿到return 当时接到通知还哭了一场 但是想到既然实习的这么憋屈 不如换地方从头开始 首先我只见过我的mgr两面 他基本在家工作 我们组组员分散在各个办公室 平均下来我每天见到的同组同事小于1 其次我的mentor对我的项目并不了解 他常会把问题推回给mgr 我也没怎么见过他 他中途还换组了 因为同事不在身边 我只能在slack群里问问题 而大多提问直接被无视 我与mgr有很多1-1 online meeting 他很少指出我的问题 结果在最后一天告诉我这里不好那里不好 然后拒掉我让我无法反驳 其实在实习过程中我一直很焦虑 知道自己的问题并且想努力解决 除了实力确实不够硬外 缺少有效沟通帮我解决问题 不过这段实习还是让我成长了很多
大米 2
2
海绵宝宝+1赞一个
lemonb+1赞一个
avatar 384044
acpoint
想说这个mentor有可能也是第一次做mentor,没啥经验。。。

我当时还在写design doc的时候也觉得我mentor有问题,不清楚我project的scope
跟我1:1看我写的draft也一直给我各种destructive feedback (就类似那种“都是你的错”的态度)
mentor自己为人自大常常跟组里的人发生争执,包括争执我project scope应该是怎样的之类的
我当时非常非常地无语

然后我就很生气,开门见山直接给我mgr说我能不能换个mentor,233333
当时是打定主意,大不了不拿return,我不要受这个气
也给我mgr看了一些我mentor跟我的conversation
最后我mgr站我,但是并没给我换mentor,而是跟我说让我学着好好相处

后来我就不怎么问mentor技术方面的东西(因为我觉得他不懂
经常去找组里的senior讨论,但是我CR什么的还是主要是我mentor看
因为我之前complain过,我mgr又站我
所以到实习的中后期我mentor也没怎么怠慢我的CR,基本都是及时给comment,及时approve的
就这么一点一点地把proj做完了

最近我return回去了,他也不再是我的mentor了
我这个前mentor还特地约了1:1找我聊天
给我解释为什么我实习的时候会有那么不好的体验
说了一堆他自身的问题(比如他从小母亲就不爱他,所以他不知道该怎么爱自己。他当时对公司很resentful,觉得做我mentor是公司给他的额外的workload之类的)
整整说了半个小时, 我也是被吓到不敢说什么,就说都过去的事情了,不要多想,你当时不是帮我拿到return了么23333
然后准备下周约mgr聊一下应该怎么消化我前mentor这个1:1的内容(为什么要给我说他幼年经历/家庭经历什么的。。。I'm a bit concerned...
大米 34
4
别梦寒+1赞一个
Warald+30谢谢分享!
cecilianxf+2很有用的信息!
lemonb+1赞一个
avatar 219428
rogerlin1234
还有最后一点,不要 总是 觉得 是我们 自己 做错了什么,需要反思什么,一开始太卑微 觉得 亚麻爸爸 高高在上 什么都是对的,现在回过来看真的是笑话。

因为太患得患失,所以即便实习时 受了很大不公平对待也不敢说出来,最后 还被manager 误以为是 自己无能,其实最无能的是那个manager 罢了 !!
大米 3
3
海绵宝宝+1赞一个
dustbin+1赞一个
xiao12345+1赞一个
47条回复