当前位置: 首页 > 图文教程 > 网页制作 > 心得技巧 > 浅谈前端新人的职业规划

心得技巧
IE8 Beta 1两个地方需要大家注意
提高网站性能中内容有关的10条原则
网页设计者应该从三个方面优化网页
Web 设计 实现干净代码的12条定律[图文]
网页设计必备工具 firefox Web Developer插件 CSS工具组教程
UCenter Home 站点添加统计代码
9款很棒的网页绘制图表JavaScript框架脚本
提高网站可用性的10个小技巧
网站维护页面的列表制作技巧
B2C 网站用户体验细节设计参考
收集12个实用的网页在线工具
设计参考 漂亮和原创的博客设计
收集25个知名网站标志中使用的字体
极尽简约的网站设计实例
个性化创意鲜明的网站设计实例(30个)
水平滚动的网站设计 小结
更受欢迎 更具创造性的深底色网页设计实例
有创意的关于我们网页页面设计
整洁漂亮的网页设计的4项原则
设计参考 WordPress建站成功案例

心得技巧 中的 浅谈前端新人的职业规划


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-30   浏览: 143 ::
收藏到网摘: n/a

拿到淘宝offer已经有一段时间,西湖、百淘、D2、实习、各位前端牛人的亲身指导,美好的生活正向我招手。本来决定12月7号报道,但因为一些不可抗力,行程有变(事实上能否进入淘宝工作尚有变数)。在这焦急的等待过程中,还是静下心来,整理一下最近关于职业规划方面的诸多思考,希望能对和我一样的前端新人们有所帮助。

淘宝一面时,与一舟的谈话中很大一部分内容和自己的职业规划有关,二面时也和小马谈及许多关于前端未来的东西。后来试玩Google Wave,又心血来潮发起了一个《重构是否有必要单独作为一项职业》的问题。我承认,这个问题很讨打,尤其是对“重构界”的各位大大来说。想来也真是好笑,我实在太小心眼儿了,当初还在庆幸腾讯有一个专门的页面重构职位(因为我编程基础很差,只会CSS),被他们鄙视后,发觉了这职位其实大有学问,反而开始怀疑起它的必要性来。不过这个不是重点,重点是在这个怀疑的过程中,我对自己在前端领域该如何发展,有了更为理性和系统的认识。

前端新人哪里来?

我想相对于其他技术职位来说,前端算是最不挨踢的IT职位了。我注意到很多校招进来的“页面重构师”、“前端开发工程师”等等都是非计算机相关专业的(像我,木材科学…. 扯蛋~)。这当然是因为互联网行业吸引人以及html和CSS入门起点低,大学里尚能全民考C(计算机二级),全民做网页有什么不可以?而且,因为职位所处位置的交叉性,注定有很多前端人员是转行而来:

  1. 设计师转前端
    这个最常见。小公司里的“美工”至今还干着这样的工作 —— 出图(Photoshop) -> 切图(HTML/CSS)。我本人也是因为帮我姐(设计师+代码盲)切图才踏上前端这个道路的。搞设计出身的前端有一个优势是能更好地把握设计稿的表现重点,对于某些视觉设计师不合规范的操作能轻松地化解。劣势也很明显,缺乏数理基础,写出的代码不够严谨,JavaScript基础也普遍较差,不能做真正的“前端开发”。
  2. 后台程序员转前端
    淘宝的第一位前端工程师本身是写Java的,今年校招也有一位同学面Java结果被推到前端然后被录取的(哇,复杂的中文句式)。之所以现在前端有很多非计算机专业的人,还有一大原因是学计算机的都“不屑于”来搞前端。你说学四年计算机,结果跑去切图写CSS,丢不丢人?所以从后台转战前端的,一般也要去搞所谓的Web Apps,基于Ajax和各种复杂架构的Web运用。而这一技术方向,其实才是前端的大势所趋(下文再议)。
  3. 网虫转前端
    现在很多小孩,特喜欢上网,老打游戏也没意思,所以想学点互联网相关的东西,首选自然是前端了!(因为简单嘛。)有兴趣搞这些的90后,个个成了全才:Photoshop能玩,CSS能玩,php也能玩…… 包括奶瓶嘴作者在内的几位Twitter名人就是其中的典型…… 作为“互联网重度用户”,有一大优势,那就是对网页结构、交互需求的直观理解,懂得网民需要些什么,写出的程序也往往有更佳的易用性。当然,易用性要靠所谓“交互设计师”,不过,交互设计不也是前端的一部分么?

