11.26 写给程序员的秘籍:你跟优秀程序员的差距,其实就在这几个方面

软件蚕食一切,未来属于程序员。所以人人都想当程序员。但是并不是每个人都能当好程序员。在你做出决定前还是先看看自己能不能当好程序员吧。

要记住的是,编程不是什么精英才能干的事情。

这个行业永远都缺人。所以除非你一点都不喜欢编程,或者也没有准备好看在钱的份上忍住这种不喜欢,否则都可以来编程。

写给程序员的秘籍:你跟优秀程序员的差距,其实就在这几个方面

如果纯以编码能力来看,可分为五类:

1. 拷贝型

拷贝型选手就是传说中的“代码拷贝员”了,他们对实现功能几乎没有思路,所作的事情就是从网上或是之前其他团队成员写的代码中拷贝出片段,然后放到项目中,如果运行项目出现了期望结果,则表示任务完成。这类人只会改代码,却不会写代码。他们大多对编程毫无兴趣,只是希望以此糊口而已。

2. 新手型

当产品有功能需求时,由于经验有限,程序员并不完全知道要如何实现这个功能,需要通过学习、寻找资料等方式来解决问题。这种情况下的编码过程,程序员的主要目标是“完成功能”,那么很难有多余的心思去考虑边界条件、性能、可读性、可扩展性、编码规范等问题,因此代码bug可能较多,稳定性不高,常常会发生开发花费1个月,改bug却要改上好几个月的事情。

3. 学习型

这类程序员对所在领域的语言已经比较了解,对于一般功能可以有较为清晰的实现思路,给出需求时可以通过自己的思路来实现,并且会一定程度上考虑边界条件和性能问题。但仅此而已,他们对可读性和可扩展性考虑很少,也没有项目级别的考虑,主要是希望通过实现代码来练手或是学习。

4. 实现型

这类程序员一般有较为丰富的经验,由于写得太多,因此不再追求“创造代码”来进行学习,同时对所在领域可能涉及的很多第三方框架或是工具都比较熟悉,当接受到产品需求时,对功能实现方案已经了然于胸,因此他们可以快速的实现需求,并且对边界、性能都有一定程度的考虑。

写给程序员的秘籍:你跟优秀程序员的差距,其实就在这几个方面

优秀程序员的几个表现

1、先进行实验是他们的本能反应

编译器和运行环境通常能比人更快地解释一个问题。一个优秀的程序猿在拿着问题去向别人寻求帮助之前,会自己试试看并判断方法是否有用,而不是直接找一个高级程序员问“我这么做有用吗?”。

2、对待代码和设计不要情绪化

代码就像纸巾:它有用你就用,没用了就扔掉。几乎我们所有人都认为代码复用( code-reuse )很重要,尽管确实如此,但是这也不意味着要像养孩子那样去对待代码。代码没有感觉也不会在乎,它们会像法兰克斯坦( Frankenstein )怪物那样攻击你。代码只是一堆字节,是一种责任( liability )。

3、对编程有激情

很多程序员干这一行只是为了挣钱,如果有更好的职业,他们会毫不犹豫的辞掉程序员的工作。而优秀的程序员热爱编程,喜欢钻研代码中的问题,他们感到能指挥电脑来帮助人们和自己解决现实生活中的问题是一种神奇的能力。当遇到问题无法解决时,他们会茶不思、饭不想,无法入睡。

4、君子善假于物

优秀的程序员知道如何能更高效的完成任务,如何更能有效的解决问题。当遇到问题时,不钻牛角尖,善于利用外部工具解决自己的问题,特别是能熟练应用搜索引擎。初级的程序员只会使用百度和百度知道搜索问题,而高级的程序员/优秀程序员使用谷歌和Stack Overflow或者MSDN forums这类网站寻找更优秀的答案。

5、不断学习

我们生活在一个有趣的时代。随着软件开发逐渐遍布全球各地,你会发现有很多人都可以干你的工作。所以你需要不断学习以保持竞争力。否则,你就会落伍,停滞不前,直到有一天,这份工作不再需要你,或外包给一些更廉价的劳动力。

那么我们能做些什么?有些雇主很慷慨,会提供培训以拓宽你的技能。也有的人会说我没时间或者没这个资金去接受任何培训。所以,关键是要摆正心态,学习是对自己的负责。

6、不要害怕破坏东西

每个具备行业经验的程序员肯定参与过代码库岌岌可危的项目。系统很糟糕,并且改变这边总是会破坏另一边不相关的功能。每次添加模块,程序员只能想着尽可能少地改变代码,每次发布都胆战心惊。这座软件的摩天大楼随时有坍塌的可能。之所以改动代码会如此伤脑筋是因为系统太糟糕了。但是即使你知道系统出了问题,却又因为投鼠忌器,而不得不听之任之。

写给程序员的秘籍:你跟优秀程序员的差距,其实就在这几个方面

要成为优秀的程序员(geek),都是自己一步一步努力的结果,从不吹嘘自己多么多么能干,多么多么 NB,他们很低调,甚至有时候有点闷。请谨记:

素质高:他们都有较高的的思想道德素质,说话谈吐都很舒服,不带脏话,虽然有点屌丝;

逻辑思维:理工科的男生思维都比较活跃,清晰;写代码之前都理清实现的原理再下笔;话说我们这还有个清华的女程序员,做事超级认真,职业素养非常高,程序都是一次性通过很佩服;

注重细节:代码缩进,变量命名,标点符号都需要做到规范,便于后期维护以及改版等等;

注重安全开发:程序员开发的代码不出现 bug 肯定是不可能的,除了修复 bug,一定要注意安全技术;

效率:不做无用功,碰到不能解决的问题,自己解决,不能解决就主动问,汲取教训,收获经验;

耐心:需求改变或者程序错误都需要静下心来不停的调试错误以及修改;就算有时候做自己不喜欢的事情,你也要坚持,也许会的达到意想不到的收获。

希望你也能成为一名优秀的程序员!

所以说,想要在程序员生涯内有更高的成就的话,最最重要的是尽可能的提升自己的编程能力,并且,与其想着怎么去提升,不如从现在开始动手动脑,如果对于C/C++感兴趣的话,可以关注+私信小编【编程交流】有一些学习文件希望可以帮助到你,学习不怕从零开始,就怕从不开始。

写给程序员的秘籍:你跟优秀程序员的差距,其实就在这几个方面


分享到:


相關文章: