关于学习这个话题

为什么要坚持学习?——
在急剧变化的时代,唯有学习者才能继承未来。不再学习的人通常只能全副武装地生活在不复存在的世界里
软件行业也许是有史以来变化最快的行业之一。
自2000年以来,我们已经看到了几十种主要的新编程语言,
旧的编程语言也出现了巨大的更新,
这些语言配套的数百种框架、库和工具也在发展着,
出现了几十种新的数据库,
也出现了一些新的硬件平台,
还出现了一些新的软件平台,
以及一些敏捷方法论,
开源软件也出现了爆发。
如果你在软件行业工作,每一年你的很大一部分知识都会被淘汰。
成为更出色的程序员的最佳方法就杀“花20%的时间去学习——这是一种复利”


学习的原理或者本质是什么?——
一万小时定律,一万个小时本身并不能保证成功。其他一些因素,比如运气、遗传和练习的方法同样扮演着关键的角色。
出类拔萃的表现不只需要大量的练习,还必须要刻意练习。
可以练习意味着要有反馈机制,让你可以跟踪表现水平,在每一段练习中,都要有意挑选一些在你能力之上的活动。
渐进式超负荷——
举重运动员在每一次训练中,会尝试举起比上一次训练更重一点的重量
无论哪种方法,刻意练习都会提升你的能力,这种提升通常也会带来相当程度的不舒服感。
累计数千小时刻意的、不舒服的练习是不容易的。为了达到一万小时,你需要每周大概练习20小时,一周接一周,持续10年。这需要有严格的时间保证,为此你需要做到:
明智地选择技能
投入时间去学习
让学习成为工作的一部分

明智地选择技能——
你只能花你生命中屈指可数的一万个小时,要让学习成为一种定期的习惯,你需要紧跟行业趋势,了解什么技能和技术在当今是有价值的,什么是即将来临的,而且明天可能是有价值的
你不必成为每一种技能的大师,努力成为T型人是很好的思路,不仅要深入掌握一个学科的知识并精通它,还要对其他学科也有广泛的涉猎并熟悉它们
要达到精通也许要花1万小时,但熟悉一种新技能也许会快得多。
掌握一种新技能的基础——仅仅只需20小时

投入时间去学习——
做事情的时间不是找出来的,而是创造出来的
没有时间、忙等其他任何接口,其实是在说“我宁可把其他事情放在学习前面”
错过太多的学习机会是一种短视的行为,特别是在快速变化的软件行业
在软件行业中,成为一名优秀的人才唯一的方法就杀不断让自己变得更加出色
每个深夜11点,我都会坐下来话20~40分钟去学习新东西。
根据自己的心情,我可能会看视频、读书、写博客或者摆弄一种新技术。这样的安排完全改变了我的职业
找一个适合你的时间,每天投入20~40分钟,最好是把学习作为工作的一部分

学习的技巧——
研究
实现
分享
如果你是程序员,你可以定期花时间去阅读和研究
三种让研究的实际变得更有效率的方法——
设立具体的、可测量的目标
记笔记
让你的朋友和同事也参加到学习过程中

如何实现?——
只要你先创造某种东西,你会发现你不知道自己在做什么,会发现自己的知识存在巨大缺口,会意识到你缺少一些关键的技能
最终,解决的版本会变得显而易见,那就是读书
你会渐渐理解,读书可以给你带来强大的力量
在一本书上花几个小时,读完之后,你就能够做一些新的事情、产生新的想法、看见新的世界
在你开始做东西之前,大部分所学之物,无论源于书本还是源于学校,很大程度上会让你感觉一无是处。
做一些东西的时候,这些技能才会变得有用
我也做过许多项目,是别人在决定我做什么、我可以使用什么工具、起始点在哪里、结束点在哪里,我所需要做的只是从一个地方走到另一个地方。这样的日子一结束,我会把项目抛之脑后,再不去看它一眼,什么都与我无关,所以学不到什么也没有关系的
工作之后,我就必须挑选自己的项目了,必须找出什么重要什么不重要,必须选择我要使用的工具,必须定出自己的时间和日程安排,也必须对项目维护若干年
我开始了专业编程,但意识到我并不真正了解如何做软件
我开了一个播客,但意识到我并不真正了解如何去写
我开始想要保持身材,但意识到我并不真正了解如何锻炼
我开始尝试自己做一些东西,才意识到我需要帮助
当我开始定期读书之后,就再也停不下来了
如果你在激励自己读书方面还有困难,最后就是找一个其中有些地方不知道如何实现的项目,去实现它,就不用操心读书的事情了
根据刻意练习的精神,我们要找一些能够扩展自己能力的项目。
如果你不知道如何做网站,就为自己建一个主页或博客
如果你从未用过Ruby,就用Ruby on Rails去做自己的主页
如果你从来没有实现过倒排索引,就可以从头开始为你的主页做一个搜索功能
出于学习的目的重新发明轮子也没有问题
你可以给自己找一些学习新库、新语言和新技术的理由
还有一种极好的学习方法,你可以为开源项目做贡献、解决编程挑战、参加编程竞赛

