一个优秀程序员具备的15个特性

编程是个很复杂的玩意,但是成就优秀程序员的很多因素和我们在学校中早期学到的相差无几。本文灵感来源于 Robert Fulghum 的《All I Really Need to Know I Learned in Kindergarten》。

  1. 分享

  尽可能地使用开源,并且如果有能力的话也可以把自己的成果分享给大家。整个社会的智慧结晶肯定比一些大公司自管自闭门造车要好。

  2. 公平的心态

  不要以为你的选择就是唯一能奏效的,试试其他技术、框架、方法和建议,也许其他的选择比你原先的好也未可知。要用开放的心态去对待任何方法和抉择。

  3. 不可攻击他人

  如第 2 条所言,不要因为别人恰巧使用的是 .Net、Java 或 PHP 这些技术就随意攻击他们(我在这方面有过教训)。有时,这些你看不上眼的技术或许要比你想象的更有用。只要你怀着一种平和的心态,你就可以从他们那里学到很多东西,殊不知,海纳百川,有容乃大。

  4. 解决自己的烂摊子

  自己的代码自己负责。永远不要指望 QA 能帮你找到所有的 bug。经常全面地测试自己的代码。

  5. 不是自己的东西不要拿

  得到许可后方可使用,偷偷用了事后再声称自己无辜是可耻的。

  6. 如果伤害了别人要说对不起

  代码审查是一个相当不错却又很少使用的主意。指导经验比你少的程序员,有助于整个团队的发展。但是切记不能公开批评他人。指导并不意味着贬低别人。在得到指导时,有的人会接受,有的人则不会。要记得有时候,从那些水平不及你的人身上,你也能学到很多东西。绝对不能门缝里看人——把人看扁了。

  7. 有备而来

  在正式开工写代码之前要先做个彻底的了解。做原型、从网上搜索实例、和其他也做这个的人讨论或者先练练手。什么都不知道就着手构建你从未尝试过或使用过的东西简直就是“自作孽不可活”。如果打一开始就有线索有思路,得到的结果可能会更好更有成效。

  8. 拿得起放得下

  不要畏惧替换、重写、重构甚至是直接删掉代码。有时候,如果碰到可留可不留的代码,直接扔掉就是了。不要对你的代码死缠烂打,不肯放手。

  9. 舒适的工作环境

  对,要想程序员能高效编程,一个好的工作环境是不可或缺的。一把舒适的椅子,一个安静的工作场所、一代高配置的电脑以及各种有助于编程的工具都应该配备齐全。经理避免一些琐事去打搅到手下的程序员。而作为一个程序员,也不必忍气吞声、给人做牛做马,如果老板对你不好,换个就是了。

  10. 保持生活的平衡——学习、思考、绘画、唱歌、跳舞、工作、玩耍,每天都应该活得丰富多彩

  我非常欣赏谷歌的工作方式,它会建议你花上 20% 的时间用来思考任何你认为值得做的事情。此外,谷歌还提供专门的休息室、游戏房和其他一些能用来放松自己的场所。因为编程是一种高强度的脑力活动,有时候你的大脑真的非常需要稍作休息。不要盲目地不管不顾自己的身体,“工作狂”绝对是不可取的生活方式。每周工作 80 小时,听上去很牛掰,但是你的工作效率肯定要打一个问号,甚至一不小心会犯个不可饶恕的小错误然后前功尽弃。

  11. 下午打个盹

  就算我们把一天 24 个小时全都用来写代码,成果也不会更多。停下来、回家、然后打个盹。很多问题都是在我回家的路上解决的。有时候,我正在开车,或者是清早一觉醒来,答案就灵机一动出现在我脑子里。

  12. 不要闭门造车

  交流对于我们相当有好处:读读博客、学学新语言和框架、讨论讨论话题、看看同行在做什么。自扫门前雪,绝对成就不了一个优秀的程序员。闭门造车型的程序员终将被时代的潮流所淘汰。

  13. . 保持好奇心。我们就像一粒粒种子,因为有着对外面世界的好奇,才能从土壤中探出头来,亲眼见证这个世界。

  每天我们都能看到有新鲜事物出现在编程世界里。带着“Why”去一探究竟。每天都学点新知识,扩宽自己的视野,刷新自己的技能,让自己跟得上时代前进的步伐。要是你觉得编程枯燥又乏味,那么也许你可以考虑换一行。

  14. 所有事物都会逐步趋向衰退灭亡,谁都无法抵抗。

  代码也会慢慢发旧直至死亡。这时候你能做的就是把它们埋葬,然后再重新写过。不要为了省钱而继续维护那些费力不讨好的代码!

  15. 还记得《雌雄大盗》这本书吗,我们学到的第一件事就是——“看”。

  如果你不自己亲自去试试,那么你永远也学不到东西。我在编程中学会的所有东西全都来自于我的亲身实践。每天早上,我会广泛浏览网站,看看我们的编程世界有什么新鲜事情发生。从 80 年代初我得到第一份工作开始,我就一直保持了这个习惯。(那个时候网络还没普及,我主要是看目录和杂志。)

  当你已经有了 5 年的工作经验,在你眼中编程其实就是小菜一碟了。

时间: 2024-10-08 14:31:27

一个优秀程序员具备的15个特性的相关文章

一个优秀程序员的自我修养

对于网络推广来说,必然少不了代理IP的使用,像论坛发帖.微博推广.百度问答等等,如果你想看到效果,就需要大量操作,但是同一个IP重复操作,必然会受到限制,这个时候必须使用代理IP比如太阳IP软件的帮助,将效率和效果最大化. 当然这只是推广过程中的一小部分,如果你想更好的去操作,就要多掌握一些操作技巧,这样才能让你更好更快速的盈利. 除了用对工具.用对方法,企业对优秀的营销推广人员也是求贤若渴,每一个程序员也在不断地磨砺自我,以求在职场获得更好的待遇和更好地发展起来.一个优秀的程序员应该如何养成呢

