英文原文:All Programmers Are Self-Taught
在我十几岁的时候就开始玩甲级棒球。我水平很差,但当我决定要做好什么事时,最终总能如我愿。现在我是计算机专业 3 年级的学生。在编程上,有些事情和体育是截然不同的:棒球教练可以教会你如何打棒球,但一个计算机教授却不能教你如何编程。
我很吃惊,在整个大一期间,我的老师或教授从来不点评我的代码,大二时更是如此。我们的作业很多,题目很难,但在完成了数据结构课上的 2000 行的代码后,我从来没有收到过老师的任何一条评论——只要程序能编译通过,单元测试显示没有错误,这就行了。直到遇到了一个小组开发的项目,我才认识到我的代码写的多烂,我才开始询问:好的程序应该如何写。
但是,什么样的代码才是好的代码?我花了大量的时间来提高代码的可读性,添加注释。我努力模仿 UNIX 的哲学观,力求简约,首先让程序能跑起来,在此基础之上,在需要的情况在进行优化。复杂的东西要逐步增加。除非必要,我不使用线程。但是,说实话,我不知道这是不是好的代码(说实话,我觉得自己水平很差)。
我很幸运,能和一群优秀同学一起工作,他们都是出色的程序员,他们在微软、谷歌、亚马逊等公司实习。他们的观点都很一致,认为自己的知识都是自己总结或从其他程序员那里学到的。即使是非常资深的软件工程师也有这样的看法。所以,我的结论是:
所有程序员都是自学成才的。
我受的教育给了我很好的基础:数据结构,算法,数据库设计,并行计算,网络编程,敏捷开发以及各种编程模式。但所有的这些,即使是它们使得编程更高效和更精巧,你仍然可能用错它们——我曾经看过一些学生在这些课程上学习成绩非常好,但写的代码却让人想哭。
我并不认为学过计算机科学、软件工程或得到一个大学文凭会有多大的用处,如果你想靠写代码为生,自学是你不可缺少的途径。
分享到:
相关推荐
文章提到了几种不同的程序员类型,包括那些自学成才的程序员,他们在资源匮乏的环境下依然能够迅速成长起来,并且成为团队中的佼佼者。 #### 二、成为程序员的标准 关于什么样的人可以被称为程序员,文章中给出了...
如何成为一名自学成才的程序员此仓库是我的课程“如何成为自学成才的程序员”的一页信息站点。关于课程这是一个为期8周的编程课程入门,重点是教授和实践手艺中的自我发展技能。 它将引导学生学习软件开发的基本概念...
在中国,几乎所有的C++程序员都是通过自学成才的。这一现象背后的原因在于国内几乎没有正规且专业的C++培训机构,加之大学教育体系中虽然会涉及到C/C++基础知识的教学,但往往侧重于理论而非实践,缺乏实际的软件...
【标题】:“优秀程序员:从中学习并成为自学成才的程序员的资源集合”指的是一个针对编程学习者和自我提升的程序员的资源库。这个资源集合旨在帮助初学者和经验丰富的开发者提升技能,通过一系列的学习材料、教程和...
《自学成才的程序员》这本书主要面向那些希望通过自我学习来掌握编程技能的人。书中的内容分为几个关键部分,包括编程工具的介绍、计算机科学的基础知识,以及如何在编程领域找到工作。虽然书中提及的第三部分编程...
### SQL Server 自学知识点梳理 #### 一、SQL简介与历史 - **SQL**(Structured Query Language)是一种用于管理关系数据库的标准语言。 - **SQL简史**:SQL最初由IBM的程序员Raymond Boyce和Donald Chamberlin在...
如描述中所述,大部分C++程序员是通过自学成才的。这种自我驱动的学习能力是创业者的重要特质,因为他们需要不断学习新的技术和市场趋势,适应快速变化的环境。此外,他们还需要培养跨领域的知识,如项目管理、市场...
文章回顾了计算机行业的发展历程,早期计算机并不普及,编程领域充满了无限的可能,一些自学成才的非专业人士通过不懈的努力也能达到行业顶尖水平。但是,随着时间的推移,编程语言和技术不断更新,程序员需要...
代码大全(Code Complete)优秀程序员必读,本书从软件质量和编程思想等方面论述了软件构造问题,并详细论述了紧跟潮流...本书适合经验丰富、自学成才的程序员阅读,也适合于那些几乎不懂什么编程技巧的新程序员阅读.
本书从软件质量和编程思想等方面论述了软件构造问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还...本书适合经验丰富、自学成才的程序员阅读,也适合于那些几乎不懂什么编程技巧的新程序员阅读.
在IT行业中,编程和软件开发是一项复杂而富有挑战性的任务,尤其对于自学成才的程序员来说,积累实践经验是提升技能的关键。"randomprojects"这个存储库恰好为学习者提供了一个平台,来实践和展示他们在编程旅程中的...
我的职业生涯始于自学成才的程序员,现在是时候把事情弄清楚了。 科技通过增加时间的速度改变了我们的生活,有时您需要退后一步,以不同的角度看待一切。 我享受工作的众多方面之一就是能够自己管理自己的时间。 ...
在“My-Projects”这个压缩包中,我们看到一个自学成才的程序员所创建的项目集合,主要关注小型项目、数据结构以及算法的实现。这个压缩包可能包含了一系列的学习资源和实践经验,对于想要深入理解编程基础,特别是...
- **自学成才**:尽管起点低,但作者凭借着坚持不懈的努力和对新事物的好奇心,最终成功转型成为一名程序员。 - **职业规划**:这一转变不仅体现了作者的学习能力,也展示了他在面对未知领域时的勇气和决心。 综上...
这本书不仅适合有经验的开发人员,也适合那些自学成才的软件工程师,旨在提升编程技能,优化代码质量。 在书中,McConnell探讨了多个关键知识点,包括但不限于: 1. **设计原则与模式**:讲解了如何有效地设计代码...
《代码大全》,软件开发人员必备工具书。 本书所面向的对象:经验丰富的程序员,自学成才的程序员,学生。