而我的回答是,说天赋重要的人,只是在为自己不如别人刻苦而找出的借口。我最近也读了很多有关如何提升自我水平的文章,大部分文章以K. Anders Ericsson的研究结论为出发点的文章,也就是说天才的成就,虽然和他的天赋有一定的关系,但心理学家越是深入考察天才们的人生经历,就会发现天赋到了后期它的作用会越来越小,而后天储备的作用却越来越明显。
我发现大多数人提升的编程水平,所推荐的方法是一些很基础的事情。如,阅读代码、理解代码、编写代码、参加项目、讨论代码等等……当然,这些作法确实能够帮助程序员提升水平,但其实际效果显然是非常小的。
下面我会结合自己学习编程的经历,跟大家聊聊其中的优势与弊端:
1.通过编程竞赛进行实践
我会参加各类编程竞赛,总体来讲,用比赛来学习新语言并不现实。它提供的反馈循环较弱——我们只能了解到自己的程序能否正确输出,但设计流程不会受到评判。这种方法只能帮助大家了解新的算法或者特性,但在实践层面来讲,效果偏弱,它更着重“表现”而非“实践”。
2.通过在线课程学习提高
网上有很多精华的教程可以进行学习,有很多大牛分享出来的最新的技术和开发经验,对自己的水平提升非常有作用。这里强烈介绍二当家的素材网的在线视频课程,他们每周都会推出一门最新的视频课程,这里有二当家的素材网自己原创的视频也有一些知名机构和个人的视频,关键都是都是免费的,这些精品课程对我的开发水平提升非常有帮助!
3. 阅读关于编程的书籍
阅读相关书籍能够帮助我们快速提升知识储备,因此有关“水平提升”方案都会有这项要求。在这里给大家推荐5本非常棒的编程图书,这些精华图书都实实在在地给了我极大的帮助。它们值得反复阅读,且每次都能让我在软件工程方面获得更为深入、更具穿透力的见识。如果你还没读过这些书,那你还在等什么呢?
这5本书是:
《代码大全(第二版)》
《点石成金:访客至上的网页设计秘笈》(即《Don't Make Me Think》)
《人件》
《程序员修炼之道:从小工到专家》
《软件工程的事实与谬误》
4.学习快速搜索技术、手段
作为一名好的程序员,不仅仅是技能的问题了,而你寻找信息的技巧也非常重要,而这个趋势会越来越明显。你应该学会,如何接近特定的搜索,以及了解自己实际上想查些什么,信息筛选可以通过组建思维知识图谱来提升。最后搜索多了,经验上去了,就知道一些高质量的网站和一些通常的说明文档位置,使得你的问题的求解更加容易,包括像应该使用哪种搜索引擎(提示:普通的搜索引擎不一定就是最佳选择),使用普通搜索引擎前应该访问哪个网站,甚至是应该到哪个论坛去寻求帮助,等等。
5.帮助别人
如果可能的话,帮助那些寻求帮助的人。这是一件很好的事情,也是聪明人的做法。教别人始终是学习一切东西的最好方法之一。记住,你所学到的一切都是你从别人或别处学到的;因此请尝试一下,每天尽量花一点时间试着回答网站上的问题,其他网站的也可以。就算读读其他人的回答,你也可以学到很多东西。
6.多编码才是王道
研究表明,要成为一名“专家”,这至少需要花费10年的时间,或者10000到20000小时的刻意练习的时间,做几年程序员是不够的。
想在30岁左右成为一名高级软件开发工程师?要么尽早接受教育/培训,要么你得愿意在闲暇时间进行大量的工作、阅读和练习。我从高中开始编程,还牺牲了许多休息时间去跟踪行业发展、学习新技能等等。结果,我获得中级和高级程序员的时间就比我的大部分同事都要早得多,随着时间的推移,这些就转化成为宝贵的经验。
7.看看高级程序员的代码
在工作中看看高级程序员写的代码,然后问一问他们为什么以某种特别的方式来完成这个项目,也可以学习他好的编程习惯,从中得到反思。但值得注意的是不要生搬硬套别人的东西;你要能领会到哪些是能行的通的,哪些是有道理的,然后再模仿人家,并不断摸索适合自己的语言。
8.态度是关键
如果你不喜欢自己的工作,且目前的水平还是初级,那么如何成为中级的水平或者让情况有所好转,不妨换工作或改职业吧。反过来说,如果你喜爱所从事的工作,那就好!少一些浮躁,沉下心来体会技术的真正精髓,踏踏实实的做,最终会有一个好的归宿。只要你坚持下去,我保证你能成为一名更好的程序员。
每个人都有自己成长的方式,以上建议仅作参考,祝你能够早日找到一条属于自己的光明大道!
本文来自二当家的素材网网友西风投稿!转载请注明!
友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群