Designer Architect Developer
30 Dec 2013最近读了Github联合创始人mojombo的一篇文章《Designer, Architect, Developer》,觉得很不错,但原文被墙了,便试着翻译了一下,转述在此:
在过去的六年里,我创办了三家成功的公司(Cube6 Media, Gravatar 和 GitHub)。
在对我的这些经历进行了反复的思考之后,我总结了做出一个成功的网站应该具备的三个主要技巧。这三个要素可以大致归纳为:设计师,架构师和开发者。
上大学的时候,我花了很多时间待在学校的暗房里。在昏暗的红色灯光下,我把一卷卷的胶卷和一摞摞的相纸浸在药水里。然而最有趣的部分是看阴离子上升到投影仪里,然后使相纸感光。每当我打开投影仪的大灯的时候,我都会想到那句让我至今无法忘怀的话:“照片就是光的产物。”仔细想想这句话。人通过照片来了解事物的唯一途径,就是那些被相机捕捉到的光。如果设置出来的光线不好,那么那些闪光灯、柔光箱、反光伞、幕布就都失去意义了。只要光线不好,那么拍出来的照片也一定不好。
我认为这一原理同样适用于网站开发。把上面的话套用到我们我们自己的产品里,那就是:“网站就是设计的产物。”用户看不出来你用了多先进的技术或用没用敏捷开发。他们体验到的仅仅是屏幕上显示出来的东西。所以不能让用户迷惑,不能看上去很不专业,不能有拼写错误。如果用户体验很差,那么这个网站就很差,道理就这么简单。
创造好的用户体验的办法就是有一个好的设计师。你的团队里必须有一个这样的人,他不仅能作出好看的网站,而且能让网站非常好用。如果没有好的设计师,你还是别做网站的好,因为这样的话你是无法意识到设计是有多么重要的。
设计先行。设计决定了你该做一个什么样的东西。一旦你明白了自己想要做什么,那么你就必须想办法让它实现。这就需要架构师的帮忙了。
这是一个开源的时代,像数据库、网站架构、后台任务处理、消息系统等等这些通用的解决方案开始大爆发。你需要一个对整体技术架构有着非常广泛了解的人。你在早期作出的选择将会影响公司很多年,所以一个错误的决定会招致灾难性的后果。架构师的职责就是为工作选择正确的工具,并且在需要的时候创造出新的工具。
当网站开始吸引用户的时候,架构师就必须密切关注网站的每一部分。当成千上万的用户一波一波注册时,在过早优化和濒临崩溃之间存在着一个微妙的平衡点。一个好的架构师一定会提前预见到未来的发展需求并为此做好准备工作,他们永远多想一步,从而避免网站崩溃。
设计师和架构师决定了你要做什么和怎么做。但是如果没有人把二者结合起来的话,你永远也做不出产品。此外,开发者的要保证代码结构良好,以防止以后变更带来的麻烦。开始时的粗心大意会让后面做大量的无用功。
也许有的人集这三个角色与一身,当然更常见的是一个团队中的两到三个人来担任这些角色。事实上,最好的创业团队是每个人都同时是设计师、架构师和开发者。这样的话能形成一个良好的讨论的环境,在这个环境下会促成更好的决策的产生。
不管你做什么,你都要保证团队里有这么三个角色。一旦你做到了,你的想法实现起来就会特别简单了!