虽然2018年秋招正值白热化阶段,但已有不少准备充分且求职顺利的同学拿到了心仪的offer,赶回BitTiger向老师们报喜,并希望得到些职场规划方面的建议,今天,这份关于入职后短期及长期规划的建议,献给大家。

暂时还没拿到心仪offer的同学们也不要着急,你可以在BitTiger公众号后台回复“秋招”,领取大礼包,助力求职。

好饭不怕晚,英雄且耐时。

如何定位自己:New Grad的两年规划

我们现在来看一下New Grad入职后的两年规划。对于BITTIGER来说,学员们拿到Offer之后,基本两年之内都会跟老师继续交流。因为,这一部分有很多同学都会遇到的问题。入职前两年对于一个新人来讲,是非常重要的。这两年可能是大家整个职业生涯的起点,甚至是可以左右你之后职业发展的要点。下面,我们主要从三个方面来讲:

1. 技术提升

2. 人脉提升

3. 软实力提升

首先,我们看一下New Grad入职后的挑战与机遇。对于挑战来说,很多人入职第一件事是找老师,但是你最后可能更多是去找Google,因为在很多情况下,你遇到的问题都很难去张口。另外一点,你会发现自己有非常多的问题不知道。有时候你刚刚入职,你的Manager不知道你的实力,他可能会不停测试你的能力。这时候,即使你听不懂,也要硬着头皮去解决。

有一个学员BITTIGER入职Facebook后,Manager给他布置任务时,很多专业词汇他都没有听过,甚至在大学都没有学过。刚开始,他只能硬着头皮去做。这个环节可能会持续比较久,直到你熟悉内部的图和整个内部的软件之后,你才能真正知道自己哪些点是不知道的。这就是为什么大家会觉得自己的英语表达能力包括用词都是匮乏至极的。

但是,从机遇方面来说。在你刚刚入职甚至是入职半年左右这段时间你都处于一个允许犯错期,在这个时期大家一定要勇敢地去尝试。另外,你一定要找到一个Mentor。在你工作的组里找到一个比你强,甚至让你觉得有人格魅力的人还是比较容易的,那么你可以让他做你的Mentor。另外,你一定要找到自己的职业技术方向。最后,给你的任何一个新的任务都是一个新的机会,你一定要不遗余力地去争取。

整体来看挑战和机遇,从机遇来讲,Manager是第一步。因为你遇到什么样的Manager很大程度上都是看运气,但是在很大程度上你也可以选择你的Manager。比如每个人都希望自己的Manager是曹操,刘备,孙权,他一定不希望是自己的Manager是刘表,袁术和杨白虎。所以一个好的Manager对于一个新人刚入职前两年是至关重要的。包括你在刚入职这两年一定要有一个非常重要的任务,就是你一定要完整地做下来一个项目的开发。如果你有一个这样的机会,那么你对于业务需求的理解会更加深入,包括需求的制定,代码的编写以及最后做的测试。

对于一个新人来讲,能够完整地做下来一个项目,对于你之后的跳槽甚至是职场进阶都非常有帮助。接下来,我们来看一看这个路线图,仅供参考。

这个路线图把第一年分的比较细,后面一整年需要大家自己去分。

头三个月,对于一个新人来说,你需要做什么呢?首先,要先研究保险,401K,股票等你不知道的东西。因为如果你刚入职,刚毕业,那这些是什么你都不知道,你不知道应该在401K中放多少钱,公司匹配多少,你甚至不知道保险应该选什么。

然后是准备H1b抽签材料。接着熟悉公司所用内部软件与系统,这是至关重要的。如果你不熟悉,你甚至是知道该到哪里去找资料。比如说Amazon可能在某个网站上面买Beats的耳机省税而且便宜。

另外你一定要快速加入群体,要熟悉基本流程,包括会议,项目制度等。你甚至要主动跟Manager进行1:1的谈话。如果你刚刚入职,你Team里有能帮你的Mentor的话,你要主动去跟他约一对一会议,问他能不能定期见面,然后你可以向他咨询一些事情和技术。

最后是Performance Review。可能你刚刚入职时不知道,甚至是HR给你发的整体的指南,你自己也不会花时间去看。但是你一定要熟悉这一块,因为入职第一年你很容易就无所事事的过去,甚至不知道自己哪些点没有做好。所以,这三个月,这五件事情,如果你有一件做得不好,都会影响到你的Performance。

