郑重声明:文章系原创首发,文责自负。本文参与月•微型小说主题人物创作第一期:(3) 码农
王虎坐在格子间里异常兴奋,一切都显得那么不太真实,像做梦一样。王虎没想到自己真的到了北京的软件公司工作,做自己梦寐以求的程序员工作。
王虎大学期间就对计算机十分感兴趣,计算机课程成绩优秀。那时候计算机还是奢侈品,一万多块钱一台。
王虎在大四下半学期和另外两个同学合伙租了一台80486计算机,计算机24小时开机,三人每个人8小时轮换。
凭借这半年的实践经验,王虎毕业后找到了一份计算机管理员的工作,负责一家化工厂计算机相关的一切事宜。
在化工厂工作期间,王虎编写了产品仓库出入库管理系统,销售管理系统,人员工资系统。
四年后王虎离职,到一家小软件公司工作了半年。这半年王虎在同事的帮助下,编程水平突飞猛进,之后王虎到北京找到了现在这家ERP系统集成软件公司,担任程序开发工作。
初来乍到,一切工作听从领导安排。领导把最没有人想接手的人力资源模块交给王虎负责。王虎欣然接受,好歹也是模块负责人了。
为了尽快熟悉代码,王虎在公司通宵达旦通读代码,公司准备的方便面,速食大米饭被王虎消灭了不少。
王虎苦恼的是自己的英语水平太差,开发工具的帮助文档全都是英文,自己大学考了四年英语四级,最终也没有考过去,却落下了一看英语就犯困的毛病。有时候失眠,戴上耳机听一会儿英语分分钟就睡着了。
经过几个月的努力,王虎终于摸清了人力资源模块,三个子模块:职工档案资料管理,职工合同管理,薪酬管理。
当前人力资源模块最大的问题就是薪酬计算速度太慢。
薪酬计算速度慢,王虎已经知道原因了。
通过阅读代码,王虎发现薪酬计算逻辑是最外层有一个大循环,按照职工一个一个地计算薪酬。
就是说在薪酬设定一致,服务器性能相当的情况下,如果3000人工厂薪酬计算需要1分钟,那么30000人工厂薪酬计算就需要10分钟。
如何提高薪酬计算速度王虎也想好了,去掉最外层都循环,所有人的薪酬一起计算,这样速度应该能提高不少。
“老杨,我打算将薪酬计算的代码重新写一遍,现在薪酬计算的速度太慢了。”
老杨是公司资深的系统专家,对ERP系统所有模块了若指掌,是为数不多的可以和王虎进行人力资源模块问题探讨的人。
人力资源管理模块在当时属于边缘化模块,公司很少有人愿意花时间了解这块内容,所以王虎入职后钻研不久,就成为公司人力资源模块专家级人物了。
“那好啊,现在公司薪酬计算部分的确是个短板,你可以重写试试。”老杨鼓励道。
有了老杨的支持,王虎干劲十足,开始对薪酬计算模块进行重构。
一个月之后,代码重构完成。可是重构完的薪酬计算并没有像王虎想象得那样计算速度飞快,看样子计算速度只能和原来的代码相当,更要命的是,薪酬计算结果和原来的程序计算结果不一样。
这下王虎傻眼了,辛苦了一个月,做出来一个废品,王虎有点泄气。
“我看大部分计算结果还是正确的,只有个别工资项不对,你看看不对的工资项有哪些特点,应该能快速定位错误点。”老杨了解情况后鼓励王虎。
老杨说的有理!王虎鼓足干劲,开始修复程序bug。
又经过一个月时间,通过反复测试,新代码计算结果和旧代码计算结果一致了,王虎略微松了一口气。只是新代码在计算速度上并没有达到王虎的预期。
多年以后,王虎在网络上看到一个关于程序员的段子:
一个哥们上班时忽然怒气冲天,大声质问这TM谁写的代码,这么明显的bug都能出,还不写注释,当时项目组的码农们都心惊胆战,不敢说话,害怕把自己揪出来示众。
项目经理听到发话了:XX,你查一下SVN记录,查出来全公司通报,扣他年终奖。
这哥们:我已经在查了....
过了几分钟......
这哥们:不可能吧,这怎么可能呢?
大家都凑了过去,发现这段代码是这哥们一年前自己提交的。
看到这里,王虎会心得笑了。
网友评论