编者按:最近在复习Java知识,发现去年找工作时候购买的一个专栏,感觉还是不错,把重点内容梳理了一下,继续开始学习之路,后面将32个知识点逐一分享。来源:拉勾教育,有修改。
工程师发展路径
一般来说,技术人员对职业发展有两个发展方向,一个是技术方向,另外一个是管理方向,这两条路径侧重的能力点不同,需要根据自己的兴趣、能力优势有侧重的进行能力培养,成长路径如下图所示。
在刚入职的 1~3 年内,技术人员的发展路径比较单一,从工程师往高级工程师发展,这个阶段主要目标是积累,夯实后续发展的基础,重点提高自己的工作基础能力,培养技术深度和广度,对不同方向的新技术保持强烈的好奇心和学习心。
在一路打怪升级为高级工程师之后,就会面临发展方向的选择:技术 or 管理。
在实际工作中,这两个序列没有特别明显的边界。例如做管理不表示远离架构设计;而技术专家也不是单兵作战,也需要带领团队。这两个方向区分点在于工作内容的侧重点不同:到底是更偏技术架构,还是更偏管理与项目推进。
回到最开始的面试问题,“你的职业规划是什么?”,答案并不是在面试前打个腹稿就完成任务了,而是在你进入职场,准备成为一位工程师时,心里就该有个谱的。
这里给你个面试小诀窍,也许这么回答能加分很多:“从过往的经验来看,我对项目的整体规划、管理推进比较感兴趣,在任务推进、协调沟通方面也有比较突出的表现,所以我的职业规划是成为一名优秀的技术经理,并以管理方向为发展目标。“
常见技术岗位划分
除了有明确的职业规划外,想要往高处走还得了解职级划分与对应的软、硬技能要求。这样你在工作的时候可以有意识得补足欠缺,提高水平。
应聘不同公司、不同级别的岗位时,要重点提升哪方面的技能呢?答案非常简单。
对照下图,简单介绍 BAT 的技术序列的岗位划分、对应的工作年限及职级。
1~3 年的初级工程师,这个级别的岗位在阿里、百度、腾讯等大厂很少进行社招,一般是从校招生内部晋升。
高级工程师一般需要有 2~5 年的工作经验,这个岗位对应百度中的 T4、阿里的 P5,以及腾讯的 T2-2(对应腾讯最新职级体系 T7)。
资深工程师一般要求 3~6 年工作经验,这个岗位一般对应百度中的 T5、阿里的 P6,以及腾讯的 T2-3(对应腾讯最新职级体系 T8)。高级工程师和资深工程师是各个公司中的绝对技术主力,公司非常看重这部分人才的成长和培养。
技术专家、高级技术专家至少需要 5 年以上的互联网从业经验,这里先不多说。大家记住这个表,初级、高级和资深工程师 3 个职位面试具体的考察点后续详细展开。
公司和团队
先来看公司和团队。要有个概念:现在的每一份工作都是为下一份更好的工作蓄势。
大厂比较适合镀金提高身价,核心业务更适合长期稳定发展,进入核心团队在能力、经验上都能获得较大的成长。
如下图所示,第一象限是第一种情况,大公司的核心业务无疑是最好的选择,但也是竞争最激烈的,尽量找和自己能力匹配的,不要和众多高手竞争,耽误宝贵的求职时间和机会。第三象限,小公司的边缘业务,肯定是下下策,备选。
剩下的两种情况:一是大公司的边缘业务,另一个是小公司的核心业务。
这也是最让人头疼的选择,给你个建议:对于工作 1~3 年的小伙伴,我更推荐优先选择核心业务。之前我有提到,职业生涯前期以积累知识、经验为主要任务,核心业务可以给你提供更多的历练场景,无论是应用经验还是架构经验都能获得很好的收获。
常见面试流程
在搞清楚前面几点之后,面试流程也是找工作前必须了解的。我见过一些候选人对面试的要求都不了解,也没有进行对应轮次的面试准备就直接来了,这很可能会浪费一次机会。
对于技术岗,大部分公司的面试流程基本相同,如下图所示,分为 6 个环节。
整体总结如下:
面试前询问是否有电话面试、笔试、上机等前置面试;
技术一面、二面关注实际工作能力;
二面、三面偏重架构能力与发展潜力,二面与三面一般决定你的入职职级,一定要好好表现。
面试前准备工作
假设你明天就有个面试,那么,前期的准备工作对面试成败起到决定性的作用。影响面试成功的三大基石是:能力、心态和沟通。
那么,如何在面试时稳定发挥?
面试考察点是可以在短期内突击的,也是面试前需要重点准备的内容。
关于心态,面试前多方面搜集面试公司、岗位所属团队、平均福利等资料信息,知己知彼有助于增加自信。提示一下,有些公司喜欢压力面试,特别在面试官层级较高时发生。在不利场景下多给自己心理暗示,控制情绪,也许有意想不到的收获。例如,这个面试官以后可能再也不会遇到,就算失败了也没什么大不了。
沟通方面,给你几点建议。
小技巧:注意观察面试官的反应。如果面试官突然在简历上奋笔疾书,说明你提供的信息是有用的,如果他停下来很长时间不写了,你要想想是不是跑题了;如果面试官的表情显示出不耐烦,或者深呼吸,有可能你没有领会面试官的考察意图,可以再次询问。
面试考察点
面试的考察点非常综合,一般分为硬技能和软实力。
硬技能包括:基础知识的掌握、以往的项目经验、对系统架构的设计能力,以及对不同框架、工具的综合应用能力。
软实力一般包括:逻辑思维是否灵活、沟通、表述、协作能力是否优秀、是否有较强的项目管理与推进能力、新技术的学习、总结与思考能力,以及培养潜力这几方面。
前面 BAT 的职级图中提到,不同等级的岗位,能力要求肯定也不同,这里用雷达图来展示,如下图所示。
对于目前的初、中级工程师来说,基本的要求是能完成分配的研发任务,所以面试官更看重基础知识的掌握、逻辑思维是否灵活,有没有培养潜力。其次是项目经验与学习思考能力,而架构能力、管理推进,以及沟通协作等能力,受限于工作年限,并不会对这些方面有较高的要求。
温馨提示,软实力功夫做的好,对于技术工程师的职业生涯来说绝对是加分项,推荐阅读《软件能2:软件开发者职业生涯指南》
硬技能系谱
针对硬技能考察点,提供一份系统化梳理,也是接下来几个课时重点讲解的内容,如下图所示。