具备这些特性 说明你是个优秀程序员

编程是个很复杂的玩意,但是成就优秀程序员的很多因素和我们在学校中早期学到的相差无几。本文灵感来源于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年的工作经验,在你眼中编程其实就是小菜一碟了。

作者:佚名

来源:51CTO

时间: 2024-08-17 16:37:30

具备这些特性 说明你是个优秀程序员的相关文章

那些优秀程序员身上的共同特质

你是否发现,在我们身边的那些优秀程序员身上总是能找到一些共同的特质,这些特质并非与生俱来,但却逐渐在他们身上留下深深的烙印,这也使得他们变得与众不同,更成为我们心目中的佼佼者. 至少深入理解一门编程语言 学习编程和学驾驶很像,你很容易就能学会驾驶,比如,经过一个月的驾校培训,你就能获得驾照,但要真正成为一名优秀的司机,却必须经过长时间的驾驶实践才行,这将帮助你在头脑中形成一套完整意识体系以应对驾驶中所遇到的不同情况.编程也是一样,当程序员们作出那些优秀的程序设计时,看似自然,但它的背后却是程序设

优秀程序员无他-善假于物也

运用一门程序设计语言对大多数程序员来说是小菜一碟,但是更上一层楼成为一名专家级的软件开发者,恐怕目前还是大多数人的梦想.<程序员的思维修炼>一书中将程序员分为5个层级:新手,高级新手,胜任者,精通者,专家.根据作者的调查研究结果,在这5个层级中,大多数的程序员属于高级新手.而且居于这个层级的程序员从入行1.2年的到工作10来年都大有人在. 身为一个程序员,如何才能尽快的突破自身的瓶颈,得到快速的提升那?这可真不是三言两语可以说清楚.本人09年毕业投身软件行业,2012年初离开工作了三年的公司A

优秀程序员的十个习惯

--转来和大家一起共勉 在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer).经过一段时间后,这些人也许能够成为一个 优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作.但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下 面十个条目成为你的习惯,那么你才能真正算得上是优秀程序员. 1. 学无止境 .就算是你有了1

优秀程序员素质培养

踏入程序员这个行业,你就注定要学习一辈子,新技术层出不穷,技术体系更新快速,这是和其他行业最大的区别之一.所以,如果你想在这个行业混出点样子,那么请你随时做好学习的准备,如果你想成为优秀的程序员,那么一定要有正确的学习方式,下面推荐几条程序员的最佳学习方式,希望能帮你事半功倍. 书籍和期刊是必不可少的 无论你是新手菜鸟还是高级程序员,你都离不开书籍,当然我们要有选择的读书,尽量选择一些经典的书籍来看,如果你英文水平比较好,那么读一些老外撰写的书籍是最好不过的了.书籍能让你在繁杂的互联网上总结出一

避免成为优秀程序员

我曾经和我认为优秀的程序员一起工作,但是他们是真正优秀的程序员吗?是什么让他们如此优秀?(或者,他们只是普通的程序员?) 最近读到Mark Pearl博客里一篇名为<Programming, a Subset of Writing>的文章,其中的观点让我十分推崇,尤其是下面这段: 优秀程序员和普通程序员最大的区别在于,优秀的程序员会使用整洁.易于理解的方式进行编程,任何不必要的复杂代码均不会出现.和我工作过的那些真正优秀的程序员总是尊学这样的编程步骤:写代码.重构.进一步重构. 就像日常生活技

成为优秀程序员的十个有效方法

http://www.aliyun.com/zixun/aggregation/7026.html">优秀的程序员是在穿过一条单行道的时候还会往两边看的人. 作为一个IT行业的软件程序员,每天驱使我们日复一日的辛勤工作的,是来自我们对编程的兴趣和激情.但是要让编程变得始终有趣,我们必须学会坚持某些成为优秀程序员的基本原则. 我并不是要写出一些咒语,你照着执行就可以成为一个优秀程序员了.我的目的是想记录下我学习到的和用过的一些有用的经验,它们帮助我获得比较好的结果.对于优秀程序员是没有明确定

可以使你成为更优秀程序员的5个好习惯

我们都希望能够在我们所做的事情中得到成长,在WEB开发领域,我们花费时间最多的就是编写代码.这可能包括HTML, CSS, JavaScript, PHP, Python, ActionScript或者任何其他你构建WEB站点时选用的语言. 这篇文章中,我们将分享一些实际的步骤,使你可以扩充技能,成为一个更优秀的程序员.我们提出五个不同的生活习惯,它们可以使你在你所从事的领域变得更加优秀. 1. 一个时间段内只专注于一种类型的语言 如果你正在设计或开发网站,你将需要同时熟悉多种不同的语言.你可能

优秀程序员与普通程序员在行为上的差别

优秀程序员的行为: 拿到任务,就开始仰望星空或天花板上那盏高悬的电灯棒,状如老僧入定 忽而皱眉,忽而展颜一笑,忽而手舞足蹈,忽而在纸上指指戳戳,忽而口中念念有词,忽而长吁--感觉有点神经病啊 桌子上摆的是代码大全.设计模式.敏捷实践之类的书籍,并且没有灰尘 chrome或firefox的书签栏里分门别类,类别多于10个,8个以上是技术相关的 容不得破窗户,看见别人的烂代码就想改过来 随手就能在白板上画出软件的流程图或者时序图-- 项目做完了,别人在打游戏.看视频.忙着回复QQ.向剁手族前进,他在

优秀程序员的标准是什么

无数的人问过类似的问题,怎么样才能做一个优秀程序员?在回答这个问题之前,首先得明白什么是优秀程序员,这样才有方向和目标,可是这事情太主观,可能各人的标准千差万别,不谈那些传奇性的独自一人做出伟大事情的特例,也不谈什么上天入地,上帝大牛的诡论,以下是广泛比较认可的,在通常的项目开发中,一个优秀程序员的标准. 解决问题的能力 在项目开发中,一个程序员的能力等于其解决问题的能力.假如想有个尺度来衡量这个能力的话,一个程序员的能力可以用能完成任务的规模和难度来衡量. 因为难度上不好那么简单的划分,并且在