你做过的最有效的提高编程水平的一件事情是什么 - 开源中国社区
Float_left Icon_close
你做过的最有效的提高编程水平的一件事情是什么
红薯 2012年04月17日

你做过的最有效的提高编程水平的一件事情是什么

红薯 红薯 发布于2012年04月17日 收藏 61 评论 34

阿里云高性能云服务器,2折起! >>> >>>  

最近在stackexchange网站上看到了一个非常好的问答,有人问:你做过的最有效的提高你的编程水平的一件事情是什么?

回首作为一个程序员这些年来的生活和职业道路,我使用了很多种不同的方法来提高我的编程技能 —— 阅读代码,编写程序,阅读书籍,听讲座,看视频,等等。

我的问题是:你做过的最有效的提高你的编程水平的一件事情是什么?对于那些想提高水平的程序员,你的建议是什么?

我希望你们提供的答案是各种各样的,并且不是那种“放之四海而皆准”的答案 —— 我希望得到适用于不同人的不同的答案。

有很多人给出了自己的答案,在这里,我将其中最受认可的前三种答案选出来翻译给大家。

最受欢迎的回答:学无止境

没有特别的先后次序…

  • 和比自己更聪明的人一起工作
  • 永远乐意听取他人的意见,不管对方是低级水平,一般水平,资深,还是大师。职称头衔并不代表一切。
  • 学习其它的框架/语言,学习它们是的工作原理和思想,拿它们跟你已知的技术做比较。
  • 学习各种设计模式,最佳实践理论,然后用它们检查自己先前的知识,在需要的时候使用这些模式。
  • 结对编程

反对Joel说的一切。

第二受欢迎的回答:成为多面手

争取成为一个‘多面手万事通’

在我职业生涯的早期,我在一种数据库和编程语言上是个专家。不幸的是,这种数据库在“数据库战争”中落败了,我才发现我的职业道路…很窄。在此之 后,我下定决心以后决不能把自己封在一个小空间里。我开始学习所有手头上能接触到的东 西:Windows,Unix,C,C++,Java,C#,Perl,Python,Access,SQL Server,Oracle,Informix,MySQL,等等。不管什么样的新的,不常见的工具或技术,我都成为“大拿” —— “去问克雷格(作者自己),他要是不会,他会去学会的。”结果,我做了各种各样的项目,从为环境监测做嵌入式系统,到为导弹防御做命令和控制系统。

我在各种的公司里唯一遇到的问题是:它们坚持要把我固定在一个专门的研究方向内,而我的专门研究是要成为一个多面手。[编辑: 也叫做学识渊博的人或多才多艺的人或多领域专家。]

有些事情需要留意 … 高科技界里知识的半衰期是多少?根据摩尔定律(Moore’s law):18-24月内,半数你学到的知识都会过时。错误的遵循这种规律的专家会轻易的在这种技术发展的压力崩溃;一个多面手要做的事就是不断的丰富自 己的技能,并从应用这些技能的经历中吸取教训。

第三受欢迎的回答:不要跟臭棋篓子下棋

我一直认为自己在不错的程序员中也算是个“灌篮高手”。直到有个家伙——我们叫他艾伦——被招进团队。艾伦很显然在很多方面都比我优秀。也比我年轻。他让我认识到,在过去的这些年里,我没有多少长进。我是一个特定技术方向的程序员,而且是水平一般。

这惊醒我应该自觉的不断提高自己的水平,特别是我写的代码的水平。

艾伦引导我学会了很多东西。他告诉我,大部分我写的代码在今后的数年里都将一直维护和进行扩展,写代码时要将这点铭记在心。我应该为我的代码写自动 测试程序。艾伦说代码的开发一定不能停止在第一版上,应该不断的重构,提炼,让它达到完美。我发现,我对这些语言和工具的使用都还有还很大的改进空间。

从艾伦那我学到的最重要的一件事情是:永远不要停止学习。

数年后,艾伦离开了公司。我的心里突然感觉空荡荡的。这些年与他为伴让我在技能上提升到了一个全新的水平,我知道现在我比团队里的其他人优秀很多。 他们仍然写着糟糕的代码,犯着以前犯过的错误。我努力教育他们,但他们对此不感兴趣。事实上,他们讨厌有人这样傲慢自大的指出他们犯的错误。

于是,几个月后,我也离开这这个公司。我去了一个很小的公司,在一个很出色的团队里工作。那里每个人都渴望学习更多知识,我喜欢这样的。

