我理想中的前端架构师

2010-03-08 19:07:16 / Front-End Programming / 6 comments

前端开发正变得越来越复杂,随着软件和应用逐渐Web化,可以想见以后前端开发将会成为一个独立的部门,它将拥有现在软件开发部门所拥有的全套人员,如架构师、系统分析员、开发工程师和测试人员等等。

我blog上有一位朋友留言询问我如何定义“前端架构师”这样一个职位。虽然我没做过专职的前端开发,但一直都在参与相关的工作,甚至还曾经面试过“前端架构师”这个职位。因此结合我的个人经验,我理想中的前端架构师,应该是如下这个样子的:

职责:

  1. 提升网站的前端性能,保证前端应用具有跨浏览器和跨平台兼容性及可访问性

  2. 保证前端团队的编码质量,提升其工作效率

  3. 创建并完善内部所使用的前端工具和框架

  4. 定义与后端工程师合作的边界、标准化与后端程序的接口

技能:

  1. 精通前端开发技术和Web标准

  2. 至少精通一门后端程序语言,如PHP、Ruby、Python或Java等等

  3. 精通面向对象和各种设计模式

  4. 理解Web如何工作,如HTTP协议、Apache或Nginx等等

  5. 熟练使用各种相关的工具,如Subversion、Unix/Linux shell、VI或Emacs等等

  6. 了解交互设计的基本知识

  7. 沟通能力强,能够领导团队共同进步

我分别解释一下。

首先说职责。其中前两条应该算是架构师的一个基本职责了,无须赘述;第三条“工具和框架”很重要,有了好的工具和框架,网站的设计规范才能更顺利的得以实施,这点在以前的两篇文章中谈到过(说说互联网公司内设计师的分工和为什么网页设计不应强调分工12);第四条“边界和接口”实际上以前也谈到过,这个意思就是说,后端程序只给数据,所有的页面逻辑和展现都交给前端来做。现在许多新兴的Javascript框架(如JavascriptMVCSproutCore)都号称可以脱离后端程序、直接靠test fixtures就能独立运行,我觉得这就是对我这个观点的最好证明。

接下来说技能。技能确实没什么好说的,大部分都是一个前端开发工程师所应具备的技能。其中第二条对后端语言的掌握和第三条对设计模式的理解,实际上是相当一部分前端工程师所欠缺的(我就不懂设计模式),因此特别加上。

最后要说的是,各个团队需求不同,对工程师的要求也就不同。如果你不同意上文中的某些地方,可以留言说说你遇到的情况。

Comments

Y.Jiajia
Y.Jiajia about 2 years

恩,都是很基本的要求。我觉得还有一点是比较重要的,不仅需要定义与Server端工程师的接口与合作,同时还要与设计师有良好的沟通(非交互)与合作。因为如果前端工程师是企业价值的体现,那么设计师就是企业形象的代表(第一印象很重要)。

zszen
zszen about 2 years

每次和后台接口, 我都会写一份doc文档
注明详细的功能, 命名, 参数来去传递, 传递方式, 特殊情况....

好累

ABDVL
ABDVL about 2 years

职责的前两项是技能的话后两项就算是管理吧。各个WD部门都在“前端工具和框架”,“与后端工程师合作的边界”,"标准化与后端程序的接口".做着闭门造车的努力。
很少看到有谁来分享自己的“最佳实践”。
Sign.......
PS.刚还看到一堆评论来着,转眼就没了.....

丁宇
丁宇 about 2 years

@zszen 你的文档是怎么写的?可否拿出来分享?

@ABDVL 1)职责的四项都是职责,当然管理也是一种职责 [emoticon:clin_oeil] ;2)是否闭门造车要看架构师或者管理者的眼界了,至少我们的项目组会仔细评估已有框架,并打算将自己的框架开源(如果最终决定自己做的话); 3)有人发垃圾留言,被我拉黑名单了,话说LT的毛毛就是好用啊,哈哈。

望飞
望飞 about 2 years

[emoticon:mdr]

JOY
JOY about 2 years

恩最近对这个也有些迷茫

Leave a comment