程序人生:优秀程序员是如何思考的?又是怎么学习新技术的?


 

前言:程序员们辛苦地学习,有的没有好的效果,有的过程充满痛苦,有的更是不知道我学它的目的是什么。程序员

国内的教育体制,培养了这样一批人:面试

他们努力、奋进,热爱技术,愿意投身软件行业,愿意写出高质量的代码,他们对业界的东西很感兴趣,他们愿意学习扎实的基础知识,他们渴求火热的新技术……编程

几年之后,他们拥有普遍的视野,阅历宽阔、经验老到、言辞犀利,对行业动态了如指掌,显然,他们是行业的博学者。网络

然而……架构

他们却缺少这样一种能力——思考。框架

欠缺思考容易致使这样的现象:学习

不会作设计编码

遇到了问题,拿见到过的、学到了的熟悉的框架、方案、模式往上套,而不仔细分析其中的利弊,只是尽量地寻找最接近当前问题的解决途径。spa

不能坚持本身的观点操作系统

这一点在面试中最容易观察到。应聘者有刚毕业的学生,也有工做超过10年的有丰富经验的从业者。

他给出一个粗略的方案之后,在方案没有细化到必定程度之前,很难给出优劣的评论,可是,若是你轻轻地challenge一下,他就迅速放弃原本的构思,跑到你的思路上来。

例如,SNS系统中,服务端有消息要怎样通知到客户端,这样的一个问题,解决方案有不少种,好比客户端轮询、服务端hold住链接推送等,各有利弊。应聘者应当有本身的观点。

 


 

不能细化一个问题解决方案

怎样区分一个空谈家和一个实干家?给他一个具体的问题是最好的办法。在我刚工做的时候,我曾经很钦佩那些在活动中、讨论中高谈阔论的人,我以为他们很能说。

但是后来我逐渐发现,能说的人实在是太多太多了。细化设计、甚至落到编码,才是对一个程序员真实的检验。

固然,若是你以为作软件设计的人能够不熟悉编码、架构师能够不首先是一名高级程序员,那咱们也没有什么可谈了:)。

若是你会学习,你能够成长得很快;若是你不会思考,你永远只能跟在别人后面。

新技术学习的方式呢,我想说这么几点:

寻找切入点

最好是要落到动手实践上去的,可是假若习惯从那些原理介绍的文字入手,何尝不是一种很差的选择。

并且,现实状况会有一些约束,例如在了解几家互联网公司的云平台的时候(Amazon的EC2,M$的Azure等等),除非你是这几家公司的员工,不然是很难深刻其中的。

寻找本身的兴趣点

学习应当是一件有意思的事情,当你的大脑排斥它的时候,我不相信能够很容易地掌握这门新技术。

若是你找不到兴趣点,那么,不妨回到我前文对于新技术是否值得你学习的观点上去,既然你没有什么兴趣,你学它干吗?

善于比较

比较是一种很是容易上手的思考方式,和什么比较?和类似技术比较,和操做系统、网络这些基础设施上面的例子比较,最后,和生活中的例子比较。

不断得到回馈

回馈是什么?作出一个HelloWorld的例子,就是一个极好的回馈;理解某一项实现原理,联想到其它相似的实现,产生一种恍然大悟的感受,也是一种回馈。

 


 

在学习的过程当中,不断产生回馈,意味着你不断地收获成就感,这是继续下去的动力之一。

 


 

另外若是你想更好的提高你的编程能力,学好C语言C++编程!弯道超车,快人一步!笔者这里或许能够帮到你~

分享(源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比本身琢磨更快哦!

免费学习书籍:


 

免费学习资料:

相关文章
相关标签/搜索