2006-10-01

“工欲善其事,必先利其器”与2x

公司从今年开始2x运动,简单理解就是相同时间内一个人完成两个人的工作。
工作成果 = 工作效率* 工作时间工作成果*2 = (工作效率*2)* 工作时间 = 工作效率*(工作时间*2) = (工作效率*m)*(工作时间*n)

所以,要达到目标,方法是:
1)工作效率提高一倍。
2)工作时间延长一倍。但总工期要求不变,必然经常加班。
3)工作时间,工作效率同时提高。

最痛苦的是2),工作时间延长一倍,经常加班,导致很累,疲劳,进而导致工作效率下降,工作成果减少,进入恶性循环。

理想的情况当然是1),工作效率提高一倍,工作时间不必增加,不必加班,对公司来说达到了利润增加,对员工也不会造成利益损伤。效率提高也就是“聪明”地工作,而非一味“勤奋”地工作。

最近就有一个例子:上个月一边出差一边用几个晚上完成了一个数据迁移工具,具体功能就是把旧系统数据文件转换成能导入到新系统数据库的数据文件,要做的是从旧文件中抽出特定的几列,加上一些新的固定数据列,构成新文件。为了实现这个需求,用java实现了一个数据转换器,其读取用xml定义的配置文件,从而能从任意从数据表中导出的数据文件转换到新的数据文件格式。写完代码并测试后,甚是自鸣得意了一番,认为自己实现了一个功能强大、配置灵活的数据迁移通用工具,不光能在这个项目中用,也可以在以后的其他项目中使用,减少以后重复开发的花销,达到了2x。然而,今天偶然在网上看到介绍solaris系统命令的资料,发现awk命令就可以实现我写的那个工具的功能,例如:
awk '{printf ("%s\t%s\t%s\n", $2, $1, $3) }' checkbook.orig > checkbook.new

顿感高兴而又郁闷,高兴的是学到了一个功能强大的命令,郁闷的是自己闭门几日造出了早已存在的车,白白浪费了精力。

还有,也是那几天,为了把windows传到unix系统上的文件格式从Dos格式转换成Unix格式,也写了一个小工具,代码不多,就20来行,但今天在同一个网页中发现了另外一个命令du,又是一辆存在已久的车。

前天晚上,为了解决一个系统性能问题,想出了一个比较复杂的方案,应该能够很大提高操作性能。第二天和同事讨论的时候,发现他们用一个更简单的方法,利用的也是现成的Unix命令,用sort + uniq实现了我的复杂方案所具有的功能,并且效率应该更高。

这些例子都说明了一点:我对Unix了解的太少了:( 以至于做了很多重复无用劳动,这违背了2x的原则与目标。

工欲善其事,必先利其器!要达到2x的目标,此理不可不查。

没有评论: