很多年轻的程序员发 emails 给我,说希望能够得到一些如何尽快跻身优秀程序员行列的建议和方法。关于这个问题,我已经有提到过很多次,现在已经没什么可以补充的了。不过 为了满足大家的要求,在这里我再详细地归纳总结一下:
——和其他开发人员协作。编程已经进入了“地球村”的辉煌时代,无论我们身在哪里,无论我们为谁工作,只要拥有可爱的互联网,我们就可以和世界上任何一个角落的程序员一起攻克代码难题、合作开发各种软件。并且,现在有越来越多的开发人员,在网上把他们丰富的经验教训总结出来,提供给大家共享。我的朋友 Evan Light 利用开放的办公时间,正在致力于开发一个帮助 Ruby 使用者们匹配合作的网站。我也在这项目上做过。有没有兴趣做开源软件?如果有的话请发邮件给我。让我们一起协作吧!
——阅读经典书籍刊物。像《代码大全》、《程序员修炼之道》、《程序员设计实践》、《设计模式》等等,都挺不错的。
——好好利用网络资源。这一条必须特别强调。因为几乎所有的编程知识我们都可以在网上找到。老实说,有时候我会觉得,所有我需要的编程技能都是在网上学会的。
——研究别人的代码。GitHub 万岁!如果你想学习 Ruby 语言,并且希望能在最快的时间掌握它,那么可以按《Best of Ruby Quiz》所说的,先钻研下他人的代码。
——进入本地程序员群。如果没有这样类似的群,那么创建一个。接下来需要做的是组织会话。不要坐井观天的以为“老子天下第一”,多多与大家交流,知道自己的不足之处,然后谦虚学习。
——写博客。不要担心不知道该写什么。那些非常有名的博客牛人他们写的就是:他们自己的编程经历和程序错误,以及他们是如何克服这些问题的。反思,对于我们学习编程的帮助不可估量,而写博客就是用于反思的手段。而且写在博客上你还可以得到其他人对你的评价和建议。
——为开源项目制作补丁。这一点已经众所周知,我就不再赘述了。
——抛个硬币,花代表 Vim,字代表 Emacs,选择了之后就开始认真学习吧。编辑器是你编程生涯中的左膀右臂,所以,一个强大又灵活的编辑器绝对能让你的编程水平更上一层楼。
——熟稔一种编程语言是远远不够的。但是首先你得学好一种,这样你某一天遇到紧急情况,就能迅速应对、快速编程,而不必绞尽脑汁、漫无目的、费时费力地想(就因为你已经忘记得差不多了)。不过,我想说的是,要是你已经掌握了一门,那么是时候学习第二门了,一方面可以验证第一门编程语言,另一方面通过这种方法还可以温故而知新。而且最好选择的是风格大相径庭的。我读过的一篇博文《Seven Languages in Seven Weeks》就给出了关于此点内容超棒的编程范例,有兴趣可以看看。
——做一个编程语言和平台的邮件列表。有时候,我们会找不到正在关注的博客、黑客新闻、Twitter 中的激烈争辩以及各种发人深思的讨论。这个时候邮件列表就大显威武了,相对于其他手段,它既方便礼貌又实用多多。
——StackOverflow 绝对是你的良师益友。
——不要浪费时间去研究所谓的最好的工具。我曾经用了几周时间,想为我准备开工的项目找个“不鸣而已,一鸣惊人”的最好框架,但是后来却发现这个框架严重限制了我的工作效率。所以,千万别被“最好”这两个字的表象所迷惑,掉进坑里。如果你觉得你作为程序员还不算经验丰富,那么最好先从有很多用户使用的语言和框架开始。最最重要的一点是,当你遇到障碍物而你越不过去的时候,你得知道去哪里,才能寻求帮助、拿到更有利的工具。
——不要错过实习机会。
——不断练习、练习、再练习,因为辛勤的汗水才能浇灌出成功的花朵。在工作中写代码,在家里写代码。好好修炼代码招式。编程其实和别的技术没什么不同:最后的成功,都归结于不断的练习和辛勤的努力。
相关推荐
"写给即将入行的程序员的一封信" 该文档提供了 Akash 对程序员的建议,旨在帮助新手程序员快速入门。以下是该文档中的重要知识点: 1. 不要等待,马上开始编程。编程经验是最重要的,不要等待学习完所有知识再开始...
《写给程序员的数据挖掘实践指南》源代码是一个与大数据相关的学习资源,主要针对希望深入了解数据挖掘技术的程序员。数据挖掘是大数据分析的核心部分,它通过使用各种算法和技术从大量数据中提取有价值的信息和知识...
写给NET/JAVA男程序员的信 写给NET/JAVA男程序员的信 写给NET/JAVA男程序员的信
最新程序员写的辞职信程序员辞职申请书WORD文档模板.docx 从标题和描述中,我们可以看到,这是一个程序员辞职申请书的 WORD 文档模板。这种模板通常用于程序员在辞职时向公司递交的申请书,用于表达辞职的意图和...
, 本书是写给程序员的一本数据挖掘指南,可以帮助读者动手实践数据挖掘、集体智慧并构建推荐系统。全书共8章,介绍了数据挖掘的基本知识和理论、协同过滤、内容过滤及分类、算法评估、朴素贝叶斯、非结构化文本分类...
老程序员给年轻人的建议和忠告 老程序员的共识 给程序员的20条建议
给年轻程序员的建议偶尔的,我会被人问道:如何成为一名优秀的程序员,更或者,如何成为一名程序员。每次人们问起,我都力图给出不同的答案。因此,我的答案是各种各样的。下面就是我认为的成为一名优秀的程序员需要...
普通程序员如何转向AI方向普通程序员如何转向AI方向普通程序员如何转向AI方向普通程序员如何转向AI方向
消息推送模块是程序员项目交接文档的另一个重要组成部分,它涵盖了消息推送的所有方面,包括消息的发送、接收和处理等功能。在该模块中,程序员需要详细记录消息推送的数据结构和关系,并且需要对消息推送的执行流程...
为什么程序员必须写技术博客_以及如何写_博客在面试时的加分可不是一点点,别再犹豫了,快行动起来!
写给想当程序员的朋友 开发者最好的初学思想
Java 程序员辞职信是一个非常重要的文件,涵盖了程序员辞职的基本结构和内容。下面将从标题、描述、标签和部分内容四个方面对Java 程序员辞职信进行详细分析。 标题 Java 程序员辞职信的标题是指辞职信的标题,通常...
【好的程序员如何写代码】 优秀的程序员在编写代码时展现出的专业素养和艺术感是评判其技能水平的重要标准。代码不仅是实现功能的工具,更是展现技术才华和思维清晰度的载体。以下是一些关于好的程序员写代码的特点...
7. 团队精神:前端程序员学习了团队精神的重要性,明白了团队协作的重要性,也明白了自己的团队是一个具有务实、拼搏、创新精神的团队。 8. 知识积累:前端程序员通过一年来的学习和锻炼,积累了许多的知识和经验,...