Pulpcode

捕获,搅碎,拼接,吞咽

0%

2014年终技术总结之做技术的心得

在大三的时候,我写过一篇博客叫《我们应该如何学习编程》,今天看来有些内容是显得幼稚,我想这就是所谓的成长吧,快年底了,打算再总结一次自己做技术的心得体会。
即使我知道,几年后的我再看这篇文章,依旧会觉得幼稚。

学技术的方式

原来的学习方法,尤其是在学校的那段时间,思路是这样的:

这是一个很牛逼的语言特性,一般人不知道,我一定要学会它,恩,快点找个地方好好的用一下,让别人都来朝拜我。

最近的一段时间,我的思路慢慢向这个方向靠拢:

我要做一个这样的设计,嗯,这个语言是否有特性能满足这样的需求。嗯,之前我都是这样写的,我还不知道有这样好方法。。。

关注问题本身,才能解决问题,而不是被各种“眼花缭乱”的技术所迷眼,很多人在学习过设计模式之后,无论多小的代码都要用一下设计模式。

还有一点我发现之前的学习方式还保留用高中的习惯,就是为了让自己知道的更多,大把大把的学习知识,我大学时在图书馆就阅读了大量的编程书籍。
最后发现自己连个简单的任务都实现不了,还逃避说,“这些都是小儿科,我知道xxx编程思想,xxx编程哲学,我知道这个语言细节。”

读书没有错,错的是一开始就读书,试图建立完整的知识体系,实际上真实情况是我们都是在用了很多错误的方式解决问题后,再开始读书去提高,以获得一个新的境界。

类似于你想开发网站,你用ROR就可以了,但是如果你想成为一个ROR高手,那么你必须要学习ruby。

展开与折叠

真正的高手,懂得该忽略什么,该凸显什么。

在写代码的时候,IDE都会带有折叠代码的功能,将某些代码先折叠起来,对其进行忽略。

可惜代码是实体,若能够对要解决的问题本身,进行某些忽略和凸显,才是本事。

永远不要忘记自己本来要做什么,而被其他风景吸引住了眼球。上面的一节也提到过,有的人为了用一下“设计模式”,连自己要解决什么样的问题都忘记了。

再比如说在写博客的时候,你要讲清楚一个问题如何解决,结果为了展示“你的才华”。你又扯了一堆与这个问题近似或者干脆不搭边的技术。有的甚至连你都不懂,只觉得能提升你的逼格。对于真正的问题,却一笔带过,这就不算是一篇好的博客。

生怕别人不知道自己很牛逼,这才是菜比的心理。要克服它,只能把自己变得很牛逼。

选择归选择,门槛归门槛

我大一的时候,读过一个70后前辈的一篇文章,当时很佩服这个技术牛人,还将此文打印出来隔一段时间拿出来看一遍,他说过一句话至今我仍然记得。

技术没有贵贱,但是门槛是有高低。

类似做网页和做通信,虽然能把网页做好也很不容易,虽然也有很多做通信的是水货,但是不得不承认做通信的学习成本就是要比网页高,这就是所谓的门槛。

其它的部分比如前段开发和后台开发,甚至是生活的抉择也是如此。

你可以选择在大城市拼搏奋斗,也可以选择在小城市求安慰,可以选择追求一个很优秀,有很多追求者的妹子,也可以选择找一个普普通通的女孩过一辈子。

你可以相信自己的选择,你也要明白,不同的选择对应不同的成本。

选择高处的人,不要以为选择完就完了,还有更多的苦难等着你。

选择低处的人,不要把自己形容的过于高尚,说自己不与世人争斗。

选择归选择,门槛归门槛。

没用的细节,没用的原理

之前的很长一段时间,我追求细节,想要把每一个细节都理清,想要将一本技术书从头看到尾。

但在真实工作中真的不会给你这样的时间,你不得不一开始先想办法搭建一个能用的模型出来。

一开始就想着优化总是万恶之源。

大多数拖延症也是如此,总是构想的多完美多完美,把每一个细节都想的如此周到,结果最后什么都没做。

类似于你知道那么多底层和实现细节,但是对你有什么用呢?

我比较喜欢的一本讲lisp的书《实用common lisp教程》,作者会告诉你lisp这么设计的好处,为什么要这么设计。让你能真正的去使用,而不仅仅是“学习”。

作者特别提到,大多数语言的编译器是黑箱,你就算知道编译原理也不能干什么,除非你设计编译器。而lisp确实可以在编译期间让你干一些事情。

作为一个习惯追求原理的技术狂人别忘了,如果你不能让这些原理为你所用,那么还是不要去学的好。

清晰的思路

不得不承认,那些钱包里的钱整齐排列的人,他们的卧室也一样整齐。

那些代码书写的整齐,逻辑结构清晰的人,在做其他事的时候也同样干净利落。

当你思路清晰的时候,像高手请教问题,高手也会觉得很舒服,这就算是思想上的交流。

而如果你代码写的臃肿,逻辑混乱,又懒得改需求,客户和程序员伙伴都会对你反感。

所以穿一身干净整洁的衣服,留短发,干净的鼠标和键盘,清爽的两个桌面,才能够让客户和其它程序员都喜欢你。

慢慢的来

如果你想1-2年就成为高手,那么你4-5年都成为不了,如果你想4-5年才成为高手,那么你可能4-5年就成为高手了。

不像是高考,拼命的学习是为了有朝一日再也不学习了。做技术就要去花时间去磨,这条路没有终点。

十年编程,无师自通。