学更少,做更多。别再犹豫,去深钻!
觉得我水平低,没时间听我废话的人,直接看@xiaotie 兄的原博文:
只学一点点:我的技术学习策略
http://www.cnblogs.com/xiaotie/archive/2011/12/10/2283384.html
支点:技术选择的精髓
http://www.cnblogs.com/xiaotie/archive/2012/02/23/2364966.html
裘千丈还是裘三尺——用挖矿的比喻说平台与门槛
http://www.cnblogs.com/xiaotie/archive/2012/11/28/2792665.html
像这样玩C#
http://www.cnblogs.com/xiaotie/archive/2012/06/12/2546009.html
C# 指针之美
http://www.cnblogs.com/xiaotie/archive/2012/07/06/2579853.html
上帝的玩偶:haXe语言
http://www.cnblogs.com/xiaotie/archive/2012/04/19/2456447.html
什么是闭包,我的理解
http://www.cnblogs.com/xiaotie/archive/2011/08/03/2126145.html
下面,我给大家叨叨:)
如果做10件事,只需要学1个,或2、3个,是你在玩程序。
如果做10件事,要学10个,甚至是100个,是程序在玩你。
知道A做1最好,B做2最好,C做3最好,当然也是本事。
知道怎么用A来把1、2、3的事都做了,是更大的本事。
技术学习,是技术人生涯的泥潭。无数次,我们都听说,30岁后不能只干技术了,35岁后不能再碰技术了,40岁后没人要你做技术了。
之所以业界这样的风气吹之不散,有它现实的一面。业界几大厂商,为保自己阵地,每年都推一大堆只有他们自家才会去推广的东西出来。
技术人,有一个梦想,如果这帮混蛋能好好地统一定一套编程语言、一个IDE、一套类库、一个发布平台,这个世界就不会那么残酷了。这个梦想,也只能留到技术人加班到累趴在电脑前,睡梦中才有可能实现了。混蛋们,会永远这样混蛋下去。
作为技术人,如果我们选择跟着群魔乱舞,只能比行业死得更快。而有些大牛同行,用一堆刚出来都还没放凉的东西,再组一堆新东西出来。这时候,我只想感慨:同是技术人,一人留一线,日后好想见。
人的时间精力都有限,这堆东西,就像创业公司公司一样,能活个2、3年就已经算奇迹了。如果我们的时间精力都投放到这些“快消食品”,总有一天会把我们自己给吃垮的。
这个年代,不会因为你少吃什么而饿死,只会因为你多吃什么而撑死。
怎么办呢?
技术不是技术,技术是解决问题的工具。
技术不是技术,技术是解决思路的载体。
技术不是技术,技术是快乐生活的助力。
让我们回到技术的本质上:解决问题。
回到问题本身,从问题重新出发。问:解决这个问题,用哪些最少的技术就可以了?
不要提前完善解决方案,尽量少做,尽量只做刚刚好能解决问题的方案。因为,越完善就越复杂,越复杂就越难维护。一个刚好够用的方案,把问题解决了,它就是了了。如果用一个复杂的完善方案解决问题,因为复杂,它后面可能引发的需要你再发力气去照顾的问题,将会是无穷无尽、没完没了。
了才是好,了才能好。
我们应该针对问题的特殊性,把通用技术方案的那一大坨东西,分解开来,只取刚刚好能解决问题的最少部分。然后把它们打包好,成为自己的一个专用库。尽量争取,以后的日子再解决这个问题时,可以一行代码搞定。
剥离众人的通用,打包需求的子集。
这种“包一层”的行为,有什么意义呢?它的真正意义在于:世界没你想象得那么大,但又不是你想象得那么小。
满足需求,不需要你想象得那么复杂,搞一堆最新最优技术,拿地图炮打蚊子。
但是,在满足需求之后,我们还有事情可以做。就是优化。把需求实现的技术打包,把时间精力腾出来,好好去优化,把需求做得更深。
打包一切,专注优化。
我决定,以后所有第三方库,包一层再用。
后记(下面以聊家常为主,没时间没兴趣的朋友请直接忽略):
要不要把脚跨到算法去,周日,我和老婆有了一次非常痛苦的交流。
主要的问题是,我没信心在算法界能赚到钱。而如果一件事赚不到钱,以目前我们对钱的需求,我很难说服自己花精力去做。
根本的问题是,我不知道我应该怎么去搞算法。这比我2013年转iOS开发难太多了。
同时呢,我又非常不甘心。半路出家,很多朋友并不认同我作为开发者的身份。我也不是需要别人的认同,我只是希望能得到更多的交流。如果我能在算法上站住脚跟,也许可以彻底扭转这种局面,我就可以得到更充分的交流机会。
最后,受最近对“递减原则”思考的影响,我还是决定赌一把。
事情决定了要做,后面就非常简单,只需把全部脑力对准“怎么做”就可以了。
这也得出了一个我对自己的警告:永远走路,永不选路。
等此路走不通了,再走另一条路,绝不浪费时间去选路。
我唯一的优势只有一个,或者说只保一个:比先行者更有热情钻得更深。
末了,对技术学习总原则,用我自己特殊的笔记方式“字阵”记录下来:少叠测时。
不要转算法,现在是积累经验的阶段,经验没积累够,还不具备“选择”的能力。我是在30岁之后才具有“选择”的能力的。不具备“选择”的能力时,跟着市场走、跟着潮流就是了。
把技术当作解决问题的手段之一。知道怎么为老板更好的解决问题,就能够当个好员工。知道怎么为客户解决问题,就能够当个好老板。知道怎么为用户解决问题,就是企业家了。可以一个层面一个层面的来。不躲避问题,遇到问题一个一个的面对,而不要在领域间乱跳,除非是为了更好的解决问题或者纯粹的兴趣或者是有明确的规划。
有些事情,得有积累做起来才会方便,tinytool学习英语也是因为之前有一些积累了(至少已经有三年级的功力了),然后才过去学习达到了比较高的境界。
算法的东西,涉及的数学层面比较多,如果之前积累的比较好,那么再过去会比较容易。
如果你过去的时候,钱对你的影响很大,而入门又是非常陡峭的,那么你会被钱左右,从而影响判断,容易过的比较惨,没钱继续,女朋友可能离你而去。