关于分享——
学习的最后一个阶段是分享
最出色的公司和程序员都喜欢分享他们所做的几乎一切东西
为什么应该分享?——
分享所得到的的东西要超过你所投入的,涵盖了专业性、质量、劳动力、市场推广和所有权这几个方面
什么是专业性?——
最好的学习方法就是教。向别人解释一个话题,你自己就必须更升入地去理解它。
每次我准备演讲、准备些博客或者写书的时候,我都会去了解比最初掌握的还要多的知识。
花时间去分享知识是提升水平的一种最简单也是最有效率的方式
具有“资深”标记的工程师都是那些使周围的人更加出色的人,要达到这一目的唯一的方法就是教
分享的东西涵盖了质量?——
将代码开源最意想不到的好处之一就是,这一行为通常都可以让你得到更高质量的代码,因为你知道“访客”将会看到它
你可能会花十几件去整理代码、添加测试、编写文档,通常都会让你项目更好地展示在世人面前。
如果你写博客或者做一些有关工作的演讲,道理也是一样的,分享项目的行为可以将项目变得更加出色
分享的东西跟劳动力有什么关系?——
每当有人使用你的开源代码并登陆一个bug的时候,他们都是在进行免费的质量评价
每当有人为你的开源项目提交不定,他们都是在为你开发软件,
每当有人撰写关于的开源项目的博客,他们都是在为你免费编写文档
如果这篇博客是严厉的负面评价,即便如此,他们也是在给你进行免费设计评审
和别人分享成功可以让整个软件社区为你的东西做贡献,与你自己一个人做相比,项目的规模可能更大、质量也能提高

分享与市场推广也能扯上关系?——
不管你是谁,表现自己出色的最好方法就是分享你的成果,这是最好的营销自己的方法

所有权?——
如果你能够在演讲中谈论你的成果、发布博客和论文,最好的情况是开源你的项目,那么它就是属于你的,一辈子都是。
它会成为你百宝袋中无法丢弃的珍宝,它会随着你去任何地方,你可以向别人展示,你会自豪于在它身上的付出
分享文化是软件行业之所以如此成功的原因之一,科技行业是极其开放的
当所有人都在分享时,所有人就都是胜利者
在分享文化中,我们可以看得更远,是因为我们站在巨人的肩膀上

应该分享生命以及不应该分享什么?——
如果想获得成功,你就要留出进行分享的时间,比如写作、演讲、为开源项目做贡献
即便没有人会看你的成果,写作、演讲、开源的首要目的是作为你学习的手段
写作就像在纸上思考
写博客的主要目标就是提升自己的思考能力
即便没人阅读,也是值得去做的
演讲和写作非常类似,都是把你的想法进行集中展示并向别人清晰地表达出来,可以帮助你理清自己的想法
将代码开源,可以让项目变得更加出色
在网上分享的东西,陌生人会发现它,有可能再进行分享,还有可能会给你感谢或者反馈
在互联网上,没有人可以和你见面,你的身份标识就是写作、研究、开源
你所分享的东西就代表了你这个人
如果你担心没有人对你说什么感兴趣,只要记住每个人都处于他们学校的不同阶段即可
你会惊讶于有多少你认为理所当然的“普通知识”实际上对其他聪明人也是全新的
世界上有太多要了解的知识,我们都在不断学校
时刻提醒自己,现在就是学习东西的“正确时间”
每个人的情况都是不一样的
不管你正处在什么阶段,一些人都会有兴趣倾听你的奋斗过程
当你写博客的时候,一定要记住非常重要的一点:你的每一个受众都在不同阶段,他们某些方面走到了你的前面,但也在其他某些方面落后于你
写博客的关键就是我们都同意分享自己所处的位置,不会去想那些看似落在我们后面的人,因为也许他们知道其他一些我们多年来都没有真正理解、甚至根本不知道的东西
不要分享你的“秘密武器”,这个占比很小,每个人大部分的知识都应该分享

posted @ 2020-12-18 06:03  小刚blogs  阅读(142)  评论(0编辑  收藏  举报