此外,还有很多在实践中成长起来的站长,也还是有一定的“前端修养”。可能他们最初就只是想搞几个站玩玩,在不断建站的过程中学到一些前端技术。有些人在前端方面精专下去,有些人则持续地做着重复性的工作或一直坐吃山空。此是题外话,不表。

前端新人何处去?

从不同渠道接触前端的同学自然会走不同的道路,而前端作为联系服务器数据与用户的纽带,作为视觉设计与程序逻辑的碾钵,也发散出很多不同的分支。

面试前准备自我介绍时我写过一些要点(后来因为紧张没有用上):

我认为平常做网页时,我能获得的心理满足包括:

  1. 设计中的美学体验
  2. 同时作为用户和设计师,完成一项交互产品时的参与感
  3. coding时的逻辑性对自己的锻炼
  4. debugging完成后的成就感

这其实大致描述了在前端领域可能面对的挑战——视觉,交互,前端开发。这也正是大部分互联网公司UED部门的职位划分。平常所说的前端,一般指狭义的“前端开发”,此文标题里所说的“前端新人”,也是指作为程序员的各位刚入行的前端开发者。程序员有什么成长轨迹,前端新人自然也八九不离十——一日千行代码,钻研细节成为技术大拿,自写程序贡献开源社区,出书立著;学习管理经验,负责团队项目架构,跳槽或创业,当老板赚大钱……

有一些搞前端的同学,投身这个职位时并没有意识到自己是名程序员(说实话,我本人现在对“程序员”这个称谓的认同感也不强)。他们进入这个行业的初期,就是一“做网页的”,或出于个人兴趣,或出于工作需求(传奇的网络工作部),可以说是在一种“全民有个站”的浪潮中成长起来的。他们什么都会一点儿,设计、交互、SEO、站点架构,都是在潜移默化中进行着无意识实践(或有意识的浅实践)。而一旦决定把“做网页”当做自己赖以谋生的职业,这样模糊的定位肯定行不通了。你要自信地对自己说:“其实,我是一名前端工程师(or 交互设计师 / 视觉设计师)。” 不然你就只能吃青春饭,干一些“笨活儿”,走不出一条可持续发展之路。

避免成为“死做网页的”
如果你一定要说我是做网页的,可不可以不要在前面加‘死’字。

个人觉得,现在搞前端的确是要什么都会,什么都要了解。在这种“大前端”的趋势下,先有一个明确的目标职业比较重要。你是更爱设计还是代码?亦或者用户研究更对你味?小公司(小项目)里没有那么明确的职能划分,要求你什么都会,这无可厚非,而且对你的成长很有帮助。但做到一定程度,确立一个能力重点,是十分有必要的。

拿“前端开发”这一块来说,有重视视觉的展示类站点,有重视交互的应用型站点,前端开发也自然地划分出两个方向—— 普通应用和RIA。普通应用只需单纯的psd2html,把psd文件转化成html。而RIA则需要和“广义前端”的各个部门分工协作,同时又兼具较高的程序员素养(算法、逻辑严密性,etc…)。话说回来,psd转html的过程也大有学问,很多CSS tricks让人抓狂,页面重构的细节多多,而且别忘了,它还是RIA的前期准备。考虑到将来Web应用的复杂性(交互越傻瓜化,支撑交互的脚本就越复杂),互联网产品的迭代周期越来越短,分工合作乃大势所趋。要避免成为“死做网页的”,就要理解这个“分工”与“合作”的过程,并在某一方面有所精专(要么CSS,要么JS,要么Flash),同时不断学习其他相关技能。

