非常6+1
软件产品的研发到底是一种什么工作?或者换个说法,开发者到底都在忙些什么?软件工程专家会告诉你开发需要从需求分析,概要设计,详细设计一直做到编码实现和软件测试;也有人打比方说做软件和盖楼房是一个道理,都要从规划设计做到添砖加瓦;还有人说做软件是一门手艺活,要求很高的工艺水平,程序员和艺术家有时候很类似… 而在真实的软件公司里,软件开发的工作其实只有两种,一种是男生做的活——写代码;还有一种是女生做的活——写文档。而领导所要交给我的新任务,就是负责公司产品文档的编写。
中国的很多软件公司,程序员往往轻视文档工作,轻视产品化的工作,他们更重视那些让他们有成就感的东西——比如掌握一种新的开发语言,了解一种新的设计模式,实现一种精妙的算法,感受完这些让人愉悦的东西之后,他们往往对其它文档,注释,界面,安装包等工作失去了兴趣,而愿意做这些工作的很多是女孩子。超图也是这样。我在负责了研发中心产品化的工作后,部门内人数最多的时候共有六个人,全是女生,加上我一个男生,江湖人称非常6+1。
俗话说“男女搭配,干活不累”,更何况我和六个女生搭配着干活,这应该算配备了核动力了。刚当上娘子军党代表的我着实兴奋了一阵,但是很快我便陷入到了无限繁琐的文档工作中了。文档说明要和程序保持一致,还要和外部的各类宣传材料保持一致;要具备统一的格式规范,要美观大方,要随时更新;文字既要简明扼要,还得一针见血说明问题。更可怕的是文档不象程序,只有程序员看得懂。文档是用汉语写的,是中国人都能看懂。也正因为如此,总会有人直觉上认为文档是容易编写的——学了语文怎么会不能写字呢?事实和想象大相径庭。一名优秀的程序员,只需要写好代码;而一名优秀的文档人员不仅要会写代码,还要能够有条不紊的说明抽象难懂的各种软件概念。要想达到这个水平,不经过艰苦的锻炼是肯定不行的;没有超群的耐心也是肯定不行的。幸运的是,我部门的这些女孩子们都有论文写作的经历,同时还有常人无法企及的耐心。她们坚强而忍耐,聪颖而好学,善于整理,长于归纳。在文档编写的艰辛工作中,我曾不止一次失去了信心,在浩如烟海的文件中迷失方向,是她们的坚持不懈让我在繁复的工作中找到了希望。她们不知疲倦地辛勤工作,孤单的承受着无边的寂寞和无尽的压力。我所能做的就是尽量把一些重复性的工作自动化,想方设法减少一些她们的劳动。可是我能做的实在太少,我的力量也很有限,无法把她们从枯燥的文字工作中解放出来,这种愧疚之情直到现在还在困扰着我。
其实在研发中心内,不光文档组承受着巨大的工作压力,其他各开发组也面临着巨大的考验和超负荷的劳动。我们的SuperMap已经从最初的“小组件”变成了“大型GIS平台”,代码规模已经非常庞大,系统复杂程度也超出了我们的想象。繁琐的文档,没有尽头的调试,永远改不完的缺陷,必须要推出的新功能,让开发者们厚厚的镜片覆盖下的眼睛布满了迷茫。我们已经如此努力,可还是有人跳出来指责你做的不够好,用户仍然不满意。是啊,我们到底做错了什么,要受到这些不公正的对待?时过境迁,当我们回首来看这些当时困扰我们的问题时,才发现这原来是成长的烦恼。