产品设计

产品设计中两个重要而又容易被忽视的角色

在中国,一半以上甚至更多的,以网站为主营业务的或者 把网站很看重的公司,没有Web前端工程师和产品工程师这两个职位,甚至有些有点规模的公司也可能没有这个职位,当然,这不能包括像 alibaba,sina,163这样的公司,只是指中小型公司而言。如果你们公司有,请给我留言告诉我你们公司的规模和相关的信息。

做得好一点的公司,一般是项目经理/部门主管+投资方(项目 管理中的投资方,实际上就是老板,反正就是决定你要做什么并给你钱的人)来承担产品工程师的角色,由美工来承担Web前端工程师的角色,特别是Web前端 工程师,是最容易被忽略的角色。

企业想挤出利 润,无非两个方面,一个是开源,另一个是节流。而这两个角色,恰恰可以用开源节流来比喻,产品工程师可以设计出更好的产品,这就是开源,Web前端开发工 程师可以精简网页代码,提高用户访问速度,减小企业带宽上的支出,甚至可以减小服务器上的支出,这不是节流是什么?相比有些企业,以靠克扣员工工资来实现 节流,这个节流要节省得多。

产 品工程师

很多公司的流程基 本上是这样的,由需求部门(一个或者多个,如果公司小,可能就是老板等几个人)提出需求,提交到项目经理或者IT部门主管,然后 IT部门主管根据需求进行开发,这中间可能要判断是做还是不做,判断的依据主要是开发难不难,麻烦不麻烦,很少去考虑合不合理。各位,看到什么问题没有, 很多IT的部门主管,他只是一个管理者+项目经理的组合,或者干脆就是一个项目经理。需求部门交给我的需求,我按照要求按时按质做完就OK了。但时,需求 部门往往是不懂互联网的,这种情况很多公司大量存在,对于一些老板本身就是做互联网的,或者较大的公司,这种情况会比较少。

问题就来了,一个不懂互联网的人,根据自己的喜好或者自己的 判断来提出一些需求,有些需求可能很无理,有些时候可能是自己的喜好,有些时候可能是违背互联网的基本准则的。而技术部门往往是只要没有技术难度就开发 吧,反正我就按你要求做了,这个中间,没有一个懂互联网的人来把关。注意,懂互联网的人,不是懂技术的人,懂技术的人很多都是不懂互联网的。比如说我曾经 见过有公司的老板要在网站的两边加一副对联,结果别人说像灵堂一样,也曾经有公司的老板要把网站做得像电视一样(不是视频网站,就是一个非常酷的过场动画 这样子,想法是好的,可惜不适合大型网站,不利于访问也不利于SEO)。

这个时候一定要有一个产品工程师或者产品组来承担这个中间人,注意,还没有到美工的层面,他需要根据需求方的需求,再加上自 己对互联网的了解,来设计这个产品。他要考虑到浏览器、带宽、用户习惯等等内容,以确定如何布置页面中的内容,确定功能之间的关联。在这个时候,如果产品 工程师不懂技术,可以邀请Web前端工程师和项目经理/部门主管参与,因为某些地方为了用户体验可能要使用到一些技术,需要由这些人来确定是否要行。

Web前端工程师

相对于产品工程师,这个职位显得很加缺乏,因为产品工程师 很多时候可以由项目经理或者部门主管兼任,但Web前端工程师这个职位,是很多公司都不重视的职位,很多公司是这样的,Html和CSS由美工负责,而 Javascript由程序员负责。但问题是,很多美工对Html/CSS只能实现,至于规范也速度很少考虑,而程序员对Javascript就更加了, 从我接触过的程序员中,绝大多数人觉得Javascript是一个比较简单的语言,没什么前途,看不起这种语言,也认为Javascript只能实现一些 交互而已。

所以实际上,很多企业是用两个懂一 点点的人,来做这个重要的工作。如果让我来选择,我愿意放弃一个,甚至两个程序员,来换一个Web前端工程师。为什么要这么做?我认为,一个网站两个非常 重要的地方,就是他的交互性与速度。很多程序员喜欢划分前台与后台,他们都认为前台不重要,只要后台功能完成了,前台不是很简单的事么!不!不是这样的, 前台比后台重要,为什么这么说?你想想,一个用户是通过什么接触到你的网站的,是前台,是Web页面,而不是后台冷冰冰的程序。你有再强大的功能,如果用 户操作起来很复杂,那么用户也会抛弃你的,除非用户别无选择,比如说工信部的备案,但问题是,现在互联网同质化越来越厉害,抄袭也变得风行,你真的有这么 高的技术壁垒让其它公司没有办法做到和你一样的产品么?

注意,不要钻牛角尖,我并非说后台完全不重要,你要非说就算你前台再好,我后台一个死循环出不来,那不是也没戏,这是抬杠!除了大型网站和逻 辑错误,现在多数网站并不存在后台影响速度的问题,或者说影响不是那么明显。前台所带来的问题,要比后台带的问题多得多,也容易解决得多,往往是可以花少 量的代价来解决大问题的,可是往往很多企业愿意去花钱买带宽买服务器租CDN以提高速度,却不愿意请一个Web前端工程师来解决这个问题。同时,请注意, 就算你服务器再快你的带宽再高,用户的带宽是不变的,如果你超出了用户带宽的阀值,你所做的一切将都是豪无意义的。

程序员往往可以实现Javascript的功能,但是由于 Javascript的特殊性,他们很难以最优化的方式来开发Javascript代码,就可能就造成他们去网上Copy一段Javascript,然后 只要实现效果即可,大量重复的甚至是有Bug的代码被应用到网站中,这些代码将会影响到用户的执行效率,降低用户体验。在HTML方面,这也是程序员的弱 项,他们也觉得这个东西太简单,实现起来很容易,但是HTML和Javascript都是入门易深入难的东西,如何合理地组织Html+CSS,让浏览器 更快更有效率地执行,这个也是需要很多年的经验的。

在用户体验方面,大公司可能用UE/UI等部门,而小公司的话,一定要有Web前端工程师,美工只是设计页面,很难照顾到用户体验这个层面, 当然不排除有些美工已经有这样的水平。实际上用户体验也和产品设计一样,都属于开源的一部分,因为如果用户体验好就能带来更多的用户,不是开源是什么。

希望看到您的想法,请您发表评论x