为什么感觉前端发展缓慢
Q: 这几年前端技术风起云涌,HTML5, CSS3, Mobile, NodeJS 等,业界讨论得很多,但在淘宝网公司内部,在我们的日常工作中,并没有感受到多少“激荡”。这究竟是为什么呢?如何改变?
A: 下面是我的回答:
离开 UED, 在产品技术部待了好几个月了,有个很强烈的感觉:
UED 前端的技术价值,更多的体现在对交互的理解和视觉设计的还原上。
后端开发人员,不怕 JavaScript,甚至有不少人员的水平很不错,从代码的组织到实现,稍微培训培训,就能写好。兼容性问题,也能通过 kissy / yui / jquery 等类库来规避。
但要一个后端开发人员去根据设计稿,写出 HTML 和 CSS, 那简直是痛苦得要命的过程,impossible.
前端最近一两年,涌现的新技术中,HTML5 和 CSS3 等,是非常有利于 UED 前端的价值体现。可恨的是淘宝的大部分线上应用还受限于 IE6-8,缺少真实用武之地,这导致去研究去用的人非常有限,这可能就是感觉前端发展慢的原因之一。
涌现的新技术中,有 CommonJS、NodeJS 等纯脚本技术,这些技术的提倡和研究者大部分自身就是后端开发人员,需要有服务器端的开发经验和领域知识。比如我认识一个 Java 工程师,他想搞一个轻量级 web 开发框架,我给他推荐 express, 他立刻就能问出比较深刻的问题,并开始对 express 进行源码图解。seajs 也有类似的遭遇,我遇到喜爱 seajs 里人里面,后端开发居多。这部分新技术,由于纯前端工程师缺乏相应的工作经验和领域知识,导致应用这些新技术时会遭遇屏障,这是感觉前端发展慢的原因之二。
还有一个因素是淘宝本身的业务。绝大部分业务依旧是偏 web pages 的,技术架构沉淀至今也相当成熟,成熟是好事,但也意味着很难推动变化。在对新型应用的开发上,比如类 Twitter 的项目,我们的积累和摸索则又还不够。这些因素综合起来,是感觉发展慢的原因之三。
我想作为前端,无论在不在 UED,如果想坚持走技术路线,最关键的是:
1、保持自身优势。(对交互的深度理解和对视觉的高保真还原)
2、让优势更具优势。(比如储备 HTML5 和 CSS3 方面的经验)
3、虚心学习后端知识。(JavaScript 要爆发,得知晓后端开发,以及各种领域知识)
4、用技术驱动业务创新。(敢于尝试新技术,用开放的心态,打造专业的人生)
最后,鼓励大家多转岗。多看看外面的世界,千姿百媚风情无限。
如何选择发展方向
Q: 前端知识面越来越广,当然这是机会,但也会让前端们困惑,到底应该往哪方面去发展,比如前端测试、无障碍体验,这些都是非常独立的科学,集大成非常之难,而专一个是否又会受 Job Model 限制?很多人都在照着手电筒探索前进。
A: 我的想法:
这个我还是推荐这篇文章:像树一样成长。简言之:从事某个职业,在 3 – 5 年之内,建议尽量多接触各种知识,尝试各种方向,尽量让树干浑圆厚实。比如日常、项目、HTML5、小工具、项目管理等等,试过了,才能知晓是否擅长,是否喜欢。
但在工作 3 – 5 年之后,得挑好一个自己擅长并喜欢的方向。比如目前淘宝前端里,小马选择了前端布道、圆心选择了前端管理、我选择了富应用开发,还有云谦目前钻研于前端测试,以及清羽、龙藏、文河、沉鱼等等,有舍才有得。方向无好坏之分,你在某个方向上,做出了成绩,生长到高空中的枝桠,是很容易被看见,任何人都否认不了的。至于 Job Model, 只是一个参考,可以根据实际情况不断修订,不必拘泥。
前端现在的方向是太多了。随便那一个,深钻下去,都会是一片广阔天地。比如无障碍访问,很小的一个点,但深挖下去是有相当多内容的。要有兴趣,更要有坚持。
方向的选择上,有一个重要的考虑因素:要想清楚如何与公司的具体业务挂钩。这样,可以使得投资回报率最高。毕竟,我们的工资奖金来自公司。公司业务蓬勃了,我们的口袋也才能鼓涨起来。
大部分情况下,方向是靠自己观察出来的。公司需要什么?我可以做什么?从真实项目中去感触去探索,一堆事情可以做,关键是,我们能否做好,能否突破。
如何在日常工作中突破
Q: 一线前端往往容易埋入繁杂的需求不可自拔,每日应付频繁又单调的需求。他们盼望往更高的目标发展、盼望接触新技术、盼望将新技术运用到日常工作,我们能给予他们怎样的支持?
A: 我的想法:
这个问题,我不是很理解。日常工作中也充满机会,有些看似挑战性很大的项目其实也极其细琐无聊。我现在也经常得处理很多琐碎的日常工作,但正是这些工作,能让我保持一线工作的真实感受。这种真切感受,不是管理层开开会能知晓的。而机会则正孕育在这些感受中。
你感觉到乏味了,你觉得在重复低级工作、在浪费生命时,你内心不安现状的号角就已经吹响。号角声越发激扬,会越让你去思考如何避免,如何改进。比如自动化工具的开发,比如 IntelliJ IDEA 和 Git 等新工具的尝试,比如 KISSY 和 SeaJS 的研发,这一些,是因为厌倦了重复劳动,是因为想摆脱乏味。枯燥是创新的源泉。如果你发现自己没什么新想法,做事缺少激情,很可能是因为你还未曾体验过真正的枯燥的工作。
此外,好马自己去寻找伯乐,主动发起,主动参与。至于时间,如果需求太多,忙不过来,是否想过主动反馈给主管?反馈给需求方?一切都可争取都可商量。不存在必须做的事情,那只是管理层的美好欲念。关键是要有想法,要有新思路,并能说服管理层让你有时间去做。
前端技术,目前处于风起云涌的时代,不要期待有谁能充当方向的指引者。我不行,铁木真估计也够呛,马云更飘在云端。得用自己的眼去观察,用自己的心去感触,条条大路通牛 P. 努力去找到自己喜欢并擅长的。
总之,要懂得选择,学会放弃,要耐得住寂寞,经得起诱惑,能做到这四点,想不成功都难。