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

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

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

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

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

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

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

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

没有特别的先后次序…

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

反对Joel说的一切。 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

时间: 2024-10-25 13:54:49

转:你做过的最有效的提高你的编程水平的一件事情是什么的相关文章

新购买的vps应该做的几件事情

1. 修改root密码      passwd   root 2.新建用户     useradd  vinentguo 3.配置免密码登陆 .使用新建用户登陆vps. mkdir ~/.ssh/chmod -R ~/.ssh/touch ~/.ssh/authorized_keys  && chmod 644 ~/.ssh/authorized_keys将公钥 放入 新建的 authorized_keys 文件中 4.禁止root登陆 sudo vim /etc/ssh/sshd_con

让你的代码只做一件事情

还记得周星驰主演的电影<国产凌凌漆>有一段让人捧腹的情节, 在凌凌漆和司令对战时刻, 达文西半路杀了出来, 扬言要让司令尝一下他新发明的集10种致命武器于一身的「要你命3000」的威力, 传说这是胜过任何武器10倍威力的杀人利器,然而,还没等武器开锋,司令一枪就把达文西给打残了.周星驰的电影就是这么无厘头,但通过这个情节来仔细观察我们的世界,会发现一种规律,我们人类生产的任何工具,都是针对解决特定问题的, 换句话说, 很多工具功能都是单一性的, 多功能的事物似乎没有那么容易流行开来,就像文西发

回学校要做的几件事情

1>Linux命令一定要重新温习,实战中总是用的不熟练,有点捉襟见肘的感觉! 2>Lucene要了解一些,包括基于它开源的solr ,ES! 3>计算机网络,计算机操作系统,要重新研究下,感觉状态来了! 注:这几件事情做完后,删掉这篇博文!

[它山之石] 一件事情,如果你不能说清楚,十有八九你就做不好

记得有一次开会,我的头儿说了标题所写的这句话,自己深以为然. 有过较多解决问题的经历的人可能会有这样的感觉,很多时候,面对一个问题,我们即使没有完全将之想清 楚,也可以基于已有的经验给出一个能够work的解决方案,当然这种情况下给出的方案往往不是最优的. 而即使给出了解决方案,很可能自己都未必能把自己给出的解决方案所基于的推理逻辑,清晰无误地阐述出来. 因为随着人的知识,经验的积累,我们可以越来越多地依靠经验来解决一些问题,这些经验有些是自己身体力行, 实践得来的,有些则是道听途说,经卷纸传,从

spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)

原文地址:http://zhaoshijie.iteye.com/blog/1974682 应用场景:很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我们这个类引用了其他类(可能是更复杂的关联),所以当我们去使用这个类做事情时发现包空指针错误,这是因为我们这个类有可能已经初始化完成,但是引用的其他类不一定初始化完成,所以发生了空指针错误,解决方案如下: 1.写一个类继承spring的ApplicationListener监听,并监控ContextRefreshedE

安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(一)转载自码农网

CentOS 是一个工业标准的 Linux 发行版,是红帽企业版 Linux 的衍生版本.你安装完后马上就可以使用,但是为了更好地使用你的系统,你需要进行一些升级.安装新的软件包.配置特定服务和应用程序等操作. 这篇文章介绍了 “安装完 RHEL/CentOS 7 后需要做的 30 件事情”.阅读帖子的时候请先完成 RHEL/CentOS 最小化安装,这是首选的企业和生产环境.如果还没有,你可以按照下面的指南,它会告诉你两者的最小化安装方法. 最小化安装 CentOS 7 最小化安装 RHEL

人生必须做的十件事情 不要在意别人的评论

http://www.nanrenwo.net/zlht/23193.html 一年过去了,很多人都对新的一年有了规划,那么你的规划有没有受到一些人的影响呢?事实上,没有人有权评判你.人们可能听说过你的故事,但是他们对你所经历的事情没有切身感受:他们没有经历你的生活.因此忘记他们对你的议论.关注自己的感受,做自己认为正确的事情. 点击图片进入下一页 即使有人对你评头论足,也要做下面10件事情: 1. 照顾好自己.--自己和自己的关系是最亲近的并且是你所拥有的最重要的关系.如果你照顾不好自己,你也

后悔大学里没有做过的六件事情

所谓后悔,有些是当时不知道要做:有些是当时去做了它的相反面最后吃了苦头. 1.没有打算保研 (经验:工作的第二个年头,楼主所在高新区突然颁布了一个政策,研究生可以一次性获得3W元补助,而本科生啥也没有-部门经理从对外宣传来讲,研究生的重要性比本科生要高-研究生工资起点高,在同样一波找不到对象的人群中,研究生也总给身边人一种隐约的安全感-多么扯淡和痛的领悟) 2.因为第一条所以没有好好学习把绩点成绩排进学院前20% (经验:原来保研比考研容易那么多,而且如果你所在一个好学校--211?985?那么

如何让自己有动力去长久地做一件事情

原链接 Edmond Lau 回答了这个 Quora 的问题.他定义了两种目标: Mastery Goals:以提高自己能力为目的地去做事情,重视过程.比如,为了提高自己的编程能力而去做 side project:对研究真的感兴趣而去花6年.7年时间读 phd. Performance Goals:功利地去做事情,重视结果.比如,为了简历更漂亮为了找到好工作去做 side project:为了方便拿绿卡为了炫耀为了虚名(Dr. 的头衔)而去读 phd. 要想让自己有动力长久地做一件事,最好是给自