1. 聚能聊>
  2. 话题详情

优秀程序员应该具备哪些好习惯?

做为一个程序员,你是否问过自己这样一个问题——一个伟大的程序员需要具备哪些特质。大多数人回答的是逻辑、机智、耐心以及勤奋。对于这个问题,其实并没有标准答案,但是除了这些特质,习惯也是非常重要的因素。而这一点则只能在已经进入正轨的团队组织中可以窥见。
image
伟大程序员必须具备的7个好习惯

除了必需的技术技能和逻辑能力,下面讲一下一个团队应该具备怎样的好习惯:

1. 良好的时间管理

迟到对于任何一家公司都是个头痛的问题。作为一个程序员,有时候为了完成任务常常不得不熬夜,从而导致第二天上班就迟到了。但是我们忽略了这一点,我们的工作时间至关重要,因为在这段时间里我们要和客户同步,也要与团队其他成员一齐协作。

2. 深入理解客户需求

仅仅了解单一用户的表面意思是远远不够的。一个伟大的程序员应该具备能把繁琐的要求理解并分解成项目的技术任务或子任务的能力,并且最后拿到的成果应精确满足客户的需求。

3. 在编程之前准备好全套算法

案例、伪代码和流程图统统都是非常重要的软件开发手段。一个伟大的程序员如果没有先准备好算法,那么他是不会像傻小子一样兴冲冲地开工写代码的。写代码实际上只是一个编码任务。

4. 理解并帮助定义验收标准

是否需要高层次测试脚本是由产品所有者决定的,但是一个伟大的程序员必须能够编写技术测试脚本,并且深刻认识到跳过这些步骤可能会带来的后果。

5. 绞尽脑汁还是“NO”

假如抓耳挠腮还是找不出解决办法,我们该如何是好?一个伟大的程序员应该足智多谋,能灵活应对困境。他们会去询问同事,或者是向团队领导者请教;在互联网上面搜索,然后耐下心来一遍又一遍地试验。相信山穷水尽疑无路,柳暗花明又一村,投降两个字从未出现在他们的字典上。

6. 承认自己的缺陷

性格内向就是其中一个对于我们大多数程序员而言很常见的软技能问题。但是一个伟大的程序员一旦知道自己的不足之处之后,会立刻主动改善自我,并且积极执行“客户第一”的服务理念。

7. 主动

优秀的程序员不需要别人告诉他怎么做,他的主动性更强。他有这个自觉,会主动去关注流程;改善能增强软件开发生产力的工具,例如SVN;提高应用程序的灵活性以及解决软件开发中发现的Bug。

最后,我想说的是,无论你是职工还是自由职业者,要明确一点——软件开发的目的是为客户服务。一个伟大的程序员深刻明白每一个任务的价值并且尊重他人的成果,对其呕心沥血的过程感同身受!

该你出场了:
1、你觉得哪种习惯最重要?为什么?

2、除了上面列出的,我们还应该具备哪些好习惯?

3、说说你看到的程序员身上的坏习惯

4、升级自我,2018你打算怎么做?有没有推荐的行动清单、书单?

参与话题

奖品区域 活动规则 活动已结束,可继续参与讨论哦

  • 奖品一

    阿里云代金券 x 5

  • 奖品二

    手机话费 x 3

  • 奖品三

    福禄寿淘公仔 x 2

13个回答

1

cjsoldier 已获得福禄寿淘公仔 复制链接去分享

1、你觉得哪种习惯最重要?为什么?
非常赞同第7点说的主动,简直不能再认同了。
主动的程序员不喜欢抱怨,在合作的时候不会等着上一个人的任务完成之后才开始自己的任务。他宁愿自己造数据也不会等。

主动的程序员具有强烈的主人翁意识。事事上心,当然也会关心客户的真实需求。

主动的程序员一定会想方设法找出问题的解决办法,而不是等着问题被解决。不光解决问题,还要用优雅的方式解决问题。

主动的程序员一定是优秀的程序员。不需要别人告诉他怎么做,他的主动性更强。

2、除了上面列出的,我们还应该具备哪些好习惯?
经常记录要做的事,知道自己在做什么,将要做什么,提高工作效率。

