浅谈前端新人的职业规划(2)
前端新人何处去?
从不同渠道接触前端的同学自然会走不同的道路,而前端作为联系服务器数据与用户的纽带,作为视觉设计与程序逻辑的碾钵,也发散出很多不同的分支。
面试前准备自我介绍时我写过一些要点(后来因为紧张没有用上):
我认为平常做网页时,我能获得的心理满足包括:
- 设计中的美学体验
- 同时作为用户和设计师,完成一项交互产品时的参与感
- coding时的逻辑性对自己的锻炼
- debugging完成后的成就感
这其实大致描述了在前端领域可能面对的挑战——视觉,交互,前端开发。这也正是大部分互联网公司UED部门的职位划分。平常所说的前端,一般指狭义的“前端开发”,此文标题里所说的“前端新人”,也是指作为程序员的各位刚入行的前端开发者。程序员有什么成长轨迹,前端新人自然也八九不离十——一日千行代码,钻研细节成为技术大拿,自写程序贡献开源社区,出书立著;学习管理经验,负责团队项目架构,跳槽或创业,当老板赚大钱……
有一些搞前端的同学,投身这个职位时并没有意识到自己是名程序员(说实话,我本人现在对“程序员”这个称谓的认同感也不强)。他们进入这个行业的初期,就是一“做网页的”,或出于个人兴趣,或出于工作需求(传奇的网络工作部),可以说是在一种“全民有个站”的浪潮中成长起来的。他们什么都会一点儿,设计、交互、SEO、站点架构,都是在潜移默化中进行着无意识实践(或有意识的浅实践)。而一旦决定把“做网页”当做自己赖以谋生的职业,这样模糊的定位肯定行不通了。你要自信地对自己说:“其实,我是一名前端工程师(or 交互设计师 / 视觉设计师)。” 不然你就只能吃青春饭,干一些“笨活儿”,走不出一条可持续发展之路。
避免成为“死做网页的”
如果你一定要说我是做网页的,可不可以不要在前面加‘死’字。
个人觉得,现在搞前端的确是要什么都会,什么都要了解。在这种“大前端”的趋势下,先有一个明确的目标职业比较重要。你是更爱设计还是代码?亦或者用户研究更对你味?小公司(小项目)里没有那么明确的职能划分,要求你什么都会,这无可厚非,而且对你的成长很有帮助。但做到一定程度,确立一个能力重点,是十分有必要的。
拿“前端开发”这一块来说,有重视视觉的展示类站点,有重视交互的应用型站点,前端开发也自然地划分出两个方向—— 普通应用和RIA。普通应用只需单纯的psd2html,把psd文件转化成html。而RIA则需要和“广义前端”的各个部门分工协作,同时又兼具较高的程序员素养(算法、逻辑严密性,etc…)。话说回来,psd转html的过程也大有学问,很多CSS tricks让人抓狂,页面重构的细节多多,而且别忘了,它还是RIA的前期准备。考虑到将来Web应用的复杂性(交互越傻瓜化,支撑交互的脚本就越复杂),互联网产品的迭代周期越来越短,分工合作乃大势所趋。要避免成为“死做网页的”,就要理解这个“分工”与“合作”的过程,并在某一方面有所精专(要么CSS,要么JS,要么Flash),同时不断学习其他相关技能。
在这一点上,我坚持着两个信条:
- 不轻易重复自己
- 不断学习
不论做设计还是写代码,我都不喜欢重复自己。新鲜的布局往往让我激动万分。只要看到新的技巧,就要在下一个项目里亲自实践。这也是为什么我只做过五六个站(一些小练习不算),却能面上淘宝的原因(好吧,其实是因为运气,哈哈)。
而怎么选择自己的能力重点,也是一个问题。在面试前,我如此帮自己分析:
平时做整套网页,前端coding所花时间最多。项目需求、学习条件所限,导致我在网页视觉设计和交互设计上的学习,不及前端开发深入,可能还不能满足融入一个大公司团队的需求。而且前两者需要很强的沟通能力,相对来说,写代码的活儿独立性更强,应该更适合我一些。
现在想来也不无道理,但随着工作的深入,自身能力的提高,兴趣点发生转移也不是不可能。总之,无论如何选择职业,都以能实现自己已有长处,同时不埋没自己的潜能为准。
追随职业的发展需求
互联网瞬息万变,前端行业发展喜人,Web 2.0网站风光无限,同时也给从业者提出很多新的要求。而你跟随时代的脚步有多紧,很大程度上决定了你将来会有多成功。前端开发这一职位,将来会怎么发展;如果还有新人转过来,会是程序员们更适合,还是设计师们更适合?把这个问题想通了,也就预知了前端的未来。