一个程序员前辈教给我的学习方法

今年转行开始做前端程序员,新入职场公司安排一个全栈大牛带我。
从决定转行起,自学了大概半年,感觉还不错,比传统的老师授课模式效果好多了。在这个过程中我领悟了一个道理:

学习说到底还是自己的事,有人教自然好,但是主要还是依赖自己下功夫。

事实上,今天我还是这么认为的,所以当初对于公司的安排我不以为意。没有想到,在三个月后前辈给了我两个意外:

  1. 他刷新了我对学习编程的认识。
  2. 他在我入职三个月后离职了。

工作已经半年了,我在实践中不断反思他说过的话,也逐渐能明白他当时的意思,现在做一下总结。

注重实践,理解放后面

工作中会遇到各种难题,然后我去找前辈请教时, 常常本被前辈说问了一个错误的问题,并念叨着:“注重实践,理解放后面。”学习就是对知识的理解,为什么要放后面呢?我们来剖析一下这个问题:

  1. 没必要讨论原理,每个人的理解不同
    所谓的理解,就是对代码实现原理的理解,当前代码实现逻辑的背后往往还有源码,而源码的背后还有更深的源码,所以原理本身是复杂且有相对性的。因为这种特性,导致了每个人对原理的理解是不同的。对于这种复杂且没有标准答案的问题,讨论起来对现实的意义很小,所有没有必要讨论。

  2. 若理解是正确的话,可以找到方法来证明,不需要跟人讨论
    代码是可以不会骗人的,所以相比于跟人讨论,不管从效率角度还是不被误导的角度来看,用代码验证理解都是最佳选择。

  3. 没有足够的前置知识,无法谈理解
    当双方没有具备在一个层次上的相关的知识来谈原理, 往往不构成交流,只是鸡同鸭讲,浪费时间。

  4. 关注解决问题的方法才能离真相更近
    在不断遇到问题,寻找方法解决问题中,自然会对代码产生理解,而这个理解是不断变化的,也会离真相越来越近。
    重要的是不断找方法解决问题,在这个过程中加深理解。

  5. 小心复述的陷阱
    我一直有一个复述的习惯, 在别人对我讲话后, 我会复述一遍以确定是否理解正确。通常情况下这个习惯有利于提高沟通效率,在某些时候这个习惯也会有害。
    当我们在复述的时候,会强化自己的记忆,比如大声朗读有助于记忆,能被唱出歌词也跟容易被记住。同样复述理解时会强化它们在大脑中的印象。
    之前已经讲了理解是在实践中不断变化的,所以当前的理解往往是片面的,而这些片面的理解有可能阻碍我们之后正确得理解代码。
    所以我们应该重视重现方法而不是复述原理,因为复述原理可能会强化我们错误的理解。

经验路线和深度路线

程序员在经历过职场的3年野蛮成长后,大体会分化为两种路线:广度路线和深度路线。

所谓广度路线就是在有一定基础后,将更多的精力花在接触各种不同方面的技术或工具上。

所谓深度路线就是将更多的精力投入到进一步加深工作领域内的知识和能力中。

在实践工作中,我们依赖的东西很多,单纯追求深度路线,并不能很好的适应不断变化的 IT 行业。

由于技术间有很多东西是相通的, 所以在学习新技术的时候,学习效率和掌握水平往往由之前已掌握的技术深度决定。而单纯追求广度路线,由于深度不够,所以新技能的能力不足以有效解决工作中的各种问题。

总体而已, 深度和广度需要平衡发展。

另一方面, 做了几年的程序员,容易自满,再加上深度路线需要持续的钻研和实践,且很容易自以为懂了而停滞不前,所以有些程序员再不往深度方向走了。于是整天嘴里都跑着新名词,谈着架构,但是不能解决工作中碰到的难题。

避免赶代码

现在都在追求小步快跑,快速迭代,在加上行业节奏快,老板催得紧,所以加班对程序员来说是家常便饭。

尽管我们都知道只写自己熟悉的代码,不学习,能力提不高,工资也提不高,但是面对 deadline 的压力,如何能静心钻研下代码的工作原理?

想解决工作和学习的平衡问题,首先我们的觉察到自己是否正在赶代码以完成工作。

我有每天写日记的习惯,所以我的自我觉察方法就是每天写日记时,问问自己,是否在赶代码。

赶代码的标准如下:

  1. 直接 Copy&Paste 网上搜索到的代码,不管其中的逻辑。
    我们经常会引用一些代码来解决问题,引用本无可厚非,但是也需要知道插入进来的这段代码到底是在干嘛,和之前自己的写法有什么不同。

  2. 碰到问题, 试各种写法,一旦试成功后就完事了, 不考虑到底几种写法的区别。
    我这方面比较严重的是 css 代码, 只是胡乱拼凑各种参数, 而没有理解各种参数的实际作用。

  3. 只是单纯参考文档来写,不思考这个框架或工具的内部逻辑。
    比如在学习使用一个框架的时候,会在各种demo 的代码, 这时需要理解这些代码的逻辑,而不是改改能用就行了。当然不是要深入到源码去理解,对于刚开始使用的框架,只有大体知道每一块代码是干嘛用的就行了。

在察觉到自己的赶代码行为后,还需要深入的思考下自己这么做的原因, 这里列举下我察觉后的结果:

  1. 回避难点
    当代码中遇到难点时,应该试图弄清楚,而不是单纯找个 workgroud 的方法草草了事。

  2. 获得团队的认同
    团队的认同感其实就是信任,首先培养信任是一个长期的行为, 其次信任来自于任务的妥善完成, 只重视量而不重视质的赶代码行为显然不是一个好的信任培养策略。

  3. 享受做得快的快感
    快速写出一堆可以用的代码确实很产生快感,但是这种快感只在短期有效。我们应该提高快感品位,做能产生长期快感的事情。

先框架还是先语言

我们经常会碰到多看语言书还是多学习框架的选择题。之前我一直觉得显然语言更重要,框架总在不停的出新,而语言的变化性就小得多。
现在发现,对于程序员新手来说,先学框架更重要。因为掌握框架后容易找到工作平台,并快速成长到能为团队产出。一个工作平台对新手程序员的成长至关重要, 至于语言和代码能力,可以在之后来补。
至于技术的选择,对新手来说最好的方式就是跟着项目走,这样更容易实践和成长。技术和技术之间有很多是相通的,当学习到一定深度时,再转而学习其他技术也会很快。

关于工具的选择

我们是生活在“轮子”上的一群人, 整天找轮子,比较轮子,甚至造轮子。程序员界激烈的“编辑器圣战”,“什么是最好语言”可以看出我们对轮子的热爱。
但是我们在折腾轮子上也浪费不少时间。总想找到一个"完美"的轮子,优雅地解决我们所有的问题,又足够简洁。之后我明白了,关于轮子的选择,不用想那么多,也不用讨论那么多,更不没必要去争论什么。
我们只需要多尝试,然后选个大体适合自己的就行了。
别磨刀耽误了砍柴。

博客和书

读书和看博客是一般擅长阅读学习的人的常用渠道。那么这两种方式有什么不同呢?

由于技术发展很快,所以书本的出版往往滞后,所以书上的有些知识其实是过时了的。但是作者为了写一本书会积累更多,沉淀更久,所以写出来的东西也会更有深度和总结性。

因此我们若想技术进阶, 掌握核心思想,就应该多读书。

与书本相反,博客更新很快,篇幅很短,所以一些关于新技术的讨论往往只能在博客里找到。由于篇幅有限,博客的作者只会针对一个点或几个点来阐述, 相比于书会显得浅显和片面。

因此我们若想了解新技术或者快速入门,可以多看看博客。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容