经常写作。比如写读后感或写博客,提高自己的表达能力,有助于提高编码能力。我有一种感觉,博客写的好的人代码一定不差。

看书,技术类的文史类的都好,人物传记也很好啊(我就喜欢这个)。也许你会说“看书”这不是废话嘛,谁不知道啊。但愿是吧,不管怎样,看书是个好习惯。

3、说说你看到的程序员身上的坏习惯
说别人行自己做的怎么样呢。说说从我自己身上看到的坏习惯吧。
最大的坏习惯——拖延症。没有今日事今日毕的精神。

注意力不够集中,突然想到一个东西一定要搜索一下,不然就好像有鱼刺卡在喉咙里。尤其是找到问题的解决办法的时候,不着急趁热打铁,非要做些无意义的事之后再回到工作中来。我真不知道这是什么病。

4、升级自我,2018你打算怎么做?有没有推荐的行动清单、书单?
2018打算做两件事:
第一件事也是最重要的事:跳个槽。我想知道已经到底是骡子还是马。

第二件事要把2017年的未完成的兴趣捡起来,我一定要把这个遗憾补回来。
行动清单:不怕你们笑话我做事从来没有具体计划,只是有个大概的想法,印象中没有一件事是完全按照自己定的计划完成的,也许这就是我平庸的原因吧。

小编能不能帮我换个蓝色的包小xin公仔,感激不尽。

gfriend_24 回复

“尤其是找到问题的解决办法的时候,不着急趁热打铁,非要做些无意义的事之后再回到工作中来。”
我觉得是强迫症,因为我也一样。^_^

cjsoldier 回复

哈哈哈,握手握手。

微wx笑 回复

蓝色的包小xin?长什么样子?

cjsoldier 回复
回复@微wx笑:

嗯。就是xin域名送的那个公仔。你可以百度一下,很好看的。

评论
2

饭娱咖啡 已获得福禄寿淘公仔 复制链接去分享

1、你觉得哪种习惯最重要?为什么?
深入理解客户需求。因为不管你能力多强,只要客户需求理解错误,即使你认为自己做的功能或者产品无可挑剔,客户不认可,所有的努力都是白搭。

2、除了上面列出的,我们还应该具备哪些好习惯?
学习的习惯!现在的技术更新很快,可是很多程序员都在吃老本。而吃老本将会大大降低程序员的竞争力。

3、说说你看到的程序员身上的坏习惯
1)不主动学习了。除了工作需要才去学习,不然不会主动去学习其他知识。
2)自大。这个主要是指在做功能产品的时候,容易觉得自己做的是没错的,不接受他人的意见。

4、升级自我,2018你打算怎么做?有没有推荐的行动清单、书单?
2018年,我主要是提升技术能力、执行能力和知识面。
1)做个小的功能产品(网站、小程序、APP等)
2)目前比较想看的就是《Java编程思想》
3)其他感兴趣的书籍,《好点子都是偷来的》、《人类简史》、《未来简史》
4)多了解阿里云的产品(以后会有很多东西会用阿里云的产品,阿里云的产品也比较齐全)
5)多跟大家交流技术(程序员很多内向又不善交际,这也是我想突破的)

程想 回复

多出点好看的书

评论
1

沙漠的热情 已获得阿里云代金券 复制链接去分享

1、你觉得哪种习惯最重要?为什么?
程序员最最最重要的习惯应该是要有意识的提高自己技术以外的一些能力,比如团队意识、拼搏精神、沟通技巧、演讲能力等等!
限制程序员进一步发展的正是这些。

2、除了上面列出的,我们还应该具备哪些好习惯?
一份好奇心,一份好学心。

3、说说你看到的程序员身上的坏习惯
把自己束缚在技术的禁锢中,还自以为是难以自拔!

4、升级自我,2018你打算怎么做?有没有推荐的行动清单、书单?
《人类简史》《未来简史》早购买了,可惜了,没怎么看。
吴军博士的书都要看。
还有一个计划:https://edu.aliyun.com/promotion/28

微wx笑 回复

