​软件领域的经典,没有理由不站在巨人的肩膀上。每次遇到瓶颈,需要借助外力突破时,书籍,尤其是经典的好书,让人如虎添翼!

| 一点提问:

专业程序员是怎么练成的?
如何培养使用工具的专业技术领导者?
为什么我们在学校教育上花费了上百万元,但是从来就忽视真正的学习?
为什么不能把程序员的教育完全托付给计算机?
什么是真正的学习?
提高技术能力的方法?

| 一部分回答:

技术评审
安排多次测试运行
在同样的时间里处理更多问题,或者探讨同一问题的多种解决思路。
分享不同的思维方式,掌握多种解决方法很重要。
不仅仅教授一种语言,而是教授两种判然有别的语言,正如,如果我们采用了双语策略,自然也就没有什么第二语言了。应该双语教学。
随机应变
构建大型系统,处理不同来源的大量数据
即使是最出色的程序员也必须花时间学习句法,拼写的艰苦课程,不然就会在实际调试时花几百小时浪费在着急生气上。
用更少的时间通过相互评审代码学习编程比全体送到大学校园听编程课程来得划算
教师、团队领导,必须奋力奔跑,才能保证自己一直在队伍前面
社会的、心理的力量——这些力量才是成功技术背后的真正动力,而且是技术存在的首要理由。
作为其中一个重要的起步措施,人们会把计算机培训从计算机手中解救出来,然后也许会把它放入人们的大脑中(值得深究)

| 一点理念:
我们每人都必须犯一些错误才能成长,但是人生苦短,如果每件事都要通过痛苦的经历才能学会,也未免太过艰难。
那些愚蠢的、痛苦的、完全错误的工作我们也实在不是非要尝试才行。
数据处理专家们不应该仅仅盯着自己的工资收入和晋升机会,更应该关注他们的公共责任。
在编程这件事上,我们全都身有残障,虽然我们可能还不自知。因为我们平时只用上了很小一部分潜能,所以,当我们要向世界证明什么东西的时候,我们也总能超越自我。所以,承认、接受自己身有残障的事实,这应该算是一个优势。
当你发现自己总在专业工作中为一些小问题恼火,也许是因为,从前某个重要的问题你已经回答错了。

| 关于经验:
经验不一定能教会人懂得任何东西

| 关于健康:
一个人要足够健康,不用其他办法,健康本身就“制造”幸福
身体要是不健康,其他成功秘诀都不会管用,身体不好的时候,第一重要的就是去把身体弄好。健康受损,大脑就是第一个开始衰败的器官。
头脑好,身体好!

| 关于变化:
无论你自己如何稳定不变,如果你的环境在变,你的个人处境可能也会变化
在变化方面的无能,最终会导致戏剧性或灾难性的变化
“不愿变化”的决心,往往是一种最强大的可以加以利用的力量。如果你直接和它较劲,那你几乎肯定要败落。如果你把它向你想要的变化方向引导,让系统自动去为保护它认为最有价值的东西而奋斗,这样就很可能会获得成功。——对于国家、公司、同事都适用。

关于变化的两条惯性定律:
第一定律:环境变化,迫使此时人们才会改变——会感到压力
第二定律:如果变化时,人们总是挣扎着保住对他们最重要的东西,牺牲不那么重要的东西。——会奋力保住(这也是很多人在自保和利益时的选择,就能观察出一个人最看重的是什么。所以人品,价值观,这些基础才会如此重要)

所以,让人感到压力&想奋力保住的东西如下:
生理需要(安稳、相对舒适的生活)
安全
归属感
他人的尊重
自我尊重或自我实现

通过以上定律,我们知道人对于压力会怎样反应,取决于人认为应该保住哪样重要的东西,这样我们就要问:变化会威胁到他珍视的什么东西吗?

