前言:程序员们辛苦地学习,有的没有好的效果,有的过程充满痛苦,有的更是不知道我学它的目的是什么。程序员
国内的教育体制,培养了这样一批人:面试
他们努力、奋进,热爱技术,愿意投身软件行业,愿意写出高质量的代码,他们对业界的东西很感兴趣,他们愿意学习扎实的基础知识,他们渴求火热的新技术……编程
几年之后,他们拥有普遍的视野,阅历宽阔、经验老到、言辞犀利,对行业动态了如指掌,显然,他们是行业的博学者。网络
然而……架构
他们却缺少这样一种能力——思考。框架
欠缺思考容易致使这样的现象:学习
不会作设计编码
遇到了问题,拿见到过的、学到了的熟悉的框架、方案、模式往上套,而不仔细分析其中的利弊,只是尽量地寻找最接近当前问题的解决途径。spa
不能坚持本身的观点操作系统
这一点在面试中最容易观察到。应聘者有刚毕业的学生,也有工做超过10年的有丰富经验的从业者。
他给出一个粗略的方案之后,在方案没有细化到必定程度之前,很难给出优劣的评论,可是,若是你轻轻地challenge一下,他就迅速放弃原本的构思,跑到你的思路上来。
例如,SNS系统中,服务端有消息要怎样通知到客户端,这样的一个问题,解决方案有不少种,好比客户端轮询、服务端hold住链接推送等,各有利弊。应聘者应当有本身的观点。
不能细化一个问题解决方案
怎样区分一个空谈家和一个实干家?给他一个具体的问题是最好的办法。在我刚工做的时候,我曾经很钦佩那些在活动中、讨论中高谈阔论的人,我以为他们很能说。
但是后来我逐渐发现,能说的人实在是太多太多了。细化设计、甚至落到编码,才是对一个程序员真实的检验。
固然,若是你以为作软件设计的人能够不熟悉编码、架构师能够不首先是一名高级程序员,那咱们也没有什么可谈了:)。
若是你会学习,你能够成长得很快;若是你不会思考,你永远只能跟在别人后面。
新技术学习的方式呢,我想说这么几点:
寻找切入点
最好是要落到动手实践上去的,可是假若习惯从那些原理介绍的文字入手,何尝不是一种很差的选择。
并且,现实状况会有一些约束,例如在了解几家互联网公司的云平台的时候(Amazon的EC2,M$的Azure等等),除非你是这几家公司的员工,不然是很难深刻其中的。
寻找本身的兴趣点
学习应当是一件有意思的事情,当你的大脑排斥它的时候,我不相信能够很容易地掌握这门新技术。
若是你找不到兴趣点,那么,不妨回到我前文对于新技术是否值得你学习的观点上去,既然你没有什么兴趣,你学它干吗?
善于比较
比较是一种很是容易上手的思考方式,和什么比较?和类似技术比较,和操做系统、网络这些基础设施上面的例子比较,最后,和生活中的例子比较。
不断得到回馈
回馈是什么?作出一个HelloWorld的例子,就是一个极好的回馈;理解某一项实现原理,联想到其它相似的实现,产生一种恍然大悟的感受,也是一种回馈。
在学习的过程当中,不断产生回馈,意味着你不断地收获成就感,这是继续下去的动力之一。
另外若是你想更好的提高你的编程能力,学好C语言C++编程!弯道超车,快人一步!笔者这里或许能够帮到你~
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比本身琢磨更快哦!
免费学习资料: