0

如何养成一名优秀的程序员

已有2338人阅读此文 - - 归档 - luoyy -

如何养成一名优秀的程序员

如何成为一名优秀的程序员,优秀的程序员是如何养成的,怎样成为一名优秀的程序员?

1. 优秀的程序员标准

优秀的程序员标准:对技术充满热情;编程是生活的一部分;如果你有兴趣的话,会在你的耳边谈论技术相关的话题;主动学习新技术;对自己不能认同的技术,感到不适应,无法全身心投入(在某些方面);足够聪明,对很多话题都感兴趣;在大学/工作之前就开始编程了;有隐藏的冰山,有(能)自己完成的大项目;对许多不相关的技术都有了解。(那么再来问问自己达到这个标准没有,又达到了几点?)

2. 灵活编写程序

程序员写的程序不是‘算法+语法’,而是要能够满足用户需求的工具,要想达到用户需求就必须从各个方面来考虑,如业务、人机交互 、效率等方面,而不只是一个语言(语法)的问题,语言(语法)只是工具,只知语法不知其他那就真是机器人编程了!

3. 熟练的基本功

向你提出一个问题,并在这个问题上不断的深化,看你解决问题,分析问题的思路。计算机是一门综合性学科,所以我觉得出现偏才的概率会低于其他的领域,我不认为一个C程序员只懂C语言本身而不懂操作系统,编译原理,数据结构等。PHP的学习也是一样,如果你只是会PHP而不会前端web的一些基础,只有掌握大部分的知识才是一名优秀的程序员。

4. 性格决定你

让你动手写一段代码,主要考核你这个人是否认真,仔细。面试官问你什么邮箱的正则表达式怎么写(问题也可能是其它的),你说网上找找就可以了。我觉的你这样的一个人不热爱技术,不喜欢动手实践,最多也就是一个码农。(搬砖的)

      1. 什么时候觉得自己是优秀的程序员

有的时候我觉得自己是优秀的程序员,什么时候呢?当我解决问题的时候,当我学会一个技术,并且能应用于项目中的时候。我都会心里夸自己“厉害,你牛,你真牛”,这时候我整个人都飘起来,心情极佳(当然也少不了去炫耀一番)。这时候我觉得整个世界是这么美好,所有的人都是那么和蔼可亲,我也乐于帮助别人

      2. 什么时候觉得自己不是优秀的程序员

有的时候我觉得自己不是优秀的程序员,什么时候呢?当自我感觉在某个技术方面已经很明白了,却遇到比自己更明白的人。当工作的时候,产品或者测试不断地给你找麻烦,让你加班加点的时候,我会生气。当我发现很多方面我还是菜鸟的时候。当我发现我在与别人沟通,老是有麻烦的时候。 这个时候自己下来就要多学习,生活中没有那么多借口,出现问题都是自己的原因,就像程序一样,不管什么错误都有报错原因,而造成报错的根源也是你自己书写不规范造成的,所以我更多的是要去问自己为什么?

5. 你的成绩历史

       看成绩。以前我对这个很不理解,毕竟成绩只是代表过去的东西。但直到一个很NB的外企来我们学校指定要GPA多少多少的时候,HR说成绩代表了你过去四年对你的工作一个认真负责的态度。而一个人的习惯,很难改变(也是可以改变的,只要有动力) –-转自百度

6. 灵活运用,举一反三

审查你的代码,看是否善于提问,懂得若何运用搜索引擎。让你详细描述之前项目中遇到的问题和解决办法。程序不是用人堆出来的,花两个普通人的钱请一个高手,你得到的肯定比你请两个普通人多。

7. 对待工作的态度

认真负责是一个很广泛的话题,我觉得识别的方法也是有很多种的,比如跳槽时如何为前一家公司做了怎样的交接,或者是不是一个乐于帮助朋友并受朋友欢迎的人,上班是不是认真对待工作,有没有在做与工作无关的事情,有没有工作任务的拖延等。一个人能对朋友的事认真,对自己的事会更认真,同样对待工作也是一样。

8.技术交流话题

通常一个技术人员如果拥有自己的博客,阅读他(她)博客的内容是比较直接的,但是国内的博客不乏一些抄袭现象,甚至连有错误的内容都不假思索地乱抄一通,技术之间的交流我觉得可以根据在他(她)博客中涉及到的内容逐渐把话题展开,挑他(她)擅长的话题聊下去。(也少不了工作之中的技术交流,比如项目的模块)

9.是否专注于某一领域

考察是否专注于某一领域,或者对某一技术兴趣很高。

1.    学习能力是否很强,能否独立解决问题。

2.    对于问题,能否提出自己的方案,并对方案进行优劣评价。

3.    是否注重团队协作,理解团队的力量。

4.    否善于与他人分享知识,主动帮助他人解决问题。(而不是更多的去嘲讽他(她)人)

作为一名优秀程序员应注意的几点

10.团队精神

开发是一种团队工作,如果一个PHP程序员只懂得语言本身,不懂htmlJavaScriptCSS,那么他(她)和前端开发交流一定很困难;不知道什么是SQL,视图,存储过程,那么DBA[数据库管理员(Database Administrator,简称DBA)]说什么他也基本听不懂。如果过去你只学习你喜欢的学科,研究你喜欢的东西,对你不感兴趣的东西不认真对待,那么在团队中也要以你为中心吗?给你分配你喜欢的任务,其他的任务交给别人?如果有一天你突然对你的工作不感兴趣了,那还要另外找你感兴趣的事情给你做吗?(答案是不可能的)

11.自主学习,升华自己

有时间去读读博客、学习新语言和框架、参与讨论以及看看同行在干什么。两耳不闻业界事,你就无法成为一名更优秀的程序员(不要觉得你现在很厉害,山外有山,楼外楼)。每天工作24小时是不会让你变得更有效率。休息、回家,然后打个盹。通常,很多难题是在我回家的时候解决掉的,解决方法通常在我上班(下班)路上或第二天早上突然想到。不要害怕替换、重写、重构或者放弃垃圾代码。有时候,如果碰到可留可不留的代码,直接扔掉才是上策。永远不要爱上你的代码。

12.审计代码(review

代码审查是一个不错但很少用的想法。指导经验比你少的程序员,有助于整个团队(当然也有虚心求教的,你也需要热心指导)。不要公开批评他人。指导并不是贬低别人。别人有时候会接受,有时候不接受。其实,有时候你可能会从自认为水平不如你的人身上学到很多东西。动手写代码之前要尽量理解要解决的问题。要做原型、从网上查找实例、跟其他也做这个的人讨论或者只是练练手而已。构建你从未做过或用过的东西是个坏习惯。如果开始就有思路,结果可能会更好。

13.其它

尽可能使用开源,并且当你有能力的时候,要对其有所贡献。聚全社会之智慧,胜过某些“大”公司之短视。 尝试其他技术、框架、方法和观点。不要总以为只有你的选择才是可行的。别的选择也有可能比你的要强得多。要以开放的心态,来检验其他人的选择。尽量发布可以运行的代码。不要指望别人能给你找出所有的程序错误。要经常并且全面深入地测试你的代码(是否存在安全隐患)。编程是一项艰苦的事情

你喜欢下面的文章吗!Do you like the following articles?
期待你一针见血的评论,Come on!

发表评论: