中国领先的IT技术网站
|
|

秒变大牛!给中级程序员水平突破瓶颈的10个建议!

首先我们要知道,在程序员这个职业中,究竟是天赋重要还是兴趣和努力重要?

作者:核子可乐译来源:51CTO|2016-12-26 17:08


【51CTO.com快译】

秒变大牛!给中级程序员水平突破瓶颈的10个建议!

首先我们要知道,在程序员这个职业中,究竟是天赋重要还是兴趣和努力重要?

而我的回答是,说天赋重要的人,只是在为自己不如别人刻苦而找出的借口。我最近也读了很多有关如何提升自我水平的文章,大部分文章以K. Anders Ericsson的研究结论为出发点的文章,也就是说天才的成就,虽然和他的天赋有一定的关系,但心理学家越是深入考察天才们的人生经历,就会发现天赋到了后期它的作用会越来越小,而后天储备的作用却越来越明显。

我发现大多数人提升的编程水平,所推荐的方法是一些很基础的事情。如,阅读代码、理解代码、编写代码、参加项目、讨论代码等等……当然,这些作法确实能够帮助程序员提升水平,但其实际效果显然是非常小的。

下面我会结合自己学习编程的经历,跟大家聊聊其中的优势与弊端:

1.通过编程竞赛进行实践

秒变大牛!给中级程序员水平突破瓶颈的10个建议!

我会参加各类编程竞赛,总体来讲,用比赛来学习新语言并不现实。它提供的反馈循环较弱——我们只能了解到自己的程序能否正确输出,但设计流程不会受到评判。这种方法只能帮助大家了解新的算法或者特性,但在实践层面来讲,效果偏弱,它更着重“表现”而非“实践”。

2阅读关于编程的书籍

秒变大牛!给中级程序员水平突破瓶颈的10个建议!

阅读相关书籍能够帮助我们快速提升知识储备,因此有关“水平提升”方案都会有这项要求。在这里给大家推荐5本非常棒的编程图书,这些精华图书都实实在在地给了我极大的帮助。它们值得反复阅读,且每次都能让我在软件工程方面获得更为深入、更具穿透力的见识。如果你还没读过这些书,那你还在等什么呢?

这5本书是:

  1. 《代码大全(第二版)》

  2. 《点石成金:访客至上的网页设计秘笈》(即《Don't Make Me Think》)

  3. 《人件》

  4. 《程序员修炼之道:从小工到专家》

  5. 《软件工程的事实与谬误》

3.学习快速搜索技术、手段

秒变大牛!给中级程序员水平突破瓶颈的10个建议!

作为一名好的程序员,不仅仅是技能的问题了,而你寻找信息的技巧也非常重要,而这个趋势会越来越明显。你应该学会,如何接近特定的搜索,以及了解自己实际上想查些什么,信息筛选可以通过组建思维知识图谱来提升。最后搜索多了,经验上去了,就知道一些高质量的网站和一些通常的说明文档位置,使得你的问题的求解更加容易,包括像应该使用哪种搜索引擎(提示:普通的搜索引擎不一定就是最佳选择),使用普通搜索引擎前应该访问哪个网站,甚至是应该到哪个论坛去寻求帮助,等等。

4.帮助别人

秒变大牛!给中级程序员水平突破瓶颈的10个建议!

如果可能的话,帮助那些寻求帮助的人。这是一件很好的事情,也是聪明人的做法。教别人始终是学习一切东西的最好方法之一。记住,你所学到的一切都是你从别人或别处学到的;因此请尝试一下,每天尽量花一点时间试着回答网站上的问题,其他网站的也可以。就算读读其他人的回答,你也可以学到很多东西。

5.多编码才是王道

秒变大牛!给中级程序员水平突破瓶颈的10个建议!

研究表明,要成为一名“专家”,这至少需要花费10年的时间,或者10000到20000小时的刻意练习的时间,做几年程序员是不够的。

想在30岁左右成为一名高级软件开发工程师?要么尽早接受教育/培训,要么你得愿意在闲暇时间进行大量的工作、阅读和练习。我从高中开始编程,还牺牲了许多休息时间去跟踪行业发展、学习新技能等等。结果,我获得中级和高级程序员的时间就比我的大部分同事都要早得多,随着时间的推移,这些就转化成为宝贵的经验。

6.看看高级程序员的代码

秒变大牛!给中级程序员水平突破瓶颈的10个建议!

在工作中看看高级程序员写的代码,然后问一问他们为什么以某种特别的方式来完成这个项目,也可以学习他好的编程习惯,从中得到反思。但值得注意的是不要生搬硬套别人的东西;你要能领会到哪些是能行的通的,哪些是有道理的,然后再模仿人家,并不断摸索适合自己的语言。

7.态度是关键

秒变大牛!给中级程序员水平突破瓶颈的10个建议!

如果你不喜欢自己的工作,且目前的水平还是初级,那么如何成为中级的水平或者让情况有所好转,不妨换工作或改职业吧。反过来说,如果你喜爱所从事的工作,那就好!少一些浮躁,沉下心来体会技术的真正精髓,踏踏实实的做,最终会有一个好的归宿。只要你坚持下去,我保证你能成为一名更好的程序员。

每个人都有自己成长的方式,以上建议仅作参考,祝你能够早日找到一条属于自己的光明大道!

原文链接:http://ericdykstra.me/blog/improving-as-an-intermediate-programmer

原文标题:How Does One Improve as an Intermediate Programmer?

原文作者:Eric Dykstra

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

【编辑推荐】

  1. 致敬程序员日,盘点云计算的天才程序员
  2. 全球最强程序员在哪里?
  3. 值得程序员一看的8个冷门小知识
  4. 有没有一部电影,让你重新喜欢上了程序员这个岗位呢?
  5. 2017年程序员需要掌握哪些技术?你会几个?
【责任编辑:刘晓旭 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Eclipse插件开发方法与实战

本书分为4个部分共24章,以插件开发为中心,围绕插件开发主要介绍SWT/JFace的应用、插件扩展点的实现,以及GEF、EMF和RCP的相关知识。本书...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