不知不觉,博主工作五年了,随着从事软件开发时间的增长,技术自然是慢慢积累了,但是博主认为最重要的是看待项目的眼光变了。当年博主工作1-2年的时候,自我感觉很良好,认为技术是王道;认为项目应该从技术的角度来说要完美,要符合开发规范,要符合程序思想,要符合面向对象。总之,认为技术才是正道。有时仅仅因为认为代码实现方式不爽而推倒重来;甚至不惜影响进度。
那么,果真如此么?一个项目一定要从技术的角度达到完美么,一个类,一个方法,一个变量的声明非得严格按照编程规范。一个好的程序员一定是代码写的完美的么。
诚然,作为一个软件开发者,追求技术的完美是多么难能可贵的品质啊。一个追求技术完美的软件工程师,即使不是一个好的软件工程师,也是受人尊敬的软件工程师。但是从企业的角度来看,真的需要如此么。需要追求技术完美的企业是有的,譬如,微软研究院,亦或科研单位,再或者以传播技术为目的的组织等。在这些企事业单位里,完全没有问题。技术非常重要。
但是,作为一个市场中的企业,他们看中的是什么,把代码写的比微软发布的代码还好,比Java的原设计代码更完美,有用吗?我想说的是,作用是有的,但是不大。市场中的企业看中的是什么?不是你的过程,而是结果。作为一个软件开发者,按时完成预定的方案,产出预期的产品,就是一个好的开发者。作为一个项目经理,带领大家完成了任务,提交了合格的产品,那就是一个好的项目经理。所以结果很重要。因为结果才能创造价值,才能让你所在的企业盈利,你才能有报酬,这是一个很直接的因果关系。当然了,技术不重要吗,不是的。技术也很重要,只有编程技术精通,你才能快速制定出若干套方案,从而选取最合适的那个方案做出结果来。
所以,当我们在工作中,纠结于技术细节的时候,一定要清醒的认识到,一定要做出结果。而不能一味的陷入追求技术的圈圈里,那就得不偿失了。
有很多的技术人员,甚至总技术监级的软件工作者,总喜欢将别人的项目贬得一文不值(汗颜的是博主以前也经常这样)。认为除了自己的作品外,别人的都是“垃圾”。这是完全没必要的。因为也许垃圾的作品创造出的价值是精品的千百倍。所以博主认为,区分一个屌丝程序员和高富帅程序员,得看他是如何看待垃圾代码的。而且职位越高,或者想往更高的职位发展,越应该注意这个问题。所谓海纳百川,所谓有容乃大就是这个道理。
比如,作为一个项目经理或者技术总监的人,如果一味的想把项目开发的非常完美,那么很可能的结果是难以完成任务,或者产品很难正常的开发出来,从而导致企业损失,最终还是误人误己。
因此,在工作中,一定要注重结果,为了实现某些成绩,在技术上不得不做出一些让步。不得不产出所谓的垃圾代码。只要结果好,这也是值得的。