技术学习总原则

2015-08-24 05:51:26 +08:00
 cralison

学更少,做更多。别再犹豫,去深钻!

觉得我水平低,没时间听我废话的人,直接看 @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 开发难太多了。

同时呢,我又非常不甘心。半路出家,很多朋友并不认同我作为开发者的身份。我也不是需要别人的认同,我只是希望能得到更多的交流。如果我能在算法上站住脚跟,也许可以彻底扭转这种局面,我就可以得到更充分的交流机会。

最后,受最近对“递减原则”思考的影响,我还是决定赌一把。

事情决定了要做,后面就非常简单,只需把全部脑力对准“怎么做”就可以了。

这也得出了一个我对自己的警告:永远走路,永不选路。

等此路走不通了,再走另一条路,绝不浪费时间去选路。

我唯一的优势只有一个,或者说只保一个:比先行者更有热情钻得更深。

末了,对技术学习总原则,用我自己特殊的笔记方式“字阵”记录下来:少叠测时。

1736 次点击
所在节点    iDev
2 条回复
laoyuan
2015-08-24 08:49:04 +08:00
只取刚刚好能解决问题的最少部分。
--------------------------------------------------------------------------------
宇宙第一语言的作者老早就这么说过:

Q :你会如何选择开发框架呢?
A :一个框架都不要用。但是,我会从这些开发框架中,找出我需要的功能,拿出那个我需要的程式模组来用,或者参考其中的设计想法,而不是套用整个框架。
lnkisi
2015-08-24 11:48:41 +08:00
疯子,你好。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/215448

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX