只身在他乡,常常想起我的父亲,在我们当地他是出名的木匠师傅,一手掌脉设计建造了许多建筑物,留下了很多赞誉,不过现在人年龄也大了,就没有当木匠师傅了。他曾经给我说过,在工程领域,文官永远要输给武将。其意思就是说,一个纸上谈兵的人永远要输给一个不断实践的人。这样的道理或许有些绝对,也不会有人不懂,也许是因为从小就在这样的氛围中耳闻目染,所以我一直都是一个乐于动手实践的人。
在软件工程领域,有一句著名的话,叫做“Don't Reinvent the Wheel”--不要重复发明轮子。这句话说得非常经典,也非常有道理。但在生活中,我就发现时常有些人常常被这些名言所束缚,其实我觉得“不要重复发明轮子”也只是站在某一个角度告诉IT人员的一个道理,如果将其奉为不可叛逆的金科玉律,就会束缚我们的思维,阻碍我们的步伐。
我是一名从事Java相关开发工作的IT人员,回忆当初自己自学java走过的路,我戏剧性地发现自己就是一个典型的在不断重复发明轮子的人。一个东西别人已经写过了,我将其下载下来,理解他的思路,重新自己再写一遍,或者再改造一遍,通过这个过程,我有很迅速的提高和积累,收获真的不是一点两点。
在论坛中,当一些热爱软件开发的同行们贴出一个自己写的东西,下面的留言总会出现,“又是一个重复的轮子”之类的跟帖,但我发现更多的留言是热心指出“如何如何。。。会更好”之类的跟贴,后一种跟贴是抱着一种欣赏交流的态度,非常好,因为我也是这样。
试想一下,如果你写了一个数据库连接池的小组件,你将对jdbc有深刻的认识;如果你写了一个IoC容器,你将对各种设计模式,反射机制等有更深的认识;如果你写了一个缓存框架,你将至少会在软件性能优化上加入自己的思考;如果你写了一个js library,你将对js的使用有更深刻的体会。如果......。这些工作永远比每天写几个Ation,几个service,几个DAO让我们提高积累得更快,从而也更清楚地认识自己真正匮乏的是什么。
我们不追求一定要让自己的小组件大范围推广,只因为我们还有几分对软件开发的热情,我们乐于学习,愿意研究,我们愿意付出一点时间来不断提高自己,因为这样不仅能让人体会到作为一个男人的那种充满斗志的“孤芳自赏”,也更让我们变得更有价值和竞争力。你觉得呢?