软件开发者路线图摘要

本文是阅读《软件开发者路线图-从学徒到高手》笔记摘要

仅仅告诉人们去做事情并不能带来长久和可持续的变化。按照你的要求去做事的人如果遇到你的规则没有囊括的新情况,他们马上就会迷失。

如果你愿意钻研一件事,你就能做得更好,一切也将得以改善。用她的话说,"努力是使得你聪明能干的东西"(《Mindset》(心理定向与成功),第16页),而失败不过是引导你下次尝试不同方法的激励机制。这跟以下信念是相反的:我们每个人天生都带着固定数量的禀赋,而失败就是我们天资不够的证明。

从你所做的事情中寻找不足之处并寻求解决办法

一种对注重实效而非教条主义的向往。这包括一种肯于牺牲理论上的纯洁性和未来的完美而达到"今天把事情做完"的意愿。

一种认为分享知识胜过隐藏独享的信念。

一种敢于实验并被证明错误的意愿。

争论、反对、分歧(而不是盲从于自诩的权威)正是到达目标的途径。

最好的学习方法,就是同那些使用你要学习的技能来达到某种目标的人处于同一个房间里。

一个人帮助一个知道自己正在做什么的人,从而让他学到东西。

靠自己也可以学习一门语言,但除非与专家交流,否则你需要更长的时间来领悟语言的精神。

你不应该"嫁"给任何特定技术,而应该有足够宽的技术背影和经验基础,使自己能针对特定的情景选择好的解决方案。

通常,每一步都该有进门的感觉。这是初学者的心-–—一种正在"成为"的状态。

永远不要忘记:可以随便犯蠢的自由很可能是打开天才成功之门的钥匙。

当我不能做自己喜爱的事情时,我就完全是个懦夫

上帝只让一小部分人开开心心地通过自己喜爱的工作谋生。感谢上帝,让我成为其中之一。

不要因为他们没有走在你所走的路上,就认为他们已经迷失了。

对初学者来说,不论他是从培训班开始还是通过自学,走上软件技能之路的第一步都是找一名技师来带他。

我喜欢有足够的自由度,这样才能理解或者想出一些东西,但我也喜欢合作。我会寻找那些能让我从共事的人那里学到东西的项目,并会因此而更有活力。

最理想的技师工场是这样一种地方:你在那里可以吸收那些只可意会、不可言传的知识;靠每天的点滴进步积累成一种实践习惯。

如果我们放纵自己,我们将总是需要等待一些消遣或其他事情结束才能安心工作。只有那些对知识非常渴求,以至于在不利的环境下仍能坚持探索的人才会取得更大的成就。从来就没什么"有利条件"。

学会那些本来不会做的事情,常常比去做已经会做的事情更加重要。

为[成为一名程序员]做准备,最好的方法就是写程序,并学习其他人写过的优秀程序。我当初所做的是:到计算机科学中心的垃圾筒中,去寻找他们操作系统的清单。

挑选一个算法精深的开源项目,如Subversion、Git或Mercurial这样的源码控制系统。浏览项目的源码,记下让你觉得新奇的算法、数据结构和设计理念。然后写一篇博客,描述一下项目的架构,着重突出自己学到的新思想。你能在日常工作中找到可运用同样思想的场合吗?

你也不应该低估写作本身的威力……你会失掉更大的目标感。但写作能让你后退一下并完全想通一个问题。即使最怒气冲冲的演说也能使一位作者达到某种程度的深思熟虑。

"一个人教的时候,两个人在学。"

天赋常常被误解。它并不是超常的智力,而是一种性格。它最需要的是一种承认失败、不遮掩缺点并努力改变的意愿。它来自于刻意的,甚至强迫性的对失败的反思,以及对新方案的持续探索。

他将不再是个靠学习成绩激励的人,而成为一个靠知识激励的人。他不再靠外部的推动来学习。他的动力来自于内部……这种激励,一旦抓住它,就会成为一种强势的力量。

模式列表:

Kumu / 2015-04-08 Wed 00:00Emacs 28.2 (Org mode 9.5.5)