| 关于用人:
我们总是把效率最高的人才从编程岗位上挪走或者轰走。
我要做的就是:不是光顾着自己能够提升多少,而是更应该想办法让团队中的每个人都提高,哪怕是每人提高1%,也会超过自己费劲巴拉的提高5%。
建立一套广泛得多的工作方式,想要管理高效,就得引导办公室里面的社会力量,达到为整个企业生产力目标服务的目的。
福特的基本反馈公式:
如果你想让人民改变他们正在做的,那么你应该确保他们的所作所为的结果都会反馈给他们自己。
收到自己工作成果的真实反馈,对工作积极性非常重要,因为真正的信息,是可以提高生产力的。——真正信息的作用
作为领导,一定要确切的知道属下在干什么,才能真实的反馈
管理者的任务,并不一定是直接给出这样的反馈信息,而是去安排这样的反馈,使之正规化,可靠化。
评审就是社会力量的一种,是今天就能采取的,最立即,最有效的步骤之一。
不做评审,任何程序开发管理者,对任何提高生产力的手段的实施,都不可能有踏踏实实的信心。也没有任何可靠的方法来打消幻觉。
可以推行程序员同级犯技术评审
降低离职率的措施,能够提高这些“活文档”的质量
让曾经阅读过,理解过的人签上名字,这样后面的读者也就能通过这样一种参考,找到对他们可能最有帮助的人。
在那以后的几天里,我把他的离职当成了自己的一种失败,但是每次有人离职,我都会这么想。可是,当我回头考虑这件事时,我明白了,一个公司不可能面面俱到,满足所有人的所有要求。我相信,那个人在自己的小公司里一定非常快活,在我们这里根本没法让他高兴到这个程度。不是每个人都一定要在一家跨国公司里当程序员的。
鼓励违抗愚蠢的命令,不一定非要勋章才行
每个人都应该有偶尔犯点儿错误的权利。如果谁都不犯错,那就说明大家从不尝试,从不思考。
公开表态总好过不战斗而被吃掉
害怕并非不专业,做胆小鬼才是不专业的

| 关于编程:
“温伯格珍贵编程法则”:
1.标准不够标准。
2.总会剩下1个bug的,你找到了这个剩下的,那还会有另1个
3.任何有可能发生的事都将会发生,除非你的测试计划中已算到了它会发生。
4.要是有人伸出1指,点出代码中的错误就在某处,那么就在处之外的其他地方去找这个错误——很可能错误就在该人的另外个指头指的地方。
5.1盗司“预防”顶得上1磅“事后补救”,可是管理层不会在防”上花哪怕1个便士。
6.需求、设计、编码能以任何速度完成——只有排错花时间。
7.再长、再乱、再复杂的代码,维护者都能把它弄得更糟糕。
8.人人都谈“文档”,可从来没人为它做任何事。
这儿根本没有规则是最好的规则
让那些一心追求产量的人理解追求质量的人,近乎不可能——反之亦然

矛盾论:
1.不要太早地放弃一种疗法。
2.不要让一种疗法耽搁太长时间。

医生拿那么多钱是有道理的。他们这个行业秘决中的秘诀,不在于这些“秘诀”本身,而在于知道何时应用哪个秘诀。也许我们付给他们这么多钱,也不仅是为了他们“知道怎样做”,而且为了他们“知道何时怎样做”。

我们的最差解题方法,其实就是我们的最佳解题方法做过了头。
如果做过了头,集中注意力也就变成了强迫性精神病。
面面俱到也就变成了优柔寡断。

把最佳解法和最差解法分开的那一条线,也许比我们想象的还要细微,这也就能鼓励那些目前最差的人,并且让最好的那些人保持清醒。

每次你读到什么写给别人看的东西,都先问问自己:
1.它是不是读下来比重写一遍还费劲?
2.它是不是不正确?
3.它是不是容易误导?
4.它是不是会让你感到一种只有H配方才能缓解的不适?
如果以上任何问题的答案是“是”,那就重写一遍。

代码本身就是文档的根基,那可以着手提高代码作为文档的质量。如果代码本身就是一种文档,那么测试代码的文档功能,就是读代码。
如果我们对于这样一个困难的问题太过严肃,那么也就很可能不屑于一些看似荒谬的提议,比如“把问题翻个个儿”

| 关于自我尊重:
我们最终想要的是自我尊重,其他任何人都没法给我“自我尊重”,虽然一些人曾经能够夺走我的“自我尊重”。当我最终能够善待自己时,我能与其他人和睦相处。
寻求成功可能是为了补童年的挫折。

| 关于思考:
人们不思考的4点“显而易见”的原因:可能

有人不愿意让人们思考。们就
没人在乎自己是不是思考。这个
过度思考会让大脑疲倦,因此也可能妨碍其他的事情。
在学校里我们没学会思考。
三思而无为,总比不思而妄为要好

知道什么时候让事情水到渠成,这是最高的智慧

