`
墨子宇
  • 浏览: 14630 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

所有的程序员都是自学成才

 
阅读更多
英文原文:All Programmers Are Self-Taught
  在我十几岁的时候就开始玩甲级棒球。我水平很差,但当我决定要做好什么事时,最终总能如我愿。现在我是计算机专业 3 年级的学生。在编程上,有些事情和体育是截然不同的:棒球教练可以教会你如何打棒球,但一个计算机教授却不能教你如何编程。
  我很吃惊,在整个大一期间,我的老师或教授从来不点评我的代码,大二时更是如此。我们的作业很多,题目很难,但在完成了数据结构课上的 2000 行的代码后,我从来没有收到过老师的任何一条评论——只要程序能编译通过,单元测试显示没有错误,这就行了。直到遇到了一个小组开发的项目,我才认识到我的代码写的多烂,我才开始询问:好的程序应该如何写。
  但是,什么样的代码才是好的代码?我花了大量的时间来提高代码的可读性,添加注释。我努力模仿 UNIX 的哲学观,力求简约,首先让程序能跑起来,在此基础之上,在需要的情况在进行优化。复杂的东西要逐步增加。除非必要,我不使用线程。但是,说实话,我不知道这是不是好的代码(说实话,我觉得自己水平很差)。
  我很幸运,能和一群优秀同学一起工作,他们都是出色的程序员,他们在微软、谷歌、亚马逊等公司实习。他们的观点都很一致,认为自己的知识都是自己总结或从其他程序员那里学到的。即使是非常资深的软件工程师也有这样的看法。所以,我的结论是:
  所有程序员都是自学成才的。
  我受的教育给了我很好的基础:数据结构,算法,数据库设计,并行计算,网络编程,敏捷开发以及各种编程模式。但所有的这些,即使是它们使得编程更高效和更精巧,你仍然可能用错它们——我曾经看过一些学生在这些课程上学习成绩非常好,但写的代码却让人想哭。
  我并不认为学过计算机科学、软件工程或得到一个大学文凭会有多大的用处,如果你想靠写代码为生,自学是你不可缺少的途径。
分享到:
评论

相关推荐

    程序员成长路线图:从入门到优秀.pdf

    文章提到了几种不同的程序员类型,包括那些自学成才的程序员,他们在资源匮乏的环境下依然能够迅速成长起来,并且成为团队中的佼佼者。 #### 二、成为程序员的标准 关于什么样的人可以被称为程序员,文章中给出了...

    selftaught:此仓库是我的课程“如何成为自学成才的程序员”的一页信息网站

    如何成为一名自学成才的程序员此仓库是我的课程“如何成为自学成才的程序员”的一页信息站点。关于课程这是一个为期8周的编程课程入门,重点是教授和实践手艺中的自我发展技能。 它将引导学生学习软件开发的基本概念...

    技术管理层谈招人经验及C++游戏程序员发展

    在中国,几乎所有的C++程序员都是通过自学成才的。这一现象背后的原因在于国内几乎没有正规且专业的C++培训机构,加之大学教育体系中虽然会涉及到C/C++基础知识的教学,但往往侧重于理论而非实践,缺乏实际的软件...

    优秀程序员:从中学习并成为自学成才的程序员的资源集合

    【标题】:“优秀程序员:从中学习并成为自学成才的程序员的资源集合”指的是一个针对编程学习者和自我提升的程序员的资源库。这个资源集合旨在帮助初学者和经验丰富的开发者提升技能,通过一系列的学习材料、教程和...

    the-self-taught-programmer:自学成才的程序员

    《自学成才的程序员》这本书主要面向那些希望通过自我学习来掌握编程技能的人。书中的内容分为几个关键部分,包括编程工具的介绍、计算机科学的基础知识,以及如何在编程领域找到工作。虽然书中提及的第三部分编程...

    sqlserver自学成才

    ### SQL Server 自学知识点梳理 #### 一、SQL简介与历史 - **SQL**(Structured Query Language)是一种用于管理关系数据库的标准语言。 - **SQL简史**:SQL最初由IBM的程序员Raymond Boyce和Donald Chamberlin在...

    c++程序员如何创业案例.pdf

    如描述中所述,大部分C++程序员是通过自学成才的。这种自我驱动的学习能力是创业者的重要特质,因为他们需要不断学习新的技术和市场趋势,适应快速变化的环境。此外,他们还需要培养跨领域的知识,如项目管理、市场...

    程序员学习之路

    文章回顾了计算机行业的发展历程,早期计算机并不普及,编程领域充满了无限的可能,一些自学成才的非专业人士通过不懈的努力也能达到行业顶尖水平。但是,随着时间的推移,编程语言和技术不断更新,程序员需要...

    代码大全(Code Complete)优秀程序员必读

    代码大全(Code Complete)优秀程序员必读,本书从软件质量和编程思想等方面论述了软件构造问题,并详细论述了紧跟潮流...本书适合经验丰富、自学成才的程序员阅读,也适合于那些几乎不懂什么编程技巧的新程序员阅读.

    代码大全,初级和高级程序员的参考书

    本书从软件质量和编程思想等方面论述了软件构造问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还...本书适合经验丰富、自学成才的程序员阅读,也适合于那些几乎不懂什么编程技巧的新程序员阅读.

    randomprojects:这将是我成为一名自学成才的程序员过程中所做的随机项目的存储库

    在IT行业中,编程和软件开发是一项复杂而富有挑战性的任务,尤其对于自学成才的程序员来说,积累实践经验是提升技能的关键。"randomprojects"这个存储库恰好为学习者提供了一个平台,来实践和展示他们在编程旅程中的...

    Front-End-Web-Developer-Nanodegree:以自学成才的程序员的身份来启动该程序的主要目标是刷新我的知识,并踏上开发者之路

    我的职业生涯始于自学成才的程序员,现在是时候把事情弄清楚了。 科技通过增加时间的速度改变了我们的生活,有时您需要退后一步,以不同的角度看待一切。 我享受工作的众多方面之一就是能够自己管理自己的时间。 ...

    My-Projects:由自学成才的程序员构建的项目。 主要包含小型项目,数据结构和算法实现

    在“My-Projects”这个压缩包中,我们看到一个自学成才的程序员所创建的项目集合,主要关注小型项目、数据结构以及算法的实现。这个压缩包可能包含了一系列的学习资源和实践经验,对于想要深入理解编程基础,特别是...

    一个初中生到程序员的辛酸经历

    - **自学成才**:尽管起点低,但作者凭借着坚持不懈的努力和对新事物的好奇心,最终成功转型成为一名程序员。 - **职业规划**:这一转变不仅体现了作者的学习能力,也展示了他在面对未知领域时的勇气和决心。 综上...

    代码大全(code complete)程序员必看

    这本书不仅适合有经验的开发人员,也适合那些自学成才的软件工程师,旨在提升编程技能,优化代码质量。 在书中,McConnell探讨了多个关键知识点,包括但不限于: 1. **设计原则与模式**:讲解了如何有效地设计代码...

    代码大全 STEVE McCONNELL编写

    《代码大全》,软件开发人员必备工具书。 本书所面向的对象:经验丰富的程序员,自学成才的程序员,学生。

Global site tag (gtag.js) - Google Analytics