伍涛说完,王有节没有立即发声。
说到甲方曾经做过的的那些不太靠谱的事情,底下又开始议论纷纷。
说实话,我们做程序员的噩梦就是,临下班的时候接到消息,“我们又做了一点小改动,你再看一下?”
更噩梦的噩梦是,通宵开发了好几天后,对方说,“领导刚才改主意了,之前的那个功能还得加上。”
对的。他们说的总是风轻云淡,我们程序员拿过来一看的确也不是很难,也就是重构代码而已,通宵十天就够了。
所以说,杀死我们程序员根本就不必要用枪,只要甲方改三次需求就够了。
他们的这一些议论,作为过来人的王有节当然心知肚明。
王有节的切身体会,和其他职场的人一样,其实很多软件开发人员一般来说也都会有他所畏惧的存在。具体来说主要有三怕:
一是怕摊上爱管闲事又没啥能力的上司,包括糟糕的老板和主管。
软件开发者尤其讨厌随意干涉他们代码的非技术管理层。有些领导喜欢承诺一些无法做到的事,低估项目中切分代码所需的时间。一想到这样的领导和技术决策人,有些程序员即使在深夜的梦里也会痛哭。
另外,甲方的技术实力看起来这么“强悍”,有时候不懂技术的乙方负责人就只好和稀泥:我们回去再评估一下。这时候懂技术的程序员就只能在下面大眼瞪小眼。
二是怕摊上糟糕的产品经理,这甚至可能比自己牙疼还要糟糕。
这些所谓的产品经理往往自视甚高,还期待程序员能提早地满足客户的任何需求。他们还坚信,编程只是小事一桩,代码就像浮在空气中似的,可以信手拈来。“这个很简单的,稍微弄一下就行了呀。”
三是怕懂点技术,却喜欢瞎指挥的甲方老板和负责人。
就像伍涛现在遇到的情况一样一样。
说实话,无论何时,软件开发者都青睐那些阐述清晰、不能变更的应用需求。在实践中,很多需求都是匆忙制定的,有时候甚至已经成为了正式形式;要求变更的原因,一部分是有糟糕的项目经理,另一部分则是来自上级或客户本身的抱怨和干涉。
总之,不论什么原因,对需求变更的恐惧——尤其是在最后一分钟要求变更——则永远是开发者的心头大恨。
王有节想了想,抬头扫视一圈。等都不再说话了,他才说道:这样,小伍,等到你们下次和甲方一起开需求会的时候,我也参加。行吧?”
“这当然太好了啊,还有什么行不行的?!”伍涛马上笑道。
这个事情讲完,又有一个小组长开始汇报。
他说的这件事情,仍然是在上次会议上就已经提到过的关于文档的问题。
“毫不夸张地说,不管是谁切分的不带说明文档的代码,或者是维护没有开发文档的旧软件对我而言就是个噩梦。”
这位组长说道,“在座的各位都知道,能坐下来理解一段没有良好文档,或注释的已有代码,本来就是很困难的。但是,如果连文档或注释都没有,那就更糟了。”
缺失好的文档,甚至没有文档。上海分公司里的这种状况王有节也是他工作时间久了以后才知道的。
但是,要知道,对大多数程序员来说,不管自己喜欢不喜欢,他们有时候也必须在别人的代码上继续工作。这时候,即使是一段有良好文档的第三方代码,都有可能也会变成一件麻烦事,它要求你做调试,重构,或结构化,使代码适应可能几个月前就已切分好的代码。
对于代码的编辑,每个程序员都有他们自己的一个独特的编码风格。所以每个程序员看其他人的代码几乎都是烂代码。而一旦有程序员跳槽就必然会有其他程序员接手他的项目,然而看着这些代码,特别还是那些不写注释的代码时,你就能知道程序员的头发其实很多时候都是被他们自己给抓光的。
可能还不止于此。
代码好不容易写完了,刚刚喘口气,准备开始下一个工作,公司领导却说,把文档也补一下,接口参数的含义都写上。这时候程序员心里通常都会不爽,有所抵触,结果自然就是草草地写个文档出来。
为什么这样呢,因为实现功能的那些代码才是体现自己价值的,能够赚钱的工作,文档看起来只是附加品而已。工作做完了,谁愿意多干活呢?
再说了,工作量估算的时候把写文档时间算进去了吗?你都不给我时间,现在还让我写,不是让我加班吗?
王有节在很久以前,就曾经向于经理和分公司建议:“如果想把工作做得漂漂亮亮,既有优雅的代码,又有完善的文档,必须得给文档工作留出时间才行。”
想了会儿,正要开口说话,“滴”,有短信进来。王有节低头一看,却是布礼:你的时间能定下来了吗?