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

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

【51CTO.com快译】

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

 

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

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

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

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

 

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

 

[[179840]]

 

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

 

2阅读关于编程的书籍

 

[[179841]]

 

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

这5本书是:

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

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

  3. 《人件》

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

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

 

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

 

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

 

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

 

4.帮助别人

 

[[179843]]

 

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

 

5.多编码才是王道

 

[[179844]]

 

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

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

 

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

 

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

 

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

 

7.态度是关键

 

[[179845]]

 

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

 

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

 

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

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

原文作者:Eric Dykstra

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

责任编辑:关崇 来源: 51CTO
相关推荐

2015-09-28 10:09:05

程序员新手

2015-06-12 11:22:52

程序员程序员跳槽

2011-05-11 17:49:12

PHP

2011-08-02 08:59:02

程序员

2010-10-18 09:59:22

PHP程序员Web开发

2016-03-11 09:36:52

程序员顶级职业建议

2022-08-21 21:39:06

程序员建议

2012-06-02 01:14:13

程序员企业家

2017-11-24 13:33:07

程序员代码开发

2011-04-15 10:02:06

程序员

2010-08-23 09:41:15

程序员

2014-07-23 09:55:11

程序员

2020-10-05 21:13:37

程序员技能开发者

2015-10-27 13:07:07

程序员坏建议

2015-04-17 09:46:53

程序员工作辛苦

2011-06-15 08:39:10

程序员

2016-10-11 09:11:52

tar命令归档

2015-06-05 10:38:02

年轻程序员提升能力

2018-05-29 22:24:22

程序员开发学习

2012-01-11 13:37:37

程序员
点赞
收藏

51CTO技术栈公众号