在互联网产品相关职能中,有部分叫做前端开发(front-end web developer)的工作,到底属于设计还是技术?我个人认为是既要设计水准也要技术含量,不过讲起来似乎有点矛盾。曾经争论不休,因为之前的软件项目管理从没有涉及,这也就是曾经说过,除可用性外只互联网产品才有的可访问性、兼容性、标准化等指标。
通过前端开发的例子更能证明,考虑web-based的可用性和可访问性必然至少了解客户端代码(不是第一次第二次提了),这是我们职业生涯进阶的门槛。因为构成互联网产品基础的就是每个客户端页面,否则所有idea只建立在空中花园之上。尤其项目管理中,90%的矛盾来源于沟通不善,90%的沟通不善来源于知识结构不对等。
在网站产品管理发展相对成熟的过程中,几乎所有公司都是把前端开发安排在产品团队的组织体系之下。从这点起我开始深入思考设计与技术的联系,“做技术的、做设计的”常见于资深工程师和资深设计师自谦的介绍,但是我越来越发现这个说法有问题。通常理解做技术就是写代码,做设计就是画图什么的,其实都不太准确。
资深工程师都了解,整个代码框架、逻辑需要精心设计才可能达到良好实用性、适应性、可维护性、可扩展性、可靠性、可量测性的境界。好代码就是艺术品,那不是设计是什么?岂止技术那么简单?软件技术领域有个热门职位叫Software Architect,也有专职Test Architect等。
资深设计师都了解,熟知整个业务体系,充分建立起以用户为中心的设计模式和产品管理机制,保证产品用户友好、开发者友好、搜索引擎友好并不是容易的事情,那不是技术是什么?又岂止设计那么简单?互联网技术领域也有类似职位叫Information Architect,在欧美相对成熟。
也就是说,真正工程师、设计师解决的问题,都需要architecting,都需要designing,都有技术含量。并且在信息传达角度,通常所说“设计”与“技术”并不在同个维度。反过来理解,没有创造性的工程师只是程序员,没有创造性的设计师也就是设计(专)员吧。
? 一叶千鸟(转载请留原文链接)