在 ECMScript 的标准化演进和开源社区的蓬勃发展中,作为一名前端工程师,如何从越来越饱和的求职市场竞争中脱颖而出?如何融入环境胜任新的岗位?又该如何晋级成长,完成角色转型?
为了帮助前端工程师们寻找这些问题的答案, 100offer 邀请到了 58 同城的高级技术经理李丁辉。他将基于丰富的团队实践及经验,与你分享前端工程师的面试、岗位适应、晋级成长三大话题和完整职业成长历程。既有提纲挈领的方法论,也会推荐一些实用的学习资料、工具和方法,让你读完就能实践落地。
这份《前端工程师进阶指南》分为上下两篇推出。上篇【加上篇的文章发布链接】围绕前端面试准备以及快速融入新团队分享了大量实用建议。今天的下篇,我们将分享从中级到资深前端工程师的不同技能要求和职业进阶方法。
作者简介:
李丁辉,58 同城用户增长部高级技术经理,负责 58 同城用户增长部前端团队的研发和管理工作。长期参与集团校园招聘和职级评审。2010年参加工作,曾就职于百度、创新工场,从事前端开发工作。
1晋级成长,完成角色转型
在一家公司工作一段时间,就会面临内部的晋级成长。
下图汇总了互联网公司的常见职级序列图。不同公司叫法有差异,且有不同的序列编制。如阿里是 P 序列,百度是 T 序列,58 是 T 序列,有的公司没有序列之分,只有职称之分。
你可能已经看出来了,老李在工作时间上面临着大部分程序员都有的两个问题:
1) 时间碎片化
很难有一整段时间持续做某件事,上下文的频繁切换,导致思维跳跃,容易产生焦虑、浮躁、紧张的情绪。
2) 被动时间多
如会议和通讯工具强提示(被 DING 一下,马上抓狂)。
因此,时间管理对于工程师的能力提升至关重要。同样工作一周时间,有的人忙得不可开交、昏天黑地,但没有一件事情能有效完成。有的人从容不迫、雷厉风行,但重要的事情都能出色完成。这与有效的工具和方法不无关系。
1)工具推荐
如 Things、WunderList、OmniFocus 等个人事务管理软件,可将自己的日常工作拆分成若干任务放入管理软件,有助于减少记忆力开销。但这些工具只适合个人时间管理,团队时间管理并不受用。
另外一个有意思的工具叫做 WakeTime,其中有各种 IDE、编辑器插件,可以统计日常编码时间。
2)方法
可以参考同一作者的两本书:《番茄工作法》和《单核工作法》。
「番茄工作法」的实际操作不难,类似于我们小时候 45 分钟一堂课,休息 15 分钟,它也是 25 分钟的完整时间完成一个任务,休息 5 分钟,然后继续下一个任务。
单核工作法是番茄工作法的加强版。使用事务管理软件收集任务,使用单核工作法处理任务,能够使工作变得简单高效。
每天预留一个时间段,关闭或者静音通信工具。把会议分权重,非必要的会议不参加,或者跟合作的同事交替参加。非重要紧急的事情放入任务池,可以给自己设定个时间段单独处理类似问题。
在此,我们再总结下前端工程师常用的效率工具和小技巧:
1、面试准备:做一张知识图谱,评估自己的专业技能状况
2、日常工作:尝试画序列图,在沟通交流中使用
3、学习提升:使用思维导图,进行文档学习和思考总结
最后附上我推荐的软件和图书,如有需要可以自取:
软件参考
Xmind ZEN 思维导图软件
Visual Paradigm UML 软件
OmniGraffle 图表绘制软件
OmniPlan 项目管理软件
Things 个人事务管理软件
WuderList 个人事务管理软件
图书参考
《JavaScript高级程序设计》
《深入理解ES6》
《精通CSS 高级Web标准解决方案》
《CSS揭秘》
《图解HTTP》
《番茄工作法》
《单核工作法》
3Q&A
(Q代表网友提问,A代表李丁辉回答)
Q:公司里只有自己一个前端,如何自我提升?
A:如果只有一个前端开发同学的话,可能会比较孤立,这种情况下可以从两方面进行自我提升。
一方面可以去参与一些社区性的项目,成本没有想象的那么大。最简单的方式就是去跟进某个项目,持续关注它的状态,然后尝试能不能参与其中,当然也不必去追求特别大型的项目。另一方面就是要建立自己的知识图谱,然后根据图谱,去找相关书籍或文档进行系统的学习和查漏补缺。
Q:作为前端面试官,你一般会重点关注面试者的哪些技术素养?
A:一般来说,通过两个技术面能够过滤出一些优质的候选人。一是前端基础,如 JS / CSS / HTTP;二是真正的编码能力。我虽然在第三轮的管理层面试上,但我通常也会要求候选人去答一个编程笔试题,以观察他的实际编码水平。
Q:应届生找工作时应该专注于哪方面?
A:一般而言,应届生面试考察的是基础,框架类的知识考察相对较少。因此应届生在找工作时,可以提前做一些基础性的学习,如果能对上文提到的五本基础性书籍做充分准备,相信你足以应对笔试和面试了。
Q:58 是使用 react 还是 vue ?我面试了好几家公司,似乎目前业界对 react 更感兴趣?
A:58 没有侧重于哪个框架,我们整个集团里有很多不同的前端团队,每个团队使用的技术栈差异较大,二者都有用到。
Q:前端学习 Node.js 必要吗?
A: 如今整个前端的构建其实是以 Node 为核心的。但如果是做纯前端开发的话,其实只需要去熟悉一些 Node 的常用工具,比如知道怎么使用一些构建工具或安装包,然后能够进行编译。当然,还是鼓励大家多开阔技术视野,练好基本功。另外,要选择前端主流的框架去适应前端开发的要求。
Q: jQuery 还有学习的必要吗?
A: 如果已经开始学 vue 了,jQuery 可以先不必着急。把 vue 学得更深入一些,比继续学习 jQuery 更加有效。因为人的精力有限,如果学得太广,有些技能点就吃不透了。
(下篇完)