Scaleflux - 小众的湾区startup实习分享

avatar 249530
023张教授
5160
9
楼主今天结束了summer internship,我的这个实习非常interesting,来给大家分享分享。
先说说结果,结果也很interesting,不像别的尤其是在亚麻实习的同学,要么收到了return offer,要么没有收到return offer,都是明确的结果,而我是不知道,压根就木有人找我谈话,木有人和我正式地提起这件事emmm

公司是做computational storage的,感觉算是存储行业里比较promising的一个方向,目前只知道和国内的不少一线大厂都有合作,因为产品确实对像要么公有云提供商,要么大厂自己用很有帮助。
楼主本人是狂热的C++爱好分子,当初接这家offer的时候(3选1),是被他们当时一个和rocksdb相关的项目所吸引(一个纯粹的C++项目),但是当我去实习的时候,这个项目已经结束了,转而给我的是一个非常非常“恐怖”的项目:魔改linux kernel的一个模块使之和公司的产品兼容并在可能的情况下做性能优化。楼主之前基本没有kernel经验,被搞得非常崩溃,但是可能得益于在小厂的优势,直接带我的人都非常牛逼,一个是纽约某大学的正教授,人非常nice,温文尔雅学识渊博,对存储系统了如指掌,就坐我对面emmm;另一个是公司一个非常厉害的architect。在他们提供的点子下面,我大概算是比较安慰得苟且过了第一周,把基本的环境配置好,code从linux 主干上checkout下来,并且开始跑基本的测试。

但是到了第二周就开始蛋疼了,我做的这个项目用到的kernel module是一个叫“bcache”的,网上教程几乎没有,仅有的中文教程太过肤浅,英文文档严重过时,公司内又没有人看过它的源码。而我的任务是需要改它的源码,不看懂源码几乎无解。情急之下,我开始了我的搜索大法,疯狂搜索linux 主干上的提交记录并最终确定了一个貌似最近一两年提交次数最多的一个邮箱地址,然后给他发了个邮件,没想到他回复我了!让人惊喜的是,他是一个中国人,然后顺理成章地把我拉进了一个微信群hhhh,从此之后我就开启了我的“伸手党”模式,群里有不少公司的大佬,帮我解决了很多问题,如果没有加这个群,感觉我的整个暑假会非常操蛋。。。之后的10周左右,都紧密的围绕在这个微信群里的大佬周围,有条不紊地开展了我之后的工作。

总结下实习,
自己做得不错的事:
1. 主动去找kernel module的maintainer并建立公司和他的联系;
2. 定期和我的manager沟通遇到的问题和最近的进展;
3. 遇到问题先查,就像Stack Overflow上的问题一样,大部分都是经过了提问者思考后的,不是那种非常小白的问题;
4. 善用画图的方式来展示结果,比较方便大家来查看结果。

自己做得不太好的事:
1. 对于这种有点偏research的project(总共的核心代码写了不到100行),想得还不够多,不过也没办法,完全就是小白;
2. 对不是在comfort zone的东西会存在心里抵触,比如楼主对C的那些很花哨的macro,对大量的地址运算不是很熟,所以一来非常抵触,一些代码看了很多遍都静不下心去仔细了解内部实现,其实好多复杂的地址,打印出来就好了;
3. 测试脚本(python和shell为主)太过苟且,几乎成了一次性用品,文档也写得不够。

实习的感受:
1. startup确实相对于我看到的其他的帖子的同学要辛苦一些,不过公司管午饭晚饭零食随便吃还是很不错的;
2. startup得到的锻炼比大厂多,楼主国内网易游戏待了一年半,作为国内工作强度最高的大厂之一(应该是高于这边大厂的平均水平的),对比起来,我实习虽然工作强度没有那么高,但是做的事情一点不少,其实国内干过的都懂,一天那么久有效工作时间多少大家都心知肚明;
3. system 层次的software engineer给人一种“历久弥香”的感觉,这是我第一次做system层面的工作,经验太重要,我的直接manager,也就是那位architect,经验之丰富,令人咂舌。对于一个从没看过源码的linux kernel module,竟然能根据黑盒结果和经验,推测出主要数据结构的类型和大致的工作原理,让人着实佩服。

楼主要开始全身心投入找全职啦!求各位看官加米加米呀!!!
  • 13
9条回复