TW洞见 | IT小小鸟生存指南-学习起步篇

文章作者来自ThoughtWorks:王健,图片来自网络。

经常跟公司的年轻人聊天(说起来好伤悲),他们大多在充满激情的同时表达出自己对于学习的迷茫。面对快速发展的技术被迷晕了双眼,不知道学什么,也不知掉怎么学,不知道从哪开始,也不知道学到何时为止。前两天也在知乎上回答了一个类似的问题(http://www.zhihu.com/question/34449620/answer/58843662),想想应该把自己的一些经历和问题以及对于这些问题自己的思考梳理一下,分享出来。

小小鸟们需要面对的第一个问题往往都是不知道该学什么?面对扑面而来的各种技术,框架,术语,各种三个字母或是四个字母的天书一样的单词,感觉一下就被淹没在浩瀚的技术海洋中。看着大牛们的各种口吐莲花,对于各种技术信手拈来,运用自如,羡慕之余也不禁畅想着自己何时才有这么一天。

为了实现心中的目标,很多人捧起了各种神书,什么设计模式,什么算法导论,什么编译原理;而有些人则搞起了各种新潮的技术,什么Angular、ReactJS、Go、Node、Swift、Spark,他们都以为自己已经拿到了通往成功的钥匙,不过看了一阵发现,该听不懂的还是听不懂,书看的进展缓慢,狗熊掰棒子一样忘的比记得还快,技术淘汰的速度超过了自己学习的速度。怎么破?我给的建议其实很简单,就是:

1. 工作用什么学什么;

2. 先上手后学习;

3. 无目标不学习,学到够用就停止

1

工作用什么学什么

为什么建议从工作入手?因为这样可以最大化的借势,达到事半功倍的学习效果。曾经有只小小鸟做着一个C#的工作,但总觉得没有搞Ruby啥的高大上,用着IDE,总觉得没有用Emacs&Vim高大上,所以就白天硬着头皮用IDE搞C#,晚上下班后风风火火用Emacs搞Ruby。一年过去,累的跟狗一样,结果工作也没有干好,自己想学的东西因为没有使用场景也总感觉停于表面。后来痛定思痛,决定集中火力专心学学C#,将自己的学习与工作的方向调整到一致(而不是像之前总是忘两个方向使力,结果都相互抵消掉了)。最后发现反而事半功倍,工作也出成绩了,对于编程语言本身的理解也深度了许多。再去看Ruby或是其他更新的语言,反而轻松了很多,对,这个小小鸟就是我。

说起来简单,但是很多人还是会很纠结,生怕站错了队伍,选错了方向,选错了语言,选错了技术,输在了起跑线,就像我当年一样。走过来我才发现,其实作为当时的自己,无论学什么的效果应该都是差不多的,所谓殊途同归,触类旁通。而对于现在的自己,我已经有能力做出对于自己正确的选择,反而不会纠结。所以做不出选择只能代表自己不够强大,也代表此时的选择可能对自己的意义也没有那么大。念念不忘必有回响,学什么都是有用的,但一个重要的前提是学习的驱动力是兴趣而不是简单的作为一个挣钱的工具,引用罗辑思维里说过的一句话:“没有兴趣你将一事无成”。所以,我的建议是:

结论:工作用什么,学什么,以点带面,顺势而为,将自己学的东西与工作契合,利用所有时间学习。

2

先上手后学习

很多计算机知识都非常抽象难于理解,什么模式、内聚、解耦、架构、分层、并发、异步、静态、动态、过程、对象、函数、逻辑,还包括各种各样的语言和原则。这些抽象的概念是很难简单的通过“学习”可以完全理解的,因为它们都是从问题中来的,都是人们为了解决某一个问题想出来的解决方案。但是就像猴子定律(http://baike.baidu.com/view/1884756.htm)中的猴子们一样,我们已经慢慢忘了最开始不能去拿香蕉的原因,已经忘了问题,而将解决方案视为圣典,而后来的猴子们(小小鸟)在完全脱离了问题的前提下,单单去学习这些解决方案自然会觉得很抽象也很痛苦。

所以,作为勇敢的小小鸟,应该多问几个为什么(参考5why分析法:http://baike.baidu.com/link?url=Xz6k1-uoIy_BYxLAPy7XgJSRs3EZzapYkTuCqUu-5N8qNIqiO0wTGpqORR8ltFWgN9UfVNKQXVY7DLziQebphK),甚至勇敢的去摘一次那只香蕉,就当自私一点为了自己,知其然也要知其所以然。记住,那些“约定俗成”、“就应该这么干”、“大家都是这么做的”、“我们一直都是这么做的”都是狗屎,除非能说出问题给出原因,否则任何脱离问题给出的解决方案都是耍流氓。

结论:直接上手实践,遇到问题,先尝试自己解决,再带着问题去学习,这样的学习才会更有效率,理解也才会更深刻。

3

学到何时为止?

大牛们经常会指点我们学什么,但是一般不会告诉我们学到何时为止。而面对一本本厚厚的书,和外面各种新技术新框架的诱惑,我们不禁自问,这得学到什么时候啊。我们知道在设计上有种说法叫过度设计,那如何避免过度学习呢?过度设计是指去设计那些现在用不到的功能或结构,而过度学习则是指去学习那些现在掌握运用不了的知识。

TDD(测试驱动开发)是一种可以一定程度上避免过度设计的实践,追求刚刚好的实现和设计,无测试不开发,无味道不重构。而对于学习,为了避免过度学习,追求刚刚好的学习,可不可以引用TDD的思路,无目标不学习,一旦目标实现,这次学习就停止了,这个时候可以对这段时间的学习进行归纳整理,然后再制定下一个目标,由此持续的学习。 测试驱动开发:写一个测试 => 实现让测试通过 => 重构优化 (不断重复这个过程形成环路) 目标驱动学习:定一个目标 => 学习让目标实现 => 整理总结 (不断重复这个过程形成环路)

结论:无目标不学习,学到够用就停止。

最后

其实大牛们也是从小小鸟成长来的,自然也曾面对过同样的问题。但他们凭借对于技术的兴趣和热爱,禁得起诱惑,耐得住寂寞,守得住自我,日积月累自然就成就了自己。所以地球是圆的,技术也是圆的,无论那个方向,都会走到你想要的那个点,只要你在不停地一直往前走,正所谓可以十日不将军,不可一日不拱卒。

准备的很多内容其实还有很多问题没有展开,比如学习的深度与广度如何协调提高;如何面对层出不穷忽上忽下的新技术;时间如何管理规划;知识如何整理沉淀;要不要做计划,怎么做计划;如何走向大牛之路。一篇肯定写不完了,所以准备来个系列,慢慢写吧,欲速则不达,第一篇就算是学习起步篇,希望能有所帮助,未完待续……

原文发布于微信公众号 - 思特沃克(ThoughtWorks)

原文发表时间:2015-08-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逍遥剑客的游戏开发

走进VR游戏开发的世界

85010
来自专栏HTML5学堂

好书在哪里? —— 这是一篇不小心写成科普文的杂文

前段时间,为了研究python编程课程(如何设置编程课程更合适),在网络上翻阅了一些电子资料,也去图书馆逛了好几天。

1303
来自专栏求索之路

我的技术成长之路

上面就是我目前的状态了,如果大家觉得能力比我弱那么一丢丢的话,那么还是可以继续把文章看下去的,应该会对你有所帮助。

1122
来自专栏大数据文摘

重磅:如何不花钱就成为数据科学家?

2906
来自专栏韩伟的专栏

论游戏创新:玩法定律

技术改变思想 本文为系列文章《论游戏创新》的第四部分,共有5部分,敬请关注。 上一篇为《论游戏创新:好莱坞模式》 创意内容 在讨论了创新的外部环境后,我觉得看...

4376
来自专栏量子位

iPhone相册会自动归类内衣照?这项机器学习功能让妹子们炸了

夏乙 发自 凹非寺 量子位 出品 | 公众号 QbitAI 在iPhone自带的“照片”应用中搜“brassiere”,它就会把所有内衣照(如果你有)都给你汇总...

3684
来自专栏数据的力量

如何快速入门一个陌生知识领域

1777
来自专栏VRPinea

CryEngine 5来势汹汹,虚幻引擎4也不甘示弱——作为开发者该怎么选?

42113
来自专栏企鹅号快讯

GPU 高性能计算,加速脑与认知科学发展

项目背景 上海纽约大学是国家教育部正式批准的、具有独立法人资格和学位授予权的第一所中美合作举办的国际化学,也是纽约大学全球教育体系的组成部分。学校配置国际一流的...

21610
来自专栏华章科技

最牛B的编码套路

最近,我大量阅读了Steve Yegge的文章。其中有一篇叫“Practicing Programming”(练习编程),写成于2005年,读后令我惊讶不已:

773

扫码关注云+社区

领取腾讯云代金券