| 关于主意:
主意来自3个源头:
错误
偷窃
交配
惩罚是最有效的教学方法,它教会你如何避免惩罚

| 关于沟通:
当我们把一个解决问题的想法转化成实际的解决方案时,我就有时必须要和他人交流,这时太高的“内部运算速度”会导致过载。
“如果你想让别人喜欢你,”俄罗斯有一句古老的谚语这么说,“就让他们帮你个忙。如果你想让他们恨你,那就帮他们个忙好了。要想让别人对你的智力产生印象,其实也跟上面的情况类似。

如果想让人认为你聪明,那就认真听人说话,仔细理解人家的意思。
如果你想让人认为你傻,那就不妨经常用你的高见打断别人的话。

教训:如果你傻到了认为烫斗是为了你才时冷时热,你也就活该挨烫
换句话说:所谓交流;总要有两个活人。一个活人加一个烫斗则不成。

| 关于职业生涯:
万物之道:人家付你工资,更多地是因为你所知道的东西,而不是你干的事情。
最重要的文档是保存在人的脑子中的。
如果你不学习,那么你也就到期了
年轻人再弄瘤,再吵闹,再没教养,头发再难看,再长,说到底,年纪越大还是越走下坡路。
换句话说:专业人士的最终安置应该是体面地退休。

| 一些结论:
1.从来没有哪个程序员因为身体好而遭了太大的罪,提醒你这一点,似乎都没太大必要,但是很多专业程序员对身体,简直像拿着烧红了的拨火棍的小孩儿一样。所以,如果你想在编程领域“走到某个地方”的话,那么想办法保持一个好的身体成功的可能性就会大大提高。或者,如果你现在还不够健康的话,就先把身体弄好吧!

从过去中,我们还能采集到哪些智慧的话呢?当我想到自己认识的很多专业人士时,我觉得下面的话很恰当。

2.没有哪个程序员,是因为自知太多而大大影响了前途的。这并不是说,如果你毫无自知,那也就不能在编程领域有所长进要是那样的话,我也就不会在这里写这篇文章了。回想我的早年经历,在自知方面的盲区太大——简直足够遮住一条银河了。我倒宁愿说,我后来的经历是托了自己成熟之后的眼光的福,但是似乎我学的东西越多,我的自知也就越少。到现在,我确实能够明白,如果我当时能站在局外考虑问题的话,早先有很多机会本来能够做得更好的。想一想,如果当时不是被自己的盲区遮盖了双眼,我会省下多少次开夜车的浪费!

我倒是很会观察别人的盲区。每次我终于发现了自己是多盲目时,我也会发现,其实别人也有“见我所未见”的本事。这样一来,我就会请求别人洞察力的帮助,作为回报,我也用自己的洞察力去帮助他们。

获得、索取这一类的眼光往往并不像我想的那么容易,但是这又教给我另一个道理:

3.没有哪个程序员,是因为善于和人相处而大大阻碍了注意,我说的是“和别人相处”,而不是“顺应别人”,这种区别特别细微,但是在计算机行业却特别重要。计算机永远不会“顺应”。有些人老师为了计算机的这种“直脾气”发火,可是这样的人做程序员久不了。程序员们最后会明白,计算机不会把谎言当作论据——因为它的论据就是简简单单的事实。计算机也不会操纵你非按照它的办法做,因为它没有自己的“办法”。

从计算机上人们懂得了正直——因为计算机正是正直待人的。而为了应付不正直的系统,人们也懂得了如何不正直地行事——我们也能从中得出另外3条成功的原则:

4.没有哪个程序员,因为正直对待计算机,或者正直对待正派人,而受到过伤害。

5.很多程序员都曾因为正直对待不正派的人而受到过伤害,但是他们都很快地恢复了。

6.也有很多程序员,为了跟不正派的人打交道,自己也就变得不正派,而这种不正派往往是永久性的,成了无可挽回的残疾。我猜,这些也许还可以归结为“处理不同意见的技巧”或者“在有限时间内承受困难的意愿”。如果你的工作让人实在没法忍受,或者你还有其他选择,可参见这一条:

7.如果程序员银行账户里不缺存款,或者还有其他的公司邀请,那么在纷争中,或困难中,他也不大会做出个人让步,或个人牺牲。但是,问题不仅仅是问题,也提供了学习的机会——了解这一点对你也会有帮助。比如说,离职当然是躲开一大堆麻烦的好办法,但是:

