这一课时我们继续抛开技术,聊聊前端工程师职业规划相关的内容。我不打算给你制定一个最优的进阶路线,因为每个工程师所处的环境、工作经历、职业目标都不一样,有的名校高学历,有的大厂背景,有的自学成才……并没有一个万金油的最优进阶路线。

虽然如此,但如果能明白核心问题,在职业生涯中做好关键选择,就能帮我们大大增加成功概率。具体核心问题包括下面 3 个:跳槽时机、公司选择及管理团队。

什么时机该跳槽?

近些年,“走出舒适区”这个言论经常被提及和推崇,但仔细推敲,这个论调似乎也有问题,人为什么要走出舒适圈,难道工作奋斗的目标不是为了生活得更舒服吗?

什么是舒适区?舒适区的工作一般具有以下几个特点:

重复度高,不需要过多的思考和分析,按照之前的经验做就行了;

可替代性高,市场上能轻易找到同类型的人才替代你的工作;

工作内容轻松,当前工作对个人能力提升没有帮助。

定义完舒适区之后再回到开头提出的问题:为什么要走出舒适区?

因为大多数情况下停留在舒适区则意味着只顾短期利益而牺牲长期利益,导致一些看不见的风险。比如公司出现危机裁员,肯定会优先考虑工作量不饱和、可替代性强的员工,这些被裁的员工由于长期处于舒适区,能力没有随着年龄增长,也很难找到满意的工作。即使公司发展良好,处于舒适区的员工也会由于长期做重复性工作而导致产出价值较低或能力提升跟不上公司的发展速度,从而失去晋升的机会。

所以一定要理性地看待“钱多事少离家近”的工作,钱多和离家近肯定是好的,但事少对于个人的成长和晋升而言是个缺点,很容易把人困在舒适区里。

正确的做法应该是首先主动识别舒适区,做到“晴天修房顶”。比如,工作中的年/月度总结、每半年更新一次简历都是比较好的做法。在意识到处于舒适区的时候,一定要及时做出调整,比如调整自己的学习方向,向领导申请更有挑战的工作。如果在当前的工作环境中,能力和薪资都得不到有效增长时就可以考虑跳槽了,即使你现在仍处于高光时刻。

任何能帮助你成长的东西终究会变成你的阻碍,通过定期回顾来判断和跳出舒适区,就能实现个人的快速成长。

怎么选择公司?

当我们在选择是否加入一家公司的时候,可以从下面 4 个方面来考虑,按照考虑权重依次是:

岗位职责 > 直属领导 > 公司前景 > 行业趋势

岗位职责

理想的工作岗位既属于公司的核心业务,又能给自己带来成长。核心业务很好理解,就是能给公司创造较大价值的业务,有些岗位可能并不归属于具体业务,比如架构组、技术中台,那么可以看它服务的业务项目有哪些。

带来成长可以不光指技术,在工作前 3 年甚至前 5 年,核心关注点是技术,但越往后走,越要注重自身的综合能力,比如管理能力、产品思维、沟通能力。

岗位职责信息在招聘要求上一般不会写得很具体,所以在面试过程中要和面试官多沟通了解,比如项目用到了哪些技术栈?技术难点有哪些?产品的目标用户是谁?产品的营收或活跃用户数多少?

直属领导

直属领导这个因素可能是很多工程师容易忽略的因素,其实它至关重要。因为直属领导对你的关注和帮助会直接影响到你的成长速度和晋升速度,所以很多时候我们直接将直属领导称之为“老板”。理想的直属领导应该具有下面 3 个特点。

关注指导。工作受到领导的关注,业绩更容易被看到,出现的问题也更容易被及时指正和改进。如果你只是团队中的普通一员,没有受到太多关注,那么可以在做好本职工作的基础上,运用一些向上管理的技巧,比如主动向领导汇报工作,及时沟通工作中遇到的问题等方式来引起关注。

技术能力。跟着技术能力比较强的领导一起工作可以学习更多。

有话语权。只有领导的话语权足够大才能为你争取更多的利益。

关于直属领导的信息可以在面试阶段通过沟通询问来获取,比如询问公司的组织架构以及产品和业务,大概就能推知其话语权,又比如通过其他面试官来侧面打听直属领导的履历来判断他的技术能力。

公司前景

每一次跳槽选择公司的时候一定要慎重,主要原因不仅是怕被坑,还是因为你选择的每一家公司都会成为你的名片,你的职场履历会直接体现你的判断能力、职业规划及工作能力。从以下两个方面可以大体上判断公司的发展前景。

公司的使命是什么?它体现了公司发展的格局,如果公司只是为了上市或者融资的方式赚钱,那么这种只注重利益的公司一般难做成功,即使成功,发展空间也不会太大。

公司产品的用户是谁?如果公司产品面向企业,那么要考虑用户企业的营收能力以及对于产品的预算投入。如果是公司的产品面向个人用户,那么要考虑目标用户数量有多少,使用产品的频率如何。

另外补充两点:

不推荐去外包公司,外包公司工作强度大,不注重技术,对个人成长不利;

