停止学习,开始创造
11 Aug 2012
早在2006年和2004年,我就表达了对于重视学习、忽略创造的忧虑。幼儿园,小学,初中,高中,大学,如果还不幸的读了研究生,或者更不幸一些,读了博士,二十多年只进不出的学习生涯,让我们成为谦卑的学习者。工作中,特别是计算机/创意相关的工作,学习所用到的知识却似乎是永远都不匹配的。谦卑的学习者们,更多的寻求知识的连贯性与系统性,似乎非得搞清楚Java里面volatile关键字才算明白了Java, 搞清楚了this.apply与this.call的区别才算弄明白了JavaScript。除此之外,心中给自己定下了长长的学习曲线,坚定而执着在自己认为正确的学习道路上前行着。
然而,这个不断变化的世界不是如此工作的。
Java 1, Java 1.1,1.2, 1.3, 1.4。然后呢?不是Java 1.5, 是Java 5。
Java 5, 然后是什么呢?不,不是Java 6, 7, 8. 是Scala.
EJB 1.0, EJB 2.0, 然后呢?不是EJB 3.0, 是Spring, 是J2EE without EJB.
Spring 1.0, 1.1, 1.2, 2.0 然后呢?不是Spring 3.0. 是Ruby on Rails 0.10.
Rails 1.0, 1.1, 2.0...然后呢?是3.0吗?也许吧。不过貌似nodejs正在成为这个时代高并发网络程序的潮流。
凯文·凯利著作《科技想要什么》,在作者絮絮叨叨的篇幅中,阐明了一个明确的观点:科技的发展是跳跃式的,而不是渐进式的。了解这一点让人实在有点沮丧。换句话说,今天的这些技术积累,很有可能在新技术到来的时候变得毫无价值。现在很少有人提GoF的设计模式了,却没有明显的迹象表明整个编程领域的编码质量降低了。是的,人们不再谈论这个了,不是因为人们不懂这个了,而是在突然之间,有比这更能够产生吸引力的话题了。
是的,是创新。
如果你仔细看现在火爆的技术,很少是有大公司驱动出来的——就算有,被主流声音评价的兴趣都没有。nodejs, rails, scala, graph db, mongodb, 他们共同的特点是原作者对现状的不满,带着无比的天分而创造出来的。随着云计算资源的普及,这些东西进入最终消费者的渠道突然之间就畅通了。任何人都能够在几个小时之内,用着某种高生产力的工具框架,申请一个域名,花一点点钱买个空间,然后微博/twitter上做点宣传,突然之间,与你遥不可及的用户触手可及。
然后你开始明白,软件是要为了改善人们的生活的——否则人们不会去用它;
突然之间你发现不会的东西变得多了起来:怎么注册域名?怎么更改DNS服务器?网站怎么联通不通电信通?怎么做部署?怎么保证数据库不宕机?怎么做安全策略?相比之下编程变得胸有成竹,而这些未知,驱动着你去寻找答案;
然后你开始计算投入产出比——如果你获得的收入(无论是隐性的名声或者显式的现金收入)远远低于投入——域名和空间都是要钱的,你会开始精打计算,是不是要关掉服务;
你开始明白,好的服务是值得你刷信用卡的。从一个不限制子域名的域名服务商那里买过域名之后,你很难再提起兴趣在国内买域名;用过EC2后,你才明白国内的云计算服务只能算C2——毫无弹性可言;
突然之间对于用户的感知变得无比真实——因为你自己就是用户;有一群跟你类似的人开始寻求帮助,贡献内容。他们的愤怒或者兴奋,刺激着你更为敏捷的对技术进行调整;
然后对于技术的选择也变得无比清晰——你会花更多的时间跟这个世界保持同步,订阅大量的RSS,参与别人的创造而不是重新发明轮子,你变得更加敏锐与务实。
是的,你被拽着在走,你不是在自我的世界的洋洋自得的学习,你是在做有意义的事情,你的每一分钟因为创造而变得不同。
如果你在做一份学习计划,那么扔掉它。安静下来,想想自己生活中有哪些不便之处;观察身边有哪些需要帮助的人,开始为他们进行创造。一旦开始,就不要停下来。相信我,你会得到远多于你原本的那份学习计划。