8.对于程序员来说,“一大堆麻烦”也提供了增进自我了解,提升与人相处能力的机会。

如果你不相信,只要读一读艾丽丝的故事,或者其他历险故事里成百上千个历经劫难的主人公的收获,就不难知道了。

理解专业程序员做准备,与其说秘决在于学习COBOL的关键字,不如说在于掌握在不同情况下处理问题的新手段。
《论个人力量》(On PersonalPower)一书中,Rogers说:
个体,而不是问题,是我们关注的重点。我们的目的不是要解决一个特定的问题,而是要帮助个体成长,使他既能应付当前的问题,也能用某种更完善的方式,应付今后的问题。

9.如果一个程序员一直都在成长、进步,他也就不会害怕未来。

| 写在最后:
当你有这样的感觉时:
总觉得我自己的问题是大问题,是重要得多、复杂得多的问题,与普通人遇到的那些不可同日而语,这可能会导致不少不愉快。

就想想宇宙中那1千亿个银河系,其中每一个可能都有1万亿颗星星,每颗星星上都可能生活着50亿人其中不少“人”可能都是程序员,也许有那么好几十亿人吧,此刻,正在跟你处理同样的一个bug呢。每当我在什么问题上一筹莫展的时候,想到宇宙中的那些难兄难弟就会让我宽慰不少。

我想告诉你的事情:如果你对自己在宇宙中的有了更合理的认识,你睡觉都能香得多。

《理解专业程序员》读书笔记相关推荐

  1. 读书笔记 | 墨菲定律

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  2. 读书笔记 | 墨菲定律(一)

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  3. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记

    <洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...

  4. 股神大家了解多少?深度剖析股神巴菲特

    股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...

  5. 2014巴菲特股东大会及巴菲特创业分享

     沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...

  6. 《成为沃伦·巴菲特》笔记与感想

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...

  7. 读书笔记002:托尼.巴赞之快速阅读

    读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...

  8. 读书笔记001:托尼.巴赞之开动大脑

    读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...

  9. 读书笔记003:托尼.巴赞之思维导图

    读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...

  10. 产品读书《滚雪球:巴菲特和他的财富人生》

    作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...

最新文章

  1. 怎么使用缓存、缓存穿透、热点数据处理、缓存雪崩解决方案 - 公开课笔记
  2. (二十二)深入浅出TCPIP之实战篇—用c++开发一个http服务器
  3. 双非毕业生,如何入职大厂
  4. STM32的学习记录--1.准备工作
  5. java多线程代码_java多线程实例代码详解
  6. pthread_detach()与pthread_join的区别?
  7. 用积木搭出的埃菲尔铁塔
  8. pxe服务器启动镜像存放位置,PXE启动服务器及客户端镜像制作
  9. mac电脑用计算机名共享打印机,苹果电脑怎么连接共享打印机_苹果电脑连接共享打印机的具体教程-系统城...
  10. c语言编程悬臂梁受力分析,悬臂梁-静力学分析(
  11. java 拼音首字母 高效_如何实现一个高效的拼音匹配库?解决多音字,首字母匹配等问题...
  12. BigDecimal解读
  13. html的nofollow标签,HTML中的A标签的nofollow属性解读
  14. 【QCM2150】WCN3680 WFA 11ac STA 5.2.1/5.2.61测试失败
  15. connectbot本地安装php,Android studio下编译connectbot
  16. 计算机win10分区软件,如何利用Win10系统DiskPart工具进行GPT硬盘分区
  17. Machine Learning with Graphs 之 Traditional Methods for Machine Learning in Graphs
  18. 华为mstp配置实例
  19. DB2ADVIS returning error -220
  20. 有监督、半监督、无监督、弱监督、自监督

热门文章

  1. 学习之旅16-R数据可视化-图形处理(二)
  2. ffmpeg 查询设备_ffmpeg 命令
  3. 机器人领域的几大国际会议
  4. YOLOv1——YOLOX系列及FCOS目标检测算法详解
  5. Matplotlib可视化(2)设置pyplot的rcParams, 可以显示中文
  6. 浏览器渲染原理的学习与总结
  7. Android搭建ftp服务器/客户端
  8. java对接PayPal支付(ipn中文乱码解决)
  9. stream流——开发必备
  10. 物联1902-631907090123-谢林