互联网的热潮让前端工程师变成了香饽饽,优秀的前端工程师更是如众星捧月一般,一时间让这个新鲜行业门庭若市,但是前端工程师入门容易精通难,怎样才能成为一名优秀的前端工程师呢?
梳理知乎上的高票回答,总结几篇牛人博客,发现不外乎几点:技术牛,沟通好,持续学习很重要。
首先技术,就像盖房子,没有地基你要怎么盖?前端工程师必须得掌握HTML、CSS和JavaScript,这是成为前端工程师的基石,只懂其中一个或两个还不行,你必须对这三门语言都很熟悉。不说必须对这三门语言都非常精通,但你至少要能够运用它们完成大多数任务,而无需频繁地寻求别人的帮助。
掌握基石之后,你就要过一段“多写多练”的日子了,当然这还只能算基础。熟能生巧,很多问题都是积累得来的。写了,遇到了,才能去真正理解解决方案,才会随着自己的不断成长而有进步。
写了一段日子你会碰到很多问题,“多想&追根溯源”就是下一阶段的tips了。遇到问题的时候,你不能只解决当下的问题就结束了,你需要花点时间去理解问题的本源。比如浏览器,对浏览器渲染问题的总结到位了吗?能说出已知的浏览器兼容性bug和对应的解决方案嘛?为什么用这种方法就能解决这个bug,背后的原理是什么?还比如,大家都知道“overflow:hidden”可以清除浮动挽救高度塌陷,但是什么原理使得这个方法可以做到这一点呢?或者又是因为浏览器如何渲染才导致clear属性可以清除浮动呢?如果你的基础只是足够扎实,你就会知道设置了clear属性的元素会通过自动填满(补足)其上外边距(margin-top)来实现视觉上的清除浮动,所以如果设置了clear属性来清除浮动的元素,那么再对其设置margin-top会不起作用。再深入一层,什么情况下margin-top会不起作用呢?答案有哪些?
到这这个阶段,技术上你已经是资深了,但是前端工程师与UI,与产品经理,与终端用户的紧密接触的属性要求你,你还必须要有具备良好的沟通能力,在任何情况下,前端工程师至少都要满足下列四类人的需求。
产品经理——这些是负责策划应用程序的一群人。他们能够想象出怎样通过应用程序来满足用户需求,以及怎样通过他们设计的模式赚到钱(但愿如此)。一般来说,这些人追求的是丰富的功能。
UI设计师——这些人负责应用程序的视觉设计和交互模拟。他们关心的是用户对什么敏感、交互的一贯性以及整体的好用性。他们热衷于流畅靓丽但并不容易实现的用户界面。
项目经理——这些人负责实际地运行和维护应用程序。项目管理的主要关注点,无外乎正常运行时间——应用程序始终正常可用的时间、性能和截止日期。项目经理追求的目标往往是尽量保持事情的简单化,以及不在升级更新时引入新问题。
最终用户——当然是应用程序的主要消费者。尽管我们不会经常与最终用户打交道,但他们的反馈意见至关重要;没人想用的应用程序毫无价值。最终用户要求最多的就是对个人有用的功能,以及竞争性产品所具备的功能。
前端工程师处于与这四类人沟通的交汇点上,其沟通能力的重要性不言而喻。优秀的前端工程师必须知道如何平衡这四类人的需求和预期,然后在此基础上拿出最佳解决方案。如果一个非常酷的新功能因为会影响前端性能,必须删繁就简,你怎么跟产品经理解释?再比如,假设某个设计如果不改回原方案可能会给应用程序造成负面影响,你怎么才能说服UI设计师?作为前端工程师,你必须了解每一类人的想法从何而来,必须能拿出所有各方都能接受的解决方案。从某种意义上说,优秀的前端工程师就像是一位大使,需要时刻抱着外交官的心态来应对每一天的工作。专业技术可能会引领你进入成为前端工程师的大门,但只有运用该技术创造的应用程序以及你跟他人并肩协同的能力,才会真正让你变得优秀。
如果你已经到了这个段位,恭喜你,你已经离“优秀的前端工程师”只差最后一小步了:持续的学习。优秀的前端工程师应该具备持续学习能力。优秀的Web前端开发工程师需要既有广度又有深度的知识体系,只有持续的学习,你才看得见未来的趋势,跟得上技术发展的步伐。
网友评论