我很幸运能遇到艾伦。没有他,我也许现在仍然待在那家死气沉沉的公司和那帮食古不化的家伙在一起,哪都去不了,想的全是自己的私利。

这个讨论在stackexchange网站上的地址是这里

从我个人而言,我觉得第三个答案对我最有价值,不知各位同行们有什么感受?请写在评论里与大家分享。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:你做过的最有效的提高编程水平的一件事情是什么
分享
评论(34)
最新评论
0
9楼说的有道理
0
我是学计算机软件的。我热爱这个行业。我喜欢看见自己的代码流畅的奔跑。真心希望自己将来不再需要靠写代码养家糊口,而仅仅依靠一点点喜好。
0
我想问问,为什么要“反对Joel说的一切”?,Joel是谁?是《
软件随想录:程序员部落酋长Joel谈软件》这本书的Joel?
0
保持专注,注意力高度集中。
0
我感觉这是oschina最好的一篇指导性文章了。。
0
现在才发现,原来自己有多不努力/。
0

引用来自“北落”的评论

引用来自“LarryJacle”的评论

引用来自“北落”的评论

引用来自“Raymin”的评论

引用来自“北落”的评论

引用来自“Raymin”的评论

警示!
我们许多程序员信奉的是,程序员是青春饭,30岁要转行。
殊不知,人家七老八十了,都退休了,还在写程序。

关键看兴趣,看你是拿这个混饭吃,还是拿这个当兴趣

做程序员,没兴趣,怎么行?

但是貌似很多人就是为了混饭吃,除了在公司做点研究其他时候都不带碰程序的

别人管不到,如果自己想,那就做好自己!

恩,虽然不是一个特别努力的人,但是我还是保持自己的兴趣,每天学一点的

非常棒非常精彩的對話。。。

艾倫不是不好找 而是賞識艾倫的人和艾倫一樣不多~兩者是相互的
最後文中的“我”試圖學艾倫“努力教育他們”未果。。。就可以看出了

正所謂人以群分 志同道合 趣味相投 而非純粹的工作coding
0
be a leader ,not a follower
0
不管你们是否相信,我觉得在打盹的时候会很有感觉。
对这流程图, 代码, 思路变的很闭塞。
0

引用来自“Raymin”的评论

警示!
我们许多程序员信奉的是,程序员是青春饭,30岁要转行。
殊不知,人家七老八十了,都退休了,还在写程序。

环境造成的,技术人员不受重视。
0
最有效率的事是自从写了单元测试之后,代码稳定了很多,然后就很多时间去学习了
0
学习其它的框架/语言,学习它们是的工作原理和思想,拿它们跟你已知的技术做比较。
0
当你和一群优秀的人共事时,你就会提高很多
0

引用来自“北落”的评论

引用来自“LarryJacle”的评论

引用来自“北落”的评论

引用来自“Raymin”的评论

引用来自“北落”的评论

引用来自“Raymin”的评论

警示!
我们许多程序员信奉的是,程序员是青春饭,30岁要转行。
殊不知,人家七老八十了,都退休了,还在写程序。

关键看兴趣,看你是拿这个混饭吃,还是拿这个当兴趣

做程序员,没兴趣,怎么行?

但是貌似很多人就是为了混饭吃,除了在公司做点研究其他时候都不带碰程序的

别人管不到,如果自己想,那就做好自己!

恩,虽然不是一个特别努力的人,但是我还是保持自己的兴趣,每天学一点的

我做了九年的程序员,一直用Delphi开发ERP系统。然后到一家企业做信息管理工作。现在是不需要写代码,但学会了Android和iPhone开发,还写了个小应用给管理层使用;过年过节写些抽奖程序。这周层会,我用JavaScript写了一个猜词语的工具,每个部门出人,一组人描述看到了什么词语,另一组人猜。培养团队的默契。 我的绩效和写程序无关了,但我觉得写程序很有趣。
0
还是学以致用更好一些!
0
先断网,不要瞎晃悠..............
0
在我看来,第三点也是最重要的
有对比才知道自己的水平,如果连自己的水平都不知道,何谈提高
0

引用来自“hokim”的评论

重构,重新整理文档

我赞同,这个提升很大。。特别是重构自己的代码,经常一边写一边骂自己当年是怎么写出烂的代码还沾沾自喜的- -
0
现在年纪轻轻,不想学习的人太多了.
0
关闭QQ,手机离线,关闭网页,看书,看翻译过来的书。
顶部