2016年的6月中旬,我毕业了。我在北京与家人度过了愉快的一个月,然后我在7月底入职开始了一份软件工程师的工作。如果说,读研的这最后半年我过得十分轻松舒坦,工作的这半年总体来说并不快乐。我主要想花些时间来反思这半年,哪些教训可以汲取以避免重蹈覆辙。
知己知彼: know what you're getting into
我入职的时候决定去了一个rotation的项目。然而我虽然根据公司安排找前辈聊过天问过这个岗位是做什么的,我在开始工作之前对这个岗位具体做的事情的认知可以说是完全错误的。如果重来一遍,我会先花点时间去研究整个团队的技术栈,然后我会发现app只是这个团队非常小的一部分。相应的,我会提前去研究bash、spark、hadoop、和运维,而不是根本没有用的上ES6和React/Redux等前端技术。
知道自己如何能够提供价值
刚入职的时候,一方面我对于上级太缺乏谈判的自信,以致于直接跳进了第一个跟我谈的组,都没有认真思考过一个什么样的组比较合适。另一方面,我也对自己从零开始学习任何技术的能力太过于自负,觉得自己什么都能学。这跟我大一选课过于雄心勃勃是一个道理。自然,这6个月给了我十分深刻的教训。对于我个人而言,一个我比较舒服的状态是用80%的时间与精力运用一个我比较精通的领域去实现价值,余下20%的时间去与尝试学习新的知识与领域。Rotation结束,第二次选组的时候我也十分慎重的同领队讨论了团队需求和自己技能树的匹配程度,最后略微保守的选了一个自己擅长并且感兴趣的领域。
坚持一个可持续的生活方式
我每一天最不后悔的决定就是写博客和锻炼。最后悔的决定一般是凌晨两点之后不睡觉,以及在一天以内玩第三局游戏(特别是输的时候)。不过事实是人都需要一个解压放松的渠道。失眠以及用消遣来拖延或者消磨时间的欲望大多数来自于工作压力和各种负面情绪。我现在这个团队的值班体系要求每四周中至少有两周基本不能睡觉,整个晚上每一到两个小时需要爬起来照看数据管道。对于我这种需要一个小时才能入眠的人来说,这几本相当于一整个星期不能睡觉。连续缺觉对debug能力的影响是叠加的,debug能力下降对缺觉程度的影响也是叠加的。我不是不愿意加班——很多我感兴趣的工作我经常会自发地做到深夜和周末并且以此为乐。然而,我是一个并不能熬夜的人。所以这个团队的工作方式对我的效率来说简直是毁灭性的。找工作和选组的时候,尽量打听清楚这个团队的工作方式,看看是否契合你的工作方式和生活需求。
尽量跟一个靠谱的老板
这6个月中,组里换了两个老板,n个组员。到底什么样的老板靠谱,我可以另写一篇文章了。我第一个领队可以说是一个IC里面的英雄,但他并不是一个好的团队领袖,或者可以说他从未把自己当作一个管理者。我第二个领队也是一个技术十分过硬的IC,但是是一个糟糕透顶的管理者。我想一个优秀的领队应该具备以下几点技能:
- 知道整个团队在什么时候应该做什么样的事。
- 知道什么样的人适合做什么样的事。
- 激发团队做事情的动力,适当的下方权利,让组员对项目有ownership和责任感。
- 未雨绸缪,而不是天天救火。
至少在硅谷,似乎Breakout List的这份笔记有些借鉴意义,我十分同意:https://notes.breakoutlist.com/guide-to-interviewing-your-future-manager-before-deciding-where-to-work-3b2eb3326793#.f2e42hx6c