停止学习,开始创造
早在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,参与别人的创造而不是重新发明轮子,你变得更加敏锐与务实。
是的,你被拽着在走,你不是在自我的世界的洋洋自得的学习,你是在做有意义的事情,你的每一分钟因为创造而变得不同。
如果你在做一份学习计划,那么扔掉它。安静下来,想想自己生活中有哪些不便之处;观察身边有哪些需要帮助的人,开始为他们进行创造。一旦开始,就不要停下来。相信我,你会得到远多于你原本的那份学习计划。