我的书也是很多买了还没看

评论
0

古散 已获得手机话费 复制链接去分享

1、你觉得哪种习惯最重要?为什么?
持续学习的习惯
技术的发展日新月异,不具备持续学习的习惯意味着你将很快被淘汰
2、除了上面列出的,我们还应该具备哪些好习惯?
多和同行同业交流,分享,为什么大佬会去做分享演讲,道理是越辩论越清楚的,思维的碰撞更容易产生创新的火花
3、说说你看到的程序员身上的坏习惯
不善言谈,不善于表达自己
说明不经常与人接触,待人处事比较简单
长远看不利于长期发展
4、升级自我,2018你打算怎么做?有没有推荐的行动清单、书单?
学习一下lua,热门的不一定是我需要的
和买股票一样,获得最大收益的不是追涨杀跌,而是低位吃进,高位抛出
书单:java编程思想
行动:锻炼身体,每天走路去上班,200个俯卧撑

微wx笑 回复

200个俯卧撑,强!

评论
0

浮生递归 已获得手机话费 复制链接去分享

1、你觉得哪种习惯最重要?为什么?
不迟到吧。表面是不迟到,实际上是一种自我约束和毅力的表现。在加班晚归的前提下,仍然要早起,按时上班,是相当有挑战力的。就像我,上班都要6点起床,冬天这个时候,天都没亮,非常有挑战力,但是我基本上都做到了。。。

2、除了上面列出的,我们还应该具备哪些好习惯?
规范,认真,review。养成这些习惯,对工作的质量有很大的保证,可以避免很多不应该发生的失误,同时对日后回顾也有很大帮助。当然,对于团队协作的效率提升也有明显的效果。

3、说说你看到的程序员身上的坏习惯
马虎,各种错别字。不认真,写代码只求能运行。对于需求,只希望客户尽量不要提,越少越好,越简单越好。甚至能做的,也跟客户说做不到。
懒,嫌麻烦。开发中碰到问题,不喜欢跟其他环节的同事沟通,自己随便改几下了事。等出问题了,就推卸责任,说是别人的原因。

4、升级自我,2018你打算怎么做?有没有推荐的行动清单、书单?
多看好的案例,学习别人代码里好的书写习惯。多了解项目管理规范方面的内容,提升项目的效率。书单?人月神话?一个程序员的自我修养?

微wx笑 回复

人月神话 我还没读完,话说40年前的书,现在读来感觉依然适用。

评论
0

1179180339180592 已获得阿里云代金券 复制链接去分享

优秀的程序员要坚持写作。写作就是思考;还在坚持写作和分享深刻见解的工程师越来越少了,但只有写作和深度思考才能引导整个行业做出真正的创新。每周写500字的文章,“为了你自己的成功,为了你的公司,为了行业的进步——开始写作吧”。

微wx笑 回复

写作很费时间的

评论
0

aoteman675 已获得阿里云代金券 复制链接去分享

1、你觉得哪种习惯最重要?为什么?
客户至上,客户的需求可能是蛋糕,但是他只说了个饼,这时候需要程序员引导用户把需求和场景一步一步描绘出来。还有就是优秀的代码习惯,善于写注释和文档,这样工作交接和维护就方便很多了。勇于追求高质量代码,代码写成一种艺术或者风格。
2、除了上面列出的,我们还应该具备哪些好习惯?
身体是革命的本钱,不要久坐不起,公司如果有健身房,可以下班运动一下。多参与组织活动,发散思维,说不定好的Idea就产生了。
不断学习,学习新的技术和框架,如果是Java领域,可以学习kotlin了。跟着风口走,拿着风口高工资。
3、说说你看到的程序员身上的坏习惯
程序员永远不会承认他写的代码有问题,只会认为你的操作有问题。
不喜欢交流,不能把内容具体的表达出来,这样团队交流很困难,和客户交流也不能get到点子上。
不喜欢运动,经常熬夜。
4、升级自我,2018你打算怎么做?有没有推荐的行动清单、书单?
自己搭建个小的深度学习框架,学一下数学算法模型,再不学习人工智能就老了。

微wx笑 回复

