万树IT:不聪明又成绩不好,能学编程么?

来源:互联网 发布:java sftp 上传文件夹 编辑:程序博客网 时间:2024/04/28 22:21
 优秀的程序员和高智商无太密切的联系。你越谦虚,进步就越快。如何执着地用聪明的方式去处理事情,比你有多聪明更重要。要想懂怎么写出优秀的代码,就得具备非常强的吸收细节的能力。
    
在很多人的思维方式里就觉得,做程序猿的肯定很聪明吧?英语肯定很好吧?那么多英文代码?逻辑思维能力肯定很强吧?总觉得做程序猿的人更方面都很厉害,就是你遥不可及的天才一样。
 
    甚至也有程序猿被问到这种类似的问题的时候也是“故作谦虚”的接受了这些崇拜,于是这个观点就变得根深蒂固了
认为做程序猿的就必须得是高智商,英语好什么都懂。
 
    其实真的是这样吗?
 
电脑编程被发明出来不就是为了弥补人类大脑的缺陷吗?
 
    人类要开发大量具体的应用程序,编程语言从机器语言往高级语言发展就成了必然趋势。编程语言越接近高级语言,就越符合人类的思维方式
 
从简易程度的角度来看,编程语言发展到高级语言后,编程这件事情就变得更容易了。

 
在这个日新月异的科技时代,什么都在不断的变化,在不断的更新,变得越来越贴近人类生活,越来越简易。
 
现在的一个程序猿要做的事情甚至可能是十年前十个程序猿的工作量,开发过程变得简易了工作量和效率自然会高,而且程序猿的人数也在一直上涨的趋势。
 
某家公司招聘程序猿,就有两个很鲜明的对比。



 
 
 
        第一个来面试的是在校期间就自己自学的Android开发,他展示了五个 Android 应用,并很自信地说:“这都是我一个人以外包身份给某公司开发的。”

 
而后便是进行一些简短的问答,据他所说他的Android都是自学,基础不是很好但是动手能力很强,而在他不会做的时候都是去网上查方法,很多东西全都知道怎么去运作只是不知道为什么要这样做。
 
        从动手能力方面来看,他就是人们传统认为的那种 “聪明” 的人,但是他最后却没有被公司录取。因为他认为自己很聪明,然而却不能正式自己的缺点,动手能力强却不了解技术细节,他对代码的认知还停留在 copy 和模仿阶段,如果不参考事例,就不会写代码。
 
        互联网行业中,很多工程师和这位同学一样。这类同学统一犯了一个错误:被”简单”的技术蒙蔽了双眼,使得找不到进步方向和空间。




 

 第二个相比起第一个人来说就相对木讷一些,人没有那么聪明,在面试的时候还有点紧张,为了了解他技术的深度,我开始围绕方案问技术的实现细节。
 
有些方面哪怕有些他接触不多的他也能说出自己的见解。这是他较为出色的一点。
 
最后问了他一个问题,给他去接手一个全新的项目是否有信心做好,他回答大致为:
        这件事情会很难,而且很多东西都没接触过。但是事情是可以的,也有价值。在具体实现上会遇到很多技术难点,需要花时间,但一定能做。

在平时编程工作中,一个工程师是否厉害,并不能简简单单从代码能力一个点上来衡量,而是要结合各种情况。



 
编程语言从机器语言发展到高级语言很多改善都是为了弥补人的智力缺陷,将代码减少把系统“分解”都是为了减轻大脑负担,以此来便于人脑的理解等方面的改善。
        从另一个角度来看,可能一个高智商的程序猿是可以写出一个很复杂又很完善的系统,但是如果写出来没人能懂,没人去维护那这个系统又有什么用呢?
    评价一个系统的好坏除了能正常运行之外还要考虑扩展和易维护性等,就像程序猿一样,一个好的程序猿不仅仅只是高智商就能成就的,还有很多细节方面,也许那就是你比别人强的方面。

阅读全文
0 0