首先,前面提到的熟悉公司所用内部软件与系统这件事需要继续做,因为前三个月不可能马上就完成。其次,你一定要谦虚谨慎积极向上,有条不紊的完成Manager布置的任务,千万不能拖拉。

从这里开始,你就要开始记录Manager给你安排了什么工作,甚至是别人在开会,别人在讨论时,你都要详细记下来每个人说了什么。然后,你要快速意识到自己的不足,制定学习计划。

很多时候你会发现,你在学校上了很多门课,你做过Web,做过Moble开发,但一到工作中就什么都不会了。最后,要找一个Model来观察。我有一个学员在工作过程中,他们组有一个50岁的俄国大叔,技术非常厉害。他观察到React Native很火的时候,就买了一本书。这本书大概有八百多页,他每天下午六点半会定时翻开这本书看。每个人对于技术的要求是不一样的,从这位俄国大叔身上大家可以学到你未来50岁时的精神状态。

所以,你一定要选定一个Model观察,如果你入职三个月还没有开始做的话,请尽快开始。你还可以主动请求Model帮助承担项目中的一个小的开发环节。

7-12月:要思考Potential的内部换组。如果你到第一年的下半年,发现自己产生了以下任意一种情况,那就说明你就跟错了Manager:

1. 没有意识到自己哪里不足

2. 不知道自己技术层面有哪些点是需要去加深的

3. 并没有做什么真实实际的工作

这时,你就要想办法从内部换组,或者想办法去调整。因为大公司是鼓励员工在内部进行Transfer的,这样会有助于你的发展。你的两年青春价值远远超过你的Packagex2,所以你一定要思考这一点。

第二年:在这个阶段,最重要的是你要给自己确定一个目标值。因为很多时候,你拓宽自己的技术能力和技术水平都是在第二年实现的。一定要记住一点,你是始于工作,但高于工作。比如春招或秋招时,有一个18个月原则,如果H1b没中,你应该开始思考跳槽和后续发展。

技术提升

前两年,技术对于大家来讲都是非常重要的。因为你刚刚从学校毕业,加入到工作,会发现很多你不知道的东西。比如,你可能要重新去学R。如果你是Engineer,但是你们组正在做的一个项目需要用到数据处理,你也要去学。你甚至要重新去学构页,因为你以前完全不会。

对于Front-End来讲,你要去学Javascript,包括React Native开发,你都要花时间去看。像后端,你可能从来没接触过 Spring,但是在一些大型公司Spring框架多多少少都会被用到。

对于Database来讲,你用过的MangoDB等技术栈也要去学。这里我想要提到一点就是Testing,很多学员并没有系统地去学过。很多大型公司也很少有纯做Testing的职位,所以这已经变成了Engineer的一个基本功。如果你会Testing,就相当于你在技能层面上比别人优先很多了。所以如果你刚刚入职两年,这两年中,这些内容一定要查缺补漏,看看自己哪些还不会。

人脉提升

这一点很重要,甚至比技术提升更重要。因为大家都知道,一个Engineer低头纯写代码,是远远不够的。你的软实力和人脉对你整个Engineer的职业发展至关重要。有同学会说,这有什么难的,不就是提升我的Communication Skill吗。事实上,如果你要创业,你现在接触到的Cross-Team的人,包括你自己Team的小伙伴都是你以后的资源。

这张图是Amazon的Leadership Principal。不管你是在Amazon或其他公司工作,这14条对你来讲都非常重要,你要把它作为Engineer的行为准则。所以说,这些点你一定要去仔细看一看。

那么,哪些人是你需要搞好关系的呢?

首先是你的Manager,其次是你的组内组员,以及你隔壁组的Manager,Product Manager,UX Designer,甚至还有HR和Recruiter。这些人对于大家来讲至关重要。你的Manager有可能以后变成Director,你的组员有可能以后跳槽创业成立一个新的公司;隔壁组的Manager对于你的Performance Review和Calibration环节也很重要;同时,你也有可能成为Product Manager。这些都是你平常的人脉提升,因为他们对于你来讲,都是连续帮助计划。

举个例子,我有一个学员从Oracle跳去Google,Oracle前一段时间裁员比较厉害。可能他们的Organization都被Pick去Google了,这是一个连带关系。那为什么说是一个连续帮助计划呢?我之前跟Amazon的一个SDMII吃饭,他当时在Amazon已经工作了很长时间,他的人脉积累对他之后创业非常有帮助了。他当时创业的时候,需要UX Designer,他以前在公司的同事UX Designer直接辞职跟他一起创业,甚至他创建的公司里面有15个Engineer都是他之前的组员。对于一个帮助计划的建立来讲,人脉肯定是第一步,所以说这是很重要的一点。

跳槽升职计划

在一个Engineer的职业职场进阶过程中,有些人可能五年就到了SDEIII,有些人可能由于技术层面的原因,工作五年还在SDEII,甚至是Lower Level。所以跳槽对于大家来讲很重要,换组升Level的计划也很重要。

内部换组

我们先来讲一讲内部换组的可能性和挑战。在什么前提下你会选择内部换组而不是跳槽呢?首先可能是因为Manager的组员项目,其次是你现在的技术水平和成就无法提升,另外可能是你远离开发很长时间了,还有可能是因为你升职缓慢,被Manager压着;也有可能是你刷题还没有准备好,现在给你一个OA你可能都会挂,甚至你可能在第一轮面试就很容易被Pass;还有可能是你太久没有去面试了,所以心里没有底。所以如果你能够通过内部换组达到自己的目的,是很好的。因为基本上你不需要去经历Phone Screen,甚至不需要经历OA,你可能直接可以跟Manager沟通。

这里有一些你必须知道的地方:

第一,内部换组仍然需要面试,难度有增无减;

第二,内部转组升Level的难度比较大,因为你在你们组没有升Level,去别的组后,别的组的Manager也会看你的Performance Review,这些都是透明的;

第三,工资涨幅可能略低,除非你有其他的Offer给你Backup;

第四,你可以直接发邮件给别的组的Manager或者请该组的人推荐,但最后你仍然需要Negotiation。内部换组不同的公司都是有区别的。我们来举两个例子。

对于Oracle来说,很多Manager是不愿意放你走的。比如说某个同学在公司快裁员之前想去另一家公司做软件开发,但是Manager不愿意让他走。这种情况该怎么办呢?这个时候你可以说,如果Manager不愿意放你走,你就直接走人。前面提到的这个学员最后换组成功了,虽然他省掉了Phone Screen,但他Onsite一轮都没有过,因为面试难度也是很大的。另外一个学员也在Oracle,他是想从Testing转开发。但Manager很喜欢他,不愿意放他走。但同时他有Performance Review可以去做竞争。后来过程虽然有点困难,但他还是成功了。这证明只要能力够,内部换组依然是可以的。

再举个例子, Amazon是非常鼓励大家去换组的,因为我有一个学员四年间在Amazon换了3个组,他的技术涉及范围越来越广。也有学员两年在Amazon换了3个组,他从前端到移动端全部都走了一遍。Amazon是按照你的Performance给你Package甚至是你的面试表现以及地区的工资水平给你工资涨幅。像Oracle,如果你有Compete Offer的话,才会给你涨薪资。

跳槽升职

你在一个公司干的时间越久,你的级别越高的时候,你的面试难度就会越大。举个例子,如果你在Google工作,你想要面T5,你不可能省掉System Design。如果你省掉了,那么你的Title能不能到T5是很值得质疑的,你的工资水平一定是在T4。另外一点,不管你是换路线跳槽,还是升Level或同Level加薪跳槽,都是有一定风险的。

首先我们先看换路线。你可能原来并不纯做开发,你想从技术转到Management,从技术转到产品或者其他方面,那这一块你需要准备的技术层面的东西就会很多。比如说你是Amazon的SDEIII,你可能已经工作了很长时间,作为一个Engineer来讲,你已经非常厉害了。但是你想转到Management路线,如果你之前没有做过Team Leader,没有带过人的话就会很难。假如你想从从SDEIII跳到Google的Level 6的Management,是非常难的。当然,升Level跳槽也是有实例的。这些成功的人都有一个共性就是他们的技术都非常强。所以你一定要有强大的技术作支撑,因为你面试的时候面试官除了面试你的领域,还会测试你的知识面广度。

之前,我们有一个学员,他在面试的时候直接告诉面试官,我没有刷题,你可以考一些我擅长的技术吗?当他把简历给面试官的时候是很有说服力的,因为算法有时候并不能够真正的检测到一个Engineer的水平。如果你是跳槽到同Level加薪,这是需要有强人做推荐的。有同学之前去面Google,他的水平最多就是T4的Level,但他拿到的却是T5的Package。这是可以实现的,但是你一定要有强人推荐,并且你的面试表现一定要很好。

公司内部换组和跳槽升职应该怎么做呢? 如果说,你打算想要快速做好这件事情,这两件事情是需要同时进行的,缺一不可。