• Feeds

  • Archive for November, 2013


    享受造轮子的乐趣

    在业内,由于技术布道师的传播,“重复造轮子”成了一个讳莫如深的话题,一个新的项目在各种讨论场合总是会小心翼翼的避开这方面讨论,一旦触及则会马上描述自己系统的独特性和必要性。富有经验的项目管理者,通常在开工前就会想好各种质疑的应对。但是造轮子也并非是一个雷区,有时候造下轮子也是无妨,不必遮遮掩掩,真的需要考虑清楚的是,轮子为了KPI、晋级、虚有的声誉,还是真的出于兴趣及热爱?他们是否可以放在阳光下,和另外一个社区的产品从技术的角度去比较?

    在Linux起步的阶段,在服务端有高端大气上档次的Solaris,在桌面端有占据垄断地位的Windows,如果抱着不造轮子的心态,也就无法让高高在上的Unix走下神坛,装进每个学生的学习的电脑,也不会成为最经典的开源协作的项目;在搜索引擎的领域也有同样的故事,一直到最近一两年,还有顽强的公司的不断进入这个领域。设计和使用一项技术就像厨师和美食家的区别,是不同层次的工作与体验。如果你的目标是给用户提供一个更好的操作系统,使用一个引来的产品很难使我们离目标更近。

    在一方面,造轮子可以使我们加深对专业领域的认识,帮助我们重新思考这个领域;而且我们可以根据自己对场景的理解,思考改进原来的实现。更难的境界是REINVENT, 而不是迈出造轮子那一步。

    另外一方面,富有挑战的项目的轮子可以帮我们更好的聚集人才。好一点的公司都在谈人才争夺战,但是大量的公司对于优秀的人才并没有充分施展的空间。Where Should Top Coders Work?也提到了类似问题,顶级的开发人才希望能发挥自己的才智解决业界最棘手的问题,因此在这些挑战的项目周围聚集优秀的人才之后,就有更好的机会通过创造项目中的智慧,发挥技术的杠杆作用去推动业务。

    但是也得强调几句,同一厂中的重复造轮子不值得鼓励,技术团队在造轮子时候得把握好优先级及时机,在农闲阶段造轮子,农忙阶段发挥作用。

    12