一个优秀程序员必备的6个好习惯

一个伟大的程序员需要具备哪些特质呢?也许大部分人回答的是逻辑.机智.耐心和勤奋当然,其实这个问题并没有标准的答案,但是除了这些特质,习惯也是非常重要的,而这个特质可能在已经进入正轨的团队组织中才得以窥见. 除了必须的技术和逻辑思维,下面看一下在团队中应该具备怎样的好习惯吧~ 好的时间管理 亲有木有经常遇到迟到的问题,对于任何一家公司迟到都是很让人头疼的.作为一名程序员,有时候不得不熬夜加班,从而导致第二天上班迟到啦~(这点小编要投诉一下我们戴维,总是踩着点打卡,哪怕你来早那么一点点,都不会有那么

一名好程序员具备的15个特征

1.令人印象深刻的技术技能 程序员有可能长年累月只使用一种编程语言工作,但如果他最近新增了一门编程语言认证,那么凭借多年的编程经验和新增技术技能,一定会让人印象特别深刻. 2.愿意学习 技术总是在不断发展的,程序员们今天的技术和能力有可能几年后便过时.重要的是程序员要擅于找到自己感兴趣的新趋势并把握参加继续教育学习的时机. 3.调试技能 创建代码只是程序员的一部分工作,当软件不能正常工作时,程序员需要做的是快速有效地找到问题的根源.与其盲目花时间进行修改,程序员更喜欢仔细调查和研究可能出现的问题

成为一个优秀程序员的11条小贴士

我是一个充满了激情的程序员,所以我觉得我很了解程序员.在这个领域耕耘了这么多年,我和许多非常聪慧的人们接触,他们编写了具有创意的代码,但是当其他人来维护这些代码的时候,他们就很抓狂了! 能够激励程序员的最重要的一点就是他们的激情.我们对于编写良好的程序富有激情,所以我们整合了一个有11条小贴士的清单来帮助您成为一个优秀的程序员.无论您是刚开始学习程序设计还是一个有经验的开发者,有一些东西是您在参考手册上找不到的.备注:我们不说是伟大的.但,绝对是很好的,也就是说好到足够让一些程序员依赖或者使用它

一个优秀程序员不可避免的问题:内存泄漏

前言 内存泄漏,一个说大不大说下不小的瑕疵.作为开发者,我们都很清楚内存泄漏是我们代码问题导致的.但是话说回来,泄漏后果会很严重嘛?这不好说,如果我们不泄漏Bitmap这种大内存的对象,那么修补内存泄漏就像鸡肋一样,"食之无味,弃之可惜". 就比如说我们项目组,近2000w的DAU,只要不明显影响用户体验,一切以上需求为主- 但是这作为一个996福报码农,不能只挖坑,不填坑,毕竟技术债都是要还的.所以今天咱们来聊一聊Android中的内存泄漏.这篇文章总结翻译了外国友人的一篇文章:原文

优秀程序员的七大特征,你具备几条?

世界上的很多事情都是有规律的,就像 <高效能人士的七个习惯>,优秀的程序员也有七个主要特征.这些特征有些是先天具备的,也就是天赋,但有些是在日常的编程工作中学习.进步.积累.总结获得的.每个程序员都想知道自己是不是一个优秀的程序员,那么,就参考一下下面这 7 条,看看自己是否达到了做一个优秀程序员的标准. 1.喜欢帮助他人,照顾比自己差的程序员 程序员的脾气通常很大,常常会和客户.同事,甚至老板在程序问题上发生争执.优秀的程序员能够站在对方的立场上想问题,能理解客户的无知.初级程序员的无能.老

优秀程序员的七大特征(转)

世界上的很多事情都是有规律的,就像 <高效能人士的七个习惯>,优秀的程序员也有七个主要特征.这些特征有些是先天具备的,也就是天赋,但有些是在日常的编程工作中学习.进步.积累.总结获得的.每个程序员都想知道自己是不是一个优秀的程序员,那么,就参考一下下面这7条,看看自己是否达到了做一个优秀程序员的标准. 1.喜欢帮助他人,照顾比自己差的程序员 程序员的脾气通常很大,常常会和客户.同事,甚至老板在程序问题上发生争执.优秀的程序员能够站在对方的立场上想问题,能理解客户的无知.初级程序员的无能.老板的

优秀程序员必备素质

程序员(英文Programmer)是从事程序开发.维护的专业人员.一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国. 作一个真正合格的程序员,应该具有的素质. 1:团队精神和协作能力 团队精神和协作能力是作为一个程序员应具备的最基本的素质.软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程.独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质.可以毫不夸张的说这种素质是一个程序员乃至一个团队的安

优秀程序员因何而优秀?

这些年我曾和很多程序员一起工作,他们之中的一些人非常厉害,而另一些人显得平庸.不久前因为和一些技术非常熟练的程序员工作感觉很愉快,我花了一些时间在考虑我佩服他们什么呢?什么原因让优秀的程序员那么优秀,糟糕的程序员那么糟糕?简而言之,什么原因成就了一位优秀的程序员呢? 根据我的经验,成为一个优秀程序员同年龄,教育程度,还有和你赚多少钱没有任何关系.关键在于你的做法,更深入地说,就是你的想法.我注意到我所钦佩的程序员都有一些相似习惯.不是他们所选语言的知识,也不是对数据结构和算法的深入理解,甚至不是