微信号:coderising

介绍:工作15年的IBM软件架构师分享编程和职场的经验和教训, 不容错过.

编程的自学方法(续)

2016-08-11 20:54 张松易

在上一篇文章《编程的自学方法》中,我特别提出欢迎大家评论,大家也确实提出了好的建议和方法, 张松易同学还发来一篇长达2000多字的总结,写的很好,确实是自己的经历和经验, 非常真实, 今天发出来和大家分享。

 

另外,上一篇文章是评论多,打赏少:-)  ,  就送给张松易同学作为这篇文章的一点点稿费吧。  对于其他精彩评论,我会联系作者发个小红包 :-)

我知道大家的时间都很宝贵,所以我把本文的要点摘出来列在前面,后面的细节是我的一些个人经历和看法。
 
核心: 预设自己学习的目的与效果,有的放矢
原则:
1. 效率优先,抓大放小
2. 自学的同时也要关注最新的技术趋势
3. 耐住寂寞,坚持不懈
4. 找到适合自己的学习方法
 
先介绍一下我的经历,我是从达内培训出来的,现在从事Android开发,之前所学与从事的都与编程无关。
 
我认为自学最重要的就是知道自己想要达成一个什么效果,看视频也好,读书也好,先在网上搜搜别人的评价,看看适不适合现在的自己。
 
我在培训结束之后觉得自己的Android基础太薄弱,所以买来郭霖的《 第一行代码》通读了一遍,把大部分Android的常用技术又过了一遍。
 
之所以说过了一遍,是因为我在培训的过程中发现,即使我对一个概念或方法研究的再深入,甚至是照着敲十遍达到死记硬背的效果——别怀疑,我真这么干过—— 如果用不到,一个月之后肯定就忘了
 
所以这是我自学的第一个原则,效率优先,抓大放小,无论是看书还是看技术文章,肯定会对一些细节有疑问,如果我不能在20分钟内通过Google解决疑问的话,我就放弃继续深究下去。
 
也不用担心以后如果用到了怎么办,原因有二:

一是如果这个细节在日后的工作甚至是日后参加的开源项目中真正用到的话,再研究不迟,而且那时会更有效率而且更有针对性;

二是随着日后水平的提高、知识的丰富,之前困扰我的问题也许就会迎刃而解,或是从一个更高的角度理解,那样会更有效率。
 
因此我在读《第一行代码》时,如果遇到书中代码所引用的方法废弃了,或是与书中有冲突的时候,我都不会在意,因为Android的变化很快,方法的废弃与更新也都很正常,我要学习的是Android的核心知识点,相比而言一两个方法的变化就显得不那么重要了。
 
之后我读《 编码:隐匿在计算机软硬件背后的语言》,是为了在脑中有一个计算机从无到有,具体是如何工作的大概印象,所以我要学习的是如何搭建一台属于自己的计算机,对于其中的电路图部分,我都是略过粗读的。
 
我读《 算法》是为了弥补自己基本功不足的问题,而且在刘欣老师的文章《 假如我是计算机系老师》里明确说要把书中的题都做一遍,所以我读《算法》的目的就是为了补全基本功,哪怕读的再慢,做题花的时间再长我也不能加快阅读的速度。
 
至于其中用到的Java库和Java命令行自然就不算核心内容了。从上述的书单中也 很容易能够看出我的思路,补全Android知识——了解计算机结构——补全基本功。
 
这就是主旨的作用,知道自己要学的是什么,要去看什么书,想要达到一个什么样的效果,这样才能有的放矢。
 
在自学的同时,我也会关注最新的技术发展与趋势。除了关注一些大牛的公众号、微博、Github这些常规手段之外,我还会参加北京GDG的活动。其实参加这些活动也是一个很有趣的事情,之前没接触过的东西可以了解了解,之前接触过的东西看看别人是怎么看的。
 
而且我不只参加Android的活动,编程都是相通的,多了解了解总不会有坏处,再说Android还能再活几年呢?这个谁也说不好。
 
此外我还加入了 谷创字幕组,不仅可以拿到第一手的官方技术视频,还能提高自己的英语水平,还能认识很多有趣的人,一举多得。
 