在这一点上,我坚持着两个信条:

  1. 不轻易重复自己
  2. 不断学习

不论做设计还是写代码,我都不喜欢重复自己。新鲜的布局往往让我激动万分。只要看到新的技巧,就要在下一个项目里亲自实践。这也是为什么我只做过五六个站(一些小练习不算),却能面上淘宝的原因(好吧,其实是因为运气,哈哈)。

而怎么选择自己的能力重点,也是一个问题。在面试前,我如此帮自己分析:
平时做整套网页,前端coding所花时间最多。项目需求、学习条件所限,导致我在网页视觉设计和交互设计上的学习,不及前端开发深入,可能还不能满足融入一个大公司团队的需求。而且前两者需要很强的沟通能力,相对来说,写代码的活儿独立性更强,应该更适合我一些。

现在想来也不无道理,但随着工作的深入,自身能力的提高,兴趣点发生转移也不是不可能。总之,无论如何选择职业,都以能实现自己已有长处,同时不埋没自己的潜能为准。

追随职业的发展需求

互联网瞬息万变,前端行业发展喜人,Web 2.0网站风光无限,同时也给从业者提出很多新的要求。而你跟随时代的脚步有多紧,很大程度上决定了你将来会有多成功。前端开发这一职位,将来会怎么发展;如果还有新人转过来,会是程序员们更适合,还是设计师们更适合?把这个问题想通了,也就预知了前端的未来。

HTML5/CSS3会带来什么?

HTML5新增了很多方便富应用的标签,CSS3新增了很多方便视觉设计的属性,这即能简化开发,也提供了功能实现上的更多可能。更强大的Web应用,更灵活而方便的构建方式,更需要前端人员具有“大前端”的思维。是理性的程序员更容易大起来,还是感性的设计师更容易呢?

IE6什么时候能死?

浏览器兼容一直是前端开发的重中之重。既是最费时也最无趣的部分,也是需要前端开发作为独立职位的一大原因。既有人抱怨“IE6去死吧!”,也有人说“IE6死了,我们就没工作啦”(当然,后者目光比较短浅)。IE6已经活了整整10年,上个月淘宝的访客还有70%是IE6用户。IE6一日不死,HTML5/CSS3这些新东西就一日不能全面部署。

不过,IE6生命力再顽强,它总归是会死的(浏览器标准会越发统一)。是否能把握先机,决定了你将来的竞争力。

跨平台,跨设备的前端

互联网前所未有地慎入移动设备。君不见,手机黄祸的影响力已经大道让家长们个个如坐针毡。作为前端开发人员,这些社会问题我们无力过问,但我们至少能看出,手机等移动设备上的开发潜力是非常大的。淘宝已经新成立了无限事业部,联通“iPhone拥有各种应用程序”的广告铺天盖地袭来,你还在等什么呢?

前端和后台同质化,交互与视觉何去何从?

所谓Web App被大力提倡,很多前端程序已经比某些后台程序还要复杂。当你投身于复杂的JavaScript海洋时,心中对交互和视觉还能保有多少敬畏?嗯,这个问题比较悬了,还待我真的能写得出复杂程序时再议。

安全、性能,你不可不知之事

这些东西,就是“专业”和“半罐水”的区别。互联网上有很多渠道可以接触这些新热点,我不再赘言。

算法,Geek的乐趣

JavaScript游戏,JavaScript绘图,酷炫的ActionScript动画,你能写出来几个?

你的意见呢?

我是不想再在前端方面干“笨活儿”了,所以我打算把技术文章都转移到 亲泥巴 – Kiss The Mud ,本文将是笨活儿博客上最后一篇前端技术相关的文章。各位大大,各位新人们,你对这个问题有什么看法?想听听你的意见。