程序员探险记4-学习篇-加速度

 

知识是学不完的,但可以找到正确的学习方法加速成长。就像查理.芒格所说,人类只有发明了发明的方法之后才能快速发展;我们只有学习了学习的方法之后才能成为高手。这和前面【面试篇】中提到的(《高效能人士的七个习惯》中第三个习惯——要事第一)是同样的道理:学习方法比学习更重要。 我将学习方法归纳成三点:要点+坚持+手段。

        首先我们要找到哪些是以前很重,现在仍然重要,未来可能同样重要的知识,并深刻领悟出其中的思想。在我看来这些知识大都是偏向底层的基础(下一篇【编程篇】再细致讨论),其中又蕴含着同样的思想。这就像习武修炼内功一样,打通了任督二脉,再领悟上层的招式就易如反掌了。

        然后学习贵在坚持,终身学习已成不可逆转的趋势。这两个公式最能反映坚持的效果:1.01的365次方=37.8, 0.99的365次方=0.03。

        最后是学习的手段,当然每个人可能会有不同的适合自己的手段。我的学习手段是看书+实践+交流+构建。

看书。不要当一个“百度”或“google”程序员。我见过很多的程序员不看书的,他们喜欢去看别人的博客或者百度搜索的文章,浅尝辄止。这样学习的知识是零散的,过几天很快就忘记了。

实践。知识如果不能改变行为,就没有用处。而知识一旦改变了行为,本身就立刻失去意义。所以我们需要不停的去实践学到的知识,会得出新的认知,再去实践,形成良性循环。

交流。可以摆脱思维定势,避免闭门造车,应该多从外部吸收一些好的想法和建议来取长补短。正所谓三个臭皮匠,赛过诸葛亮。

构建。通过思考,对比(横向),总结(纵向)。通过关联将知识结构化,结成网络,达到融汇贯通,举一反三,最后条条大路通罗马。(为什么通过关联可以更有效的学习,有兴趣的同学可以了解一下大脑的缘脑阻断机制。我更愿意相信天赋是因为别人克服了缘脑阻断机制)。

下面是我采用的学习手段中关于构建的分享:

        计算机世界是对人类现实世界的模拟,所以计算机里面的概念都能在现实世界找到原型。比如代理模式(中介),IOC(好莱坞法则),缓存(藏书室-书架-书桌),分层(分工),队列(生活中排队),适配器(转接头)等。在学习过程中带着这种类比的思维去学习,会很好理解且记忆深刻。

        知识的积累是一个集合结构>线性结构>树形结构>图形结构的过程(还记得数据结构中的四种逻辑结构吗)。知识结构如果形成纵向(面向对象继承思想)+横向(面向切面思想)的纵横交叉的网络,会更加的牢不可破。这里我举三个例子。

1 负载均衡这个根节点下,包含子节点nginx,LVS, 硬件负载均衡如F5等。纵向我们要关注凡是负载均衡都要面临的问题(调度算法,会话问题,反向代理知识等);横向更应该从osi七层网络模型角度进行对比。因为负载均衡工作的网络模型层次,决定了它的性能、特点和场景。这就是为什么计算机网络基础很重要的原因。

2 面向对象语言这个根节点下,有子节点java, c++,python, javascript等。 纵向我们要关注的是所有面向对象语言的特性——继承,多态与封装; 横向可以从静态语言/动态语言,解释型语言/编译型语言,强类型与弱类型语言的特点等角度进行对比。语言的设计与运行采用了那些方式,决定了语言的性能,灵活性,安全性等。

3 数据库这个根节点下,包括Mysql,redis,mongodb,cassandra等 。纵向我们要关注所有数据库共同的特点如数据模型,持久化方式,事务支持,索引,日志等。横向可以从高可用与高性能下的多节点(包含主从,集群,分片三种模式。每种模式有这多种实现方案,都会包含相同的技术比如sentinel,proxy,副本集,分片,选举,复制等。这些技术都需要解决相同的问题如一致性,主从切换等)管理等角度进行对比。

这样在面对一个同类型的新技术时,应变能力强,学习速度快,就不用从零开始。所以现在有些人不断追求新的框架,其实是本末倒置的。我认为一个优秀的软件工程师需要三大能力1编程能力2、架构能力3、工程能力。接下来的三篇文章【编程篇】,【架构篇】和【工程篇】将分别来讨论。

 

回到首页——程序员探险记1-开篇-起航

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值