功能软件产品的推广应用离不开三类技术人员:开发、测试和实施,来谈谈这三类技术员的特点。
开发俗称“码农”,主要职责就是编码了。利用某种计算机语言,实现相关功能算法。当然,功能软件产品或是基础软件等,其需求多来自客户,具有很强的业务适用场景,因此比较少出现诸如手机需要根据手机壳的颜色来改变主题的互联网风格的需求。在基础软件厂商,多半没有产品经理这一岗位,也没有啥需求工程师,码农的开发需求多来自服务人员或是实施人员,他们直接面向客户,从客户那获取需求。基础软件产品如数据库等,其主体功能,已经经过多年发展,主体框架已经形成,不管你是什么数据库,关系型的,你总得有sql支持,事务管理,并发控制,故障处理,备份还原等等。这些通用功能是必须的,不管哪个厂商都必须实现。当然,客户肯定会有一些通用之外的特色需求,比如系统为了采集获取一天的数据,一分钟获取一次,一天24小时,一小时60分钟,设计了一张包含1440列的表,那么数据库就必须支持创建这么多列的表。当然,如果数据库不支持,可能就会觉得应用设计问题,这是另外一个话题了。但是,现有系统真的都是按照数据库的要求去设计的么?当然不是!在处在适配调优的道路上,如果你不能改变别人,那你只能改变自己!
码农多半处在乙方的角色,在产品影响力尚不足时,有些时候能得到测试推广应用的机会尚且不易,更何谈要求改变上层设计。况且,上层设计并不完全是不合理的。因此,基础软件产品开发的码农,在面对需求时,是要尽力去实现的。在通用功能的基础上,逐步丰富完善特色功能,形成自有的特色,形成品牌。既然功能是开发实现的,很多人多半有一种错觉是,开发比其他技术员玩产品玩得溜!
这个结论还真不一定对!个人深有感触。开发关注的面有时其实比较窄,这是因为开发只需要关心怎么去实现一个功能点。开发需要关注的细节非常多,更多是关注底层逻辑和结构。变量类型,数据结构,是用链表还是哈希表,内存分配,实现算法,大端小端,甚至是字节都是开发需