但是,我们也不得不承认,现在的技术真的太多了,新技术更新的真的太快了,而且编程也只是我们生活中的一部分,我们是不可能一个人了解全部的技术、掌握全部的技术的,如何分清主次呢?
 
又要回到主旨了,我现在自学最重要的核心是什么?补基本功,因此我的做法就是新技术只浏览就好了,大概有个印象,然后收藏到浏览器的书签里。如果日后的工作中用到了,我直接从书签里找就可以了。
 
确立了自己的基本学习方法之后,要做的就是 耐住寂寞了
 
其实培训的时候我还是遇到了很多牛人的,有一位同学特别爱看源码,与我们讨论的时候总是说谷歌的官方文档是怎么怎么说的...炫酷到不行。
 
还有一位同学抱着一本五六百页的英文书在那看,一下就把我们秒杀了。
 
而我想说的是,一旦确立了自己想成为一名程序员的想法,就要坚持下去,不断修正自己的学习方法,一旦确立了自己的学习方法,就不要再被别人轻易所左右。
 
有的人就是喜欢读源码,有的人英语水平就是很高,培训结束之后我也可以选择接着读安卓源码方面的书,但是我觉得自己的基础太差,所以痛下决心开始补基础。
 
在这之后我也遇到了很多大牛,技术比我好,年龄还比我小,但是我认为我爱的是编程这个行为,而不是跟别人比来比去。
 
我能够从事一份自己喜欢的工作,已经非常的幸运,剩下的只要努力就行了。
 
最重要的,还是要找到适合自己的学习方法。写了这么多,我真的也不奢望这些能对大家有什么明显的帮助,我个人的经历也未必适用于每个人,我的学习方法之后也许还会一改再改。
 
但是我把我确立学习方法的思路、经历分享出来,把我个人对编程、对新技术的看法分享出来,就是希望能让大家有个参考和启发。当然,其实最最重要的就是:  马上行动起来。
 
PS:关于培训我的看法是:如果你想最快的进入编程这个行业,找一个不错的培训机构仍然不失为一个很好的选择(达内也可以),如果你只是想在业余时间学习一下编程不培训也完全可以,Java入门我推荐Mars老师的视频,Android入门推荐郭霖的《第一行代码》。
 
PPS: 关于没有项目的问题,我觉得还是从自己的兴趣出发。因为之前我上大学的时候特别喜欢登山,所以之后我就给我大学时参加的社团登山协会开发了一款名叫“山水人”的app,其实app本身非常的简单,但是过程很有意思,收获也很多。同样地,如果你喜欢某样运动或是某个明星,做一款相应的app,放上你想要的功能,也会有很大的成就感和收获。找到自己的兴趣很重要。

(完)

你看到的只是冰山一角, 更多精彩文章,尽在“码农翻身” 微信公众号, 回复消息"m"或"目录" 查看更多文章


我是一个线程

我是一个Java class

Javascript: 一个屌丝的逆袭

Java : 一个帝国的诞生

我是一个网卡

我是一个路由器

TCP/IP 之 大明王朝的邮差

CPU 阿甘

CPU 阿甘之烦恼

Basic : 一个老兵的自述

小王的架构师之路

程序员在工作中必备的能力

码农需要知道的潜规则

IE为什么把Chrome和火狐打伤了

Node.js :我只需要一个店小二

假如我是计算机系老师

假如时光倒流,我会这么学Java

学会编程,而不是学会Java

15年编程生涯,资深架构师总结的7条经验


公众号:码农翻身
“码农翻身”公众号由工作15年的前IBM架构师创建,分享编程和职场的经验教训。
推荐一个叫掘金的开发者社区,很多技术干货,  我的文章也会在这里分享 : 

掘金是一个高质量的技术社区,从 Swift 到 React Native,性能优化到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。


 
码农翻身 更多文章 编程的自学方法 小超穿越记 搞懂了这几点,你就学会了Web编程 来QCon,邂逅国内外技术大咖 "饿了么"初体验
猜您喜欢 如何姿势正确地开始一个Android项目 算法实战 | 图像处理, 宽度优先搜索, 位运算 “天猫·喵葩”电商互动生态共创论坛-深圳站 小tip:纯CSS让overflow:auto页面滚动条出现时不跳动 我是如何向别人提问题的?