Felix DingAn old-school Web designer who loves alternative rock, classical guitar, reading and writing.
我理想中的前端架构师
前端开发正变得越来越复杂,随着软件和应用逐渐Web化,可以想见以后前端开发将会成为一个独立的部门,它将拥有现在软件开发部门所拥有的全套人员,如架构师、系统分析员、开发工程师和测试人员等等。
我blog上有一位朋友留言询问我如何定义“前端架构师”这样一个职位。虽然我没做过专职的前端开发,但一直都在参与相关的工作,甚至还曾经面试过“前端架构师”这个职位。因此结合我的个人经验,我理想中的前端架构师,应该是如下这个样子的:
职责:
提升网站的前端性能,保证前端应用具有跨浏览器和跨平台兼容性及可访问性
保证前端团队的编码质量,提升其工作效率
创建并完善内部所使用的前端工具和框架
定义与后端工程师合作的边界、标准化与后端程序的接口
技能:
精通前端开发技术和Web标准
至少精通一门后端程序语言,如PHP、Ruby、Python或Java等等
精通面向对象和各种设计模式
理解Web如何工作,如HTTP协议、Apache或Nginx等等
熟练使用各种相关的工具,如Subversion、Unix/Linux shell、VI或Emacs等等
了解交互设计的基本知识
沟通能力强,能够领导团队共同进步
我分别解释一下。
首先说职责。其中前两条应该算是架构师的一个基本职责了,无须赘述;第三条“工具和框架”很重要,有了好的工具和框架,网站的设计规范才能更顺利的得以实施,这点在以前的两篇文章中谈到过(说说互联网公司内设计师的分工和为什么网页设计不应强调分工1、2);第四条“边界和接口”实际上以前也谈到过,这个意思就是说,后端程序只给数据,所有的页面逻辑和展现都交给前端来做。现在许多新兴的Javascript框架(如JavascriptMVC和SproutCore)都号称可以脱离后端程序、直接靠test fixtures就能独立运行,我觉得这就是对我这个观点的最好证明。
接下来说技能。技能确实没什么好说的,大部分都是一个前端开发工程师所应具备的技能。其中第二条对后端语言的掌握和第三条对设计模式的理解,实际上是相当一部分前端工程师所欠缺的(我就不懂设计模式),因此特别加上。
最后要说的是,各个团队需求不同,对工程师的要求也就不同。如果你不同意上文中的某些地方,可以留言说说你遇到的情况。
Comments
Leave a comment
© 2000-2012 dingyu.me (formerly known as heartstringz.net), all rights reserved. Don't click me.
恩,都是很基本的要求。我觉得还有一点是比较重要的,不仅需要定义与Server端工程师的接口与合作,同时还要与设计师有良好的沟通(非交互)与合作。因为如果前端工程师是企业价值的体现,那么设计师就是企业形象的代表(第一印象很重要)。
每次和后台接口, 我都会写一份doc文档
注明详细的功能, 命名, 参数来去传递, 传递方式, 特殊情况....
好累
职责的前两项是技能的话后两项就算是管理吧。各个WD部门都在“前端工具和框架”,“与后端工程师合作的边界”,"标准化与后端程序的接口".做着闭门造车的努力。
很少看到有谁来分享自己的“最佳实践”。
Sign.......
PS.刚还看到一堆评论来着,转眼就没了.....
@zszen 你的文档是怎么写的?可否拿出来分享?
@ABDVL 1)职责的四项都是职责,当然管理也是一种职责 [emoticon:clin_oeil] ;2)是否闭门造车要看架构师或者管理者的眼界了,至少我们的项目组会仔细评估已有框架,并打算将自己的框架开源(如果最终决定自己做的话); 3)有人发垃圾留言,被我拉黑名单了,话说LT的毛毛就是好用啊,哈哈。
[emoticon:mdr]
恩最近对这个也有些迷茫