现在软件开发越来越少独创性的东西了,很多东西本质上的一些东西一看就知道。甚至上千万的项目也不过就是一些数据存储分析之类的而已。难点不在能不能做,和做不做得好(指关键部分效率之类的),而在于整体太复杂。所以软件开发就是在做管理复杂性的工作,创新的主要目的就是更好的管理复杂性。很多和我一样还在上学的朋友,都会比较在乎计算机能做什么,编程能做什么,怎么去算。但是现在发现根本性的东西根本不是这些所谓能不能做的问题,而是看得到目标,描述得出模样,但是实现起来很复杂。管理复杂性就是软件开发最重要的任务,而具体的算法,方法不过是用到的时候去寻找的东西。
计算机的信息分析存储传输能力给各行各业能够带来很多价值和利益,这些能力发挥作用的具体技术都是非常成熟的。在具体层面上的创新会越来越少,十年前到现在主要的任务就是在如何管理复杂性这个问题进行创新。而且,我觉得离最终目标还比较远。