实习生(intern)和新员工有所区别。实习生仿佛一个长达 12 周(三个月)的面试,一起工作,一起解决问题。在最后有答辩和 debrief meeting 讨论结果。可能通过了,最后公司给 offer;也可能没有通过。即便给了 offer,还要面临双向选择,有可能实习生不理 offer,继续求学或者去别的公司,当然也可能选择到别的团队。
我的习惯是,见面的第一天,这些内容是必须要交代清楚的:
1. 近视和远视。
你会在接下去的时间里遇到大量的问题,也要去解决大量的问题,有的问题解决会让你获益很长时间,但是大多数问题解决也只是帮助当时的那个你。我们尽量选择一个平衡点,既要为了完成项目,解决那些无趣,但是又必须解决问题;又要多尝试那些好玩,可以令你未来获益的事情。
我们也许还能够记得在学校里写软件是怎样的,如果不记得,那也应该记得写那些小工具,甚至写 hellow world 的感受是怎样的。遗憾的是,和这些感受不同的是,接下去为了要解决问题而绞尽脑汁的烦躁并没有那么美好,大部分时间(80% 以上)要做的是各种问题调查,以及 operation 的工作(configurate、build、deploy 等等)。这些往往会无趣,但这却是现实。不过,除了 intern 必须要完成的项目,还有一些项目是团队里面大家在做的项目可以接触,包括维护的产品,这些东西涉及不同的技术栈,其实蛮有趣的。
2. 角色定位。
每个 mentor 的风格各不相同,我比较倾向于担任协助你解决问题的角色,你拿着具体问题和做过的调查来问我,我不太喜欢领着你做这做那。多问我具体问题,少问我 “下面我该做什么”。其中的方法双方可以沟通改进。着急的问题马上来找我,不着急的问题我们可以在每天的 post scrum 里面讨论解决。我们每周挑一天好天气去楼顶晒晒太阳聊聊天。
其实我的老板(manager)更直接,他说他只谈了一点,就是 ownership。你是项目的主人,而不是你的 mentor。
3. 时间管理。
你才是项目的老大,你的目标是 12 周的时候能够拿出一个可以工作的,甚至是一定程度上已经完备的软件版本来。中间的时间管理我会协助你一起完成。
通常我推荐的方法是,从一个非常小的 feature 开始,从头到尾完成,从而对时间规划有清晰的认知,避免出现一堆需求做到一半没有时间的情况。不过你也许有更棒的方法。
4. 解决实际问题。
要解决的问题都是模糊的、甚至是混乱的,我不会给你一个需求列表然后去完成它。你要和用户或者用户代表去沟通,寻找其中的问题,熟悉背景和限制,自己整理和规划可以完成的需求,然后才是设计与实现。这一点是项目的关键,也是学校里的项目和工业界的项目的最大区别。
有时候你要拿出一点数据来证明你的观点,有时候你又要凭借或者借助经验来做出判断。
5. 和团队一起成长。
我不是你唯一的资源,你要去和客户谈,要去请教别的工程师一同解决问题,要去和 data analyst 一起分析数据。等最后评估的时候,他们都是能够用具体事例来给你支持的后盾。
项目成功只是最终评估的一部分,同事认可也是无比重要的。
最后,希望这段时间你既有挑战又有喜悦,觉得新鲜又能收获满满。
文章未经特殊标明皆为本人原创,未经许可不得用于任何商业用途,转载请保持完整性并注明来源链接 《四火的唠叨》
不好意思,想问一下您会不会接推广类的活动,可以的话请加一下微信:18221709804 或者电话给我
關注你的網站大概有一年多了吧,從 coolshell 發現的。在你去美國之前就開始關注。今天留個言,算是 say hello 吧.
祝工作生活順利!
XY