不要光凭公司名称来判断,有些软件公司可能并不注重技术。

行业趋势

“站在风口上,猪都能飞起来。”这句话很多人应该都听过,但少有人思考,如果风停了会怎么样?答案是鸟会飞得很高,猪会摔得很惨。

所以说行业只能算是公司发展的催化剂,不要觉得公司所处的行业好就一定会成功,行业更多地只能决定公司的发展上限。

常见的几个误区一定要警惕。

不要觉得蓝海就是好的,红海就是差的。红海虽然竞争压力大,但说明进入这个行业时机已经成熟,得到了市场的认可;而蓝海市场,很可能是因为技术不成熟,用户规模太小或产品实现成本太高等诸多因素形成的。中国的电商行业就是典型例子,当它是蓝海的时候,8848 之类的电商企业没有做成功,而阿里巴巴成功了,当它是红海的时候,拼多多又起来了。

不要觉得市场广阔,公司的发展形式就一定大好。商业不能完全靠想象,公司不一定能成为行业头部企业,即使成了也难以做到一家独大。

更现实的问题,如果蛋糕做大了,你能分多少?薪资福利一般可以参考同类型的大公司进行估算,比较难以估算的是股票期权,但可以根据市(估)值和占比进行估算。

总之,运气也是一种实力,这句话的正确解读应该是:首先要有足够的能力来识别什么是机遇,什么是“坑”,识别了机遇之后还要有足够的能力来抓住机遇。所以加入一个发展前景好的公司,在一些人看来是运气,很可能是别人主动思考的结果。

怎么做好管理?

网上经常看到一个论调:“技术水平一般的程序员,年纪大了,应该考虑转管理”。这种观点属于典型的误人子弟。

首先我们切换到老板的视角来思考,如果你是老板,你是愿意提拔一个能力与业绩突出的工程师,还是一个因为自己能力不够所以想转管理的工程师?大多数情况下应该都是前者。

其次,你作为一个工程师,你是希望选择一个技术很厉害的领导,还是会选择一个因为水平不够而选择做管理的领导?就我的面试经验而言,大多数候选人都是希望能跟着一个能力非常强的领导工作和学习。

最重要的是,管理岗位并不是一个避风港,恰恰相反,管理者的责任更大,开发人员只需要对自己手上的工作负责,而管理人员不仅要把控技术,还要对团队的业绩和成员负责。

所以做管理不是技术不行的被动逃避,而应该是基于个人职业规划的主动选择。

那么怎么做好管理呢?凭借我带过一些小团队的经验,以及和全国数百位前端负责人的交流所知,大概有下面几点。

分派任务。将项目开发任务进行拆分,制定开发进度,根据项目的紧急程度、团队成员的开发能力和工作量,合理地进行分配。

技术选型。一般而言,对于核心项目建议使用成熟主流的技术框架,由于这些技术框架生态比较好,有很多基于它的第三方库和解决方案可以拿来直接使用,从而保证了项目的快速开发和上线。对于非核心的小型项目,比如团队内部使用的工具,可以积极探索一些新的技术,比如我曾经在一个项目中无依赖地使用 Web Components 技术来开发页面,以及在一个桌面应用中使用 Cycle.js 来开发页面。

协调指导。及时发现团队成员工作中的问题,并协调或提供资源帮其解决。大多数工程师都不喜欢或擅长做工作汇报,这样会导致很多负面结果,做出来的成绩不容易被领导看到,碰到的问题也不容易被发现。所以针对这种情况,除了常见的周会制度之外,在团队管理的时候可以加入日报机制,早上上班时订立今天最重要的工作目标(不超过 3 个),晚上下班时总结今天工作目标完成情况。这样作为管理者就能很好地把控进度,一旦发现问题可以及时询问指导,遇到工作出色的情况也可以及时表扬。需要注意的是无论是周会还是日会,一定要把控好内容和时长,不要流于形式。

制定规范。以尽可能高的标准来要求团队,保证项目的代码质量;同时积极探索和推行一些能提升团队效率的工具方法。

团队培养。及时地发现团队成员工作中的问题并指出,然后帮助其改进。例如,让团队成员根据公司目标结合自身发展自行制定 OKR 或 KPI,然后定期一对一回顾复盘。一种不好的方式就是平时不与团队成员沟通,到了半年度考核的时候才发现问题,告知考核评级不佳。

利益争取。尽量少用惩罚手段,多通过正面激励来提升团队士气。及时帮助业绩优秀的团队成员晋升加薪,一方面能避免人员流失,另一方面也能激励团队其他成员成长。

总之,管理者与开发者最大的区别并不在于,不需要关注技术、不需要写代码,而在于思维的转变。要从个人转变成团队,团队的产出等于你的产出,团队的成长等于你的成长,团队的问题等于你的问题。

以上就是全部课程的内容了,关于职场上的问题可以留言,也可以加拉勾客服微信号,然后拉你进群交流~(拉勾客服联系方式:http://to1.top/MfIbq2ao)

如果你觉得课程不错,从中有所收获的话,不要忘了推荐给身边的朋友哦。前路漫漫,一起加油~

-– ### 精选评论