数学算法模型,我是学不动了。

评论
0

gfriend_24 已获得手机话费 复制链接去分享

该你出场了:
1、你觉得哪种习惯最重要?为什么?
答:个人觉得第2点和第3点很重要。作为一名程序员,理解需求的能力十分重要,只有百分之百理解了需求,才有可能在头脑中形成完整而且清晰的思路,从而更好地制定具体的计划,一步一步编程实现并测试改进。
2、除了上面列出的,我们还应该具备哪些好习惯?
答:早睡早起,坚持锻炼,有时间多多出去参加活动,提高一下自己的交际能力或者说情商,而不要总把工作忙当做借口,很多人只是效率太低或者没有清晰的思路,看似忙过了美国总统,其实没有任何实际的成果,纯属浪费时间。
3、说说你看到的程序员身上的坏习惯
答:经常熬夜,饮食不规律,常常为了解决bug错过饭点或者干脆不吃饭,不注重自己的身体健康,经常久坐,有点懒惰,几乎不运动。
4、升级自我,2018你打算怎么做?有没有推荐的行动清单、书单?
答:2018打算好好学习一下3D打印、人工智能、机器学习、物联网和大数据,还想学习学习商业方面的知识,开发出自己想做的产品,再有就是养成良好的饮食习惯,加强运动,身体是革命的本钱,一切为了提高身体素质为努力!

微wx笑 回复

身体是革命的本钱!一定得多运动。

评论
1

爱丽娅 已获得阿里云代金券 复制链接去分享

1、你觉得哪种习惯最重要?为什么?
积极主动的心态呀,思想不积极,头脑有问题。

2、除了上面列出的,我们还应该具备哪些好习惯?
持续学习,毛爷爷都说:三天不学习,赶不上刘少奇!
学会分享,分享能让我们加深对一个问题的认识,交到好朋友。
学会提问,计算机方面的问题通常是比较复杂的,与环境操作步骤关系密切,所以学会提问能让别人更好的理解我们的问题,从而更快的解决问题。
加强锻炼,经常起来活动一下,不然长出轮胎就不好看了!

3、说说你看到的程序员身上的坏习惯
一坐一看不爱动,这点就很不好呀,上面也说啦!
女孩子就一有空就网上买买买,也不好呀!
经常看电脑对皮肤也不好!

4、升级自我,2018你打算怎么做?有没有推荐的行动清单、书单?
升级呀,换个轮子加个备胎算不算?
想看的书呢,小说算不算呀?有没有好看的推荐我呢?

0

铁甲小鲍 已获得阿里云代金券 复制链接去分享

1、你觉得哪种习惯最重要?为什么?
坚持学习

2、除了上面列出的,我们还应该具备哪些好习惯?
身体

3、说说你看到的程序员身上的坏习惯
repeat youself

4、升级自我,2018你打算怎么做?有没有推荐的行动清单、书单?
再不了解机器学习就变成文盲了

0

复制链接去分享

你觉得你生命当中最重要的是吗? 然而不是一份完整的事业。而是一个美好的家庭

沙漠的热情 回复

你又上升了一个高度!

评论
0

gallely 复制链接去分享

身体是革命的本钱,一定要经常运动,爱护好自己的身体。

0

jilezhile 复制链接去分享

我觉得做一个程序员需要能静下心来,平静中带着好奇的心思去编程。

1313
浏览
0
收藏
邀请他人互动
关注
76
粉丝
82
话题
31

简介:

无知人生,记录点滴。 不积跬步,无以至千里;不积小流,无以成江海…… 微信订阅号:微wx笑, 个人站点:http://www.wei-xiao.top/, CSDN博客:http://blog.csdn.net/testcs_dn
大数据开发套件(Data IDE),提供可视化开发界面、离线任务调度运维、快速数据集成、多人协同工作等功能,为您...

业内领先的面向企业的一站式研发提效平台(研发效能),通过项目流程管理和专项自动化提效工具,能够很好地支持互联网敏...

移动测试(Mobile Testing)是为广大企业客户和移动开发者提供真机测试服务的云平台,拥有大量热门机型,...

为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...