英文原文:All Programmers Are Self-Taught
在我十几岁的时候就开始玩甲级棒球。我水平很差,但当我决定要做好什么事时,最终总能如我愿。现在我是计算机专业 3 年级的学生。在编程上,有些事情和体育是截然不同的:棒球教练可以教会你如何打棒球,但一个计算机教授却不能教你如何编程。
我很吃惊,在整个大一期间,我的老师或教授从来不点评我的代码,大二时更是如此。我们的作业很多,题目很难,但在完成了数据结构课上的 2000 行的代码后,我从来没有收到过老师的任何一条评论——只要程序能编译通过,单元测试显示没有错误,这就行了。直到遇到了一个小组开发的项目,我才认识到我的代码写的多烂,我才开始询问:好的程序应该如何写。
但是,什么样的代码才是好的代码?我花了大量的时间来提高代码的可读性,添加注释。我努力模仿 UNIX 的哲学观,力求简约,首先让程序能跑起来,在此基础之上,在需要的情况在进行优化。复杂的东西要逐步增加。除非必要,我不使用线程。但是,说实话,我不知道这是不是好的代码(说实话,我觉得自己水平很差)。
我很幸运,能和一群优秀同学一起工作,他们都是出色的程序员,他们在微软、谷歌、亚马逊等公司实习。他们的观点都很一致,认为自己的知识都是自己总结或从其他程序员那里学到的。即使是非常资深的软件工程师也有这样的看法。所以,我的结论是:
所有程序员都是自学成才的。
我受的教育给了我很好的基础:数据结构,算法,数据库设计,并行计算,网络编程,敏捷开发以及各种编程模式。但所有的这些,即使是它们使得编程更高效和更精巧,你仍然可能用错它们——我曾经看过一些学生在这些课程上学习成绩非常好,但写的代码却让人想哭。
我并不认为学过计算机科学、软件工程或得到一个大学文凭会有多大的用处,如果你想靠写代码为生,自学是你不可缺少的途径。
分享到:
相关推荐
优秀程序员:从中学习并成为自学成才的程序员的资源集合
如何成为一名自学成才的程序员此仓库是我的课程“如何成为自学成才的程序员”的一页信息站点。关于课程这是一个为期8周的编程课程入门,重点是教授和实践手艺中的自我发展技能。 它将引导学生学习软件开发的基本概念...
自学程序员 自学成才的程序员 第三部分编程工具介绍第四部分计算机科学介绍第六部分找工作 放在一边,这三个部分对我来说不是很有趣。
随机项目 这将是我成为一名自学成才的程序员的过程中随机项目的存储库。
代码大全(Code Complete)优秀程序员必读,本书从软件质量和编程思想等方面论述了软件构造问题,并详细论述了紧跟潮流...本书适合经验丰富、自学成才的程序员阅读,也适合于那些几乎不懂什么编程技巧的新程序员阅读.
本书从软件质量和编程思想等方面论述了软件构造问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还...本书适合经验丰富、自学成才的程序员阅读,也适合于那些几乎不懂什么编程技巧的新程序员阅读.
我的专案由自学成才的程序员构建的项目。 主要包含小型项目,数据结构和算法实现。
我的职业生涯始于自学成才的程序员,现在是时候把事情弄清楚了。 科技通过增加时间的速度改变了我们的生活,有时您需要退后一步,以不同的角度看待一切。 我享受工作的众多方面之一就是能够自己管理自己的时间。 ...
自学成才的程序员 本书尤其适合于很少受过正式专业训练的程序员阅读。1988 年有100,000 人加入了程序 员大军,但其中只有 40,000 人是从计算机专业毕业的本科生,其余则几乎全是靠自学成才的。 同时,还有...
《代码大全》,软件开发人员必备工具书。 本书所面向的对象:经验丰富的程序员,自学成才的程序员,学生。
本书从软件质量和编程思想等方面论述了软件构造问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还...本书适合经验丰富、自学成才的程序员阅读,也适合于那些几乎不懂什么编程技巧的新程序员阅读.
本书从软件质量和编程思想等方面论述了软件构造问题,并详细论述了紧跟潮流的新技术、 高屋建瓴的观点、通用的概念,还...本书适合经验丰富、自学成才的程序员阅读,也适合于那些几乎不懂什么编程技巧的新程序员阅读.
matlab分时代码Soley的个人资源 基于我个人经验的资源(质量比数量重要!) 拱 :red_heart: Linux 概述 CS 101(美丽世界简介) :globe_showing_Asia-Australia: ...哈佛CS50(Advance&Hard ...间期:
本书从软件质量和编程思想等方面论述了软件构造问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,... 本书适合经验丰富、自学成才的程序员阅读,也适合于那些几乎不懂什么编程技巧的新程序员阅读。
软件开发人员必看工具书 本书适合经验丰富也适合自学成才的软件人才 书中有表驱动法等一些经典的数据结构方法
计算机实用软件技术系列丛书,软件开发人员必备工具书. 本书从软件质量和编程思想等方面论述了软件构造问题,并详细... 本书适合经验丰富、自学成才的程序员阅读.也适合于那些几乎不懂什么编程技巧的新程序员阅读.
本书从软件质量和编程思想等方面论述了软件构造问题,并详细论述了紧跟潮流的新技术、 高屋建瓴的观点、通用... 本书适合经验丰富、自学成才的程序员阅读,也适合于那些几乎不懂什么编程技巧的新程序员阅读.
本书从软件质量和编程思想等方面论述了软件构造问题,并详细论述了紧跟潮流的新技术、 高屋建瓴的观点、通用的概念,井...本书适合经验丰富、自学成才的程序员阅读.也适合于那些几乎不懂什么编程技巧的新程 序员阅读.
本书从软件质量和编程思想等方面论述了软件构造问题,并详细论述了紧跟潮流的新技术、 高屋建瓴的观点、通用的概念,井...本书适合经验丰富、自学成才的程序员阅读.也适合于那些几乎不懂什么编程技巧的新程 序员阅读.