本文转载自GitChat的一篇文章。
大家好,我是王超,一名前端工程师。从最早的人人网,到奇虎360 ,再到现在的快狗打车。转眼一瞧,我在这个行业已经是一位 8 岁的“前端老人”了。
非计算机专业出身的我从事前端这个行业,确实经历了很多的挫折,走了很多弯路。但现在回首自己的职业经历,每一个选择都至关重要,每一份经历都有不一样的收获。
01毕业生第一份工作千万不能选错
我毕业后第一份工作是在一家广告联盟公司做 flash 广告设计和平面设计。
当时的我心中规划着未来能在 flash 技术上做出一些成果,也买了一些设计和 Flash 相关的书去研究。但是一旦选择错了,再努力也很难取得一个好的结果。
让我焦虑的是随着 Web2.0 时代的到来,Flash 技术已经逐渐在走下坡路了,这条路可能是条死路。
后来公司来了一个做前端的同事,通过多次交谈了解之后我转行了前端。现在来看,自己最终找到了一个正确的航道。
在这里建议刚刚毕业的大学生们,找第一份工作一定要仔细调研,争取少走弯路。
平台对新人很重要,好的平台会让新人有很好的成长起点,而且在有经验的前辈的提携下,新人成长得更快,为以后的职业发展奠定良好的基础。
02在人人网见证从 PC Web 到移动 Web 的跨越
在人人网工作的那段时期,正赶上前端从 PC Web 开发过渡到移动 Web 开发。
那两年多里,无论是 PC 上的开发还是移动上的开发都做了很多尝试,比如 PC 各种浏览器厂商的兼容问题,移动端上各种机型的适配问题,使用 CSS3 实现各种新特性。
此时,大环境下的前端领域也在发生快速的变化,像Angular、React 等现代前端框架已经开始出现。而人人在那时依旧使用传统的原生 JS、jQuery 重复性地完成项目,自己的技术也进入了一个瓶颈期。
面对瓶颈,我决定离开人人网,换个环境来突破。
03奇虎360 的成长:越痛苦提升越快
360 这边的技术体系很完善,前后端分离开发、前端部署平台化、上线前代码自动 diff,新技术的应用、定期的技术交流。
入职之初我做项目很吃力,因为从开发框架 Backbone、React 到构建工具 Webpack,再到开发方式使用 Linux 开发机,所有的东西都是新的,感觉哪哪都不会。
我足足用了半年的时间,直到和同事一起使用 React 重构 360 地图,才完全熟悉和适应。
让我觉得无比痛苦的时候恰恰是自己提升最快的时候。
04快狗的挑战:建设前端工程化体系
快狗打车早期的前端开发方式比较原始。首先是前后端不分离,整体研发效率很低。
其次前端同学只负责切页面,技术栈陈旧,完全落后于业内先进的团队,前端工程化体系的建设为零。
担任快狗前端负责人后,我开始着手推进前端工程化。
首先就是升级技术栈,并进行前后端分离,之后又建设了前端部署平台。
为了最大化降低开发成本,提升开发效率,又陆续推出了团队的组件库、脚手架、以及性能监控平台等逐渐形成了完善的前端技术体系,快狗的工程化程度大大提升。
作为团队负责人从无到有搭建技术体系确实是一个挑战,尤其是对新晋的负责人来说。
这次的挑战让我领悟到,技术体系建设要以解决业务痛点为目的。
任何的技术工具和平台建设都不能脱离这个目的,不能仅仅为了试用一下某项技术或者好玩就去搞。否则很可能是白白浪费了研发成本,却很难在团队中推广使用,无法产生价值。
技术体系建设要充分讨论后再实施。方案的设计讨论清楚了,才能避免将来各种问题的出现。建议将 70% 的时间用在方案设计和讨论上,30% 时间用在工具和平台的研发上。
05从切图仔到前端 leader,如何跨越式成长
从事前端开发这个职业七八年了,既经历过工程化程度极低的开发方式,也见证了这几年前端领域工程化水平的大幅提升。
作为这个过程的亲历者和实践者,自己既做过所谓的"切图仔",也作为团队负责人从无到有规划建设过完善的前端技术体系。
希望自己在工程化方面的一些实践经验能给大家带来帮助。
我相信每个踏入前端行业的同学都有着一颗热爱学习的心。
前端行业不如后端那么成熟稳定,一直在高速地推陈出新,每年都会有新的框架出来。但每个人的精力有限,都希望投入有限的精力,学到最有价值的东西。
前端的小伙伴应该能够很明显地感觉到,在面试过程中,各大公司面试官已经非常注重工程化能力的考察了。
一方面是由于大公司本身业务复杂,相应的前端工程化程度高,配套的基础设施很成熟,对人员的要求自然很高。另一方面,现在的前端开发都是在一些先进的工程化工具基础之上,比如 React、Vue、Sass、Webpack 等。
只有具备良好的工程化能力,才能更好地应对日益复杂的开发任务,才能更容易进入大公司。
关注我,每天发布最新的IT技术文章。