先给前端工程师的工作下个一句话定义:运用前端技术,实现体验的良好传达。如果在前面加上 Web,那么是针对 Web 这个领域的,主要是互联网,也可以将移动通信网络和其他传媒网络(比如IPTV)包含在内,因为其理念是一致的。
现在要在未毕业的学生中找到一个符合技能条件的 Web 前端工程师可以说是少之又少。而相关领域的从业者,又因为不被重视、干杂活、薪水低等原因,觉得选错了行当,又停止了在这个方向上的努力学习。最终导致企业招不到一位满意的 Web 前端工程师。这涉及到两个定位的问题,即 1) 企业如何给Web前端工程师定位,2) Web 前端工程师如何定位自己。前者等下次有机会再谈,先讲后者。
Web 前端工程师如何定位自己?
首先,这是很有前途的工作。卫哲曾经对大学生择业提出这样的建议:第一选择新行业,第二选择新企业,第三选择新部门。互联网行业相对传统行业,算是新行业;现在创业公司很多;Web 前端工程师又是一个新的岗位。中国的 Web 前端工程师正在起步,会有很好的发展。
然后, 想一下自己是否适合和喜欢这份工作。Web 前端工程师并不是设计师,我更倾向于将这个岗位定位为开发人员。这个岗位上每天接触的更多的仍然是代码、代码、代码。如果你喜欢的是设计,那么应该适当调整自己的学习重点。Web 前端工程师应该是那种完美主义者,或者有一定程度洁癖,天蝎座较佳,更像程序员。术业有专攻,自己多想想自己的职业规划。
最后,通过努力找到好的雇主。如果你将自己定位为 Web 前端工程师,那么去投靠对该岗位有一定认识的公司比较合适(推荐一下淘宝)。在这样的公司里面,会有明确的职位说明和职责范围,以及良好的培养计划。在这样的公司能够有比较好的发展。
但是,如果你现在还不具备应有的一些技能,那么也可以从“美工”开始接触起。起码几年之内,这个岗位的空缺还是很大的。在这样的岗位上,卧薪尝胆个一两年,同时注重自身知识水平和思想的提高,对 Web 前端工程师就更近一步了。
下面看看几家公司工程师对前端工程师的价值理解。
豆瓣前端
认为前端工程师正慢慢演变为产品工程师。wap app, 响应性UI等以html5技术为基础的开发将成为前端工程师的主要工作内容,解决产品跨平台跨设备的实现问题。Javascript, HTML, CSS这些前端工程师熟悉的,多年使用的语言,作为开放标准将被各种平台所支持。产品形态和数据的分离是形势所趋。移动时代对产品形态多元化的要求虽然可以靠不同技术分别实现,但要付出巨大的成本。这也是html5这个04年就提出来的标准,直到前两年才火爆的原因。
现阶段的价值也很大。web产品交互越来越复杂,用户使用体验和网站前端性能优化,这些都需要专业的前端工程师来解决。另外,在项目中还要弥补设计师在交互设计上的不足,前端工程师在开发过程中起着重要的承上启下的作用。一两个前端工程师就可以让整个开发并行起来,让设计到实现的转换更顺利。明智的公司应该贮备前端工程师资源。
我不认为前端工程师和产品经理有什么关系。好的前端工程师一定会成为好的交互设计师。前端工程师对信息架构的理解应不亚于专业的交互设计师。
新浪前端
作为前端工程师最核心的价值或者说是责任,就是将大伙的所有心血和努力最终要完美地呈现给用户。在一个技术开发团队中,无疑离用户最近的人就是前端,其次是UI、UE和产品,然后是后端、DBA和系统工程师。
如果说一个技术开发团队就是一支足球队的话,那么前端工程师无疑就是前锋,他接到队友们倾力传到脚下的球,他责无旁贷,要做的就是必须将球准确无误地打入对方的球门..... 他有两点必须是非常清楚:1、他必须清楚在对方球门与自己之间存在着哪些阻碍;2、他必须清楚如何破除这些障碍将球直至门网..... 他也应该要是所有队员中对这两点最为清楚的人。
每个球队都有自己的明星,可以是锋线杀手、可以是中场战车、可以是超级后卫、也可以是神奇门将、甚至可以是救火教练。而且相信球场上任何一个位置的优秀球员,都有可能在后场断球长途盘带奔袭射门,球进!但任何一支优秀的球队都必须有两类分工,前场球员想的是赢得比赛,后场球员想的是不能输掉比赛,各司其职才能卓越。
而作为一名称职的前锋,你必须是球队里,进球最多、射门技术最好的那一个,否则你还有什么价值可言呢....
百度前端
应该来讲有三条路,一个是向前走,一个是向后走,另外一个是一直做前端,深入下去。向前即是克军所说的往用户体验与交互设计甚至产品设计师上走,这是最能体现前端价值的了,即用户体验,大多人会往这方面走;
向后走就是做Web开发,往数据库和后台开发方面走,不再区分前后端,大家深入产品的研发实现,这条路就是与软件工程师融合的路,这是的价值就体现在对于业务功能的实现上;
最后还有的是一直深入做前端开发,比如前端各类库与框架的架构设计,W3C各种标准深入研究,对于JavaScript语言本身的研究,对浏览器的原理分析,对于网络传输协议的原理分析等等,这条路要深入下去很不容易,因为涉及很多原理与根本性的东西,所以走的人也不是很多。
当然了,还有一些彻底离开了前端甚至软件开发,转行专门做产品或者做业务运营。可能会因为有不错的技术背景有一定的优势呢。