美文网首页
《码农翻身》读后感---程序员的潜规则

《码农翻身》读后感---程序员的潜规则

作者: 小北觅 | 来源:发表于2021-04-21 12:19 被阅读0次

    最近读了一本好书,《码农翻身》,推荐没读过的小伙伴可以读一下。前面通过小故事介绍计算机世界中的方方面面,特别的有意思。

    作者在最后一章根据自己成为架构师路上点点滴滴的经验,给广大程序员提供了一些建议。
    让我受益匪浅。特此提炼一下,学习共勉:

    1、凡事必先骑上虎背

    在遇到机会,犹豫不决,缩手缩脚时,记住这句话:“凡事必先骑上虎背”,先让自己下不来台再说,但是真的尽自己最大努力以后就会发现,事情没那么难,最后还都把事情完成了。

    2、一些技术“潜规则”

    1. 局部性原理
    2. 缓存
    3. 抛弃细节:抽象
    4. 分层(七层网络协议、MVC编程模型等)
    5. 异步调用
    6. 大事化小小事化了,分治思想

    3、15年编程生涯,一名架构师的总结

    ①保持好奇心:
    对于程序员来说也是如此,如果你看到新技术、新产品没有像小孩看到新玩具那样两眼放光,没有立刻在自己的电脑上试试的冲动,你就需要仔细考虑一下是否真的对软件开发有兴趣。如果根本没兴趣,那不要浪费时间,还是趁早转行,有更多适合你的职业在等着你,没有好奇心,就不愿意追本溯源,追求技术的本质没有好奇心,就难以静下心来,耐得住寂寞,远离浮躁,更难以跨过这个行业所带来的种种挑战,走到架构师这个位置;没有好奇心,就不愿意学习新技术。一名架构师,如果没高对技术的敏感度和前瞻性,一直抱着一套技术架悔不变,估计很快就会被淘汰。

    ②养成计算机的思维方式:
    流畅地把人类语言的需求转换为计算机语言,这是程序员的基本功。
    这个基本功的训练就是数据结构+算法,方法就是多刷题。
    Leetcode刷起来!!!

    ③扎实基础,融会贯通
    建议有时间的同学一定要去再学习一下计算机组成原理、操作系统、编译原理、计算机网络、数据库、汇编语言,把这些知识融会贯通,打通任督二脉,在我们的脑海里建立一幅计算机运
    算的图景。

    ④要透彻地理解一门技术的本质
    Ant -》Maven的例子。Maven 出现,使用“约定重于配置”的方式解决了 Ant 的问题。
    理解了技术的本质以后就能够触类旁通,就能够快速学习,这在技术更新很快的软件行业尤为重要。
    只是学会使用是不行的,不但要知道 How ,还要知道 Why
    停下来,思考,才是进步的本质。

    ⑤能写漂亮的代码
    写出漂亮代码并不容易,需要思路清晰,有良好的编程基础,有优秀的抽象能力,以及对一门语言的熟练掌握。

    ⑥抽象的能力
    抽象思考的能力怎么强调都不为过。

    抽象能力的训练没有捷径,就是经验的积累,勤于思考和学习 例如:
    学习 Java Web 开发的可以思考一下为什么 Spring有Controller ViewResolver 这样的概念?学习 Android 的可以思考一下 Android 是怎么对未知的、纷繁复杂的应用程序进行抽象的?为什么有 Activity Service BroadcastReceiver ContentProvider 这四大组件?

    ⑦技术领导力
    要用技术的影响力来领导人, 而不是威权和职位。
    但影响力不是很快就建成的,这是一个漫长的过程:你解决了一道技术难题,你提出的方案被证明可行。
    这样的事情会一点一滴地积累起你在别人心目中的形象,建立你的的个人品牌,最终大家会给你贴上一个标签:大牛。

    4、写作

    对自己狠一点,开始写作吧。
    转教别人( Teach others )” 的办法属于主动学习,效率是最高的。但是在工作平日生活当中,你是很少有机会去给别人讲授的。既然没法给别人讲,那就退而求真;欠吧,把自己的理解写出来。

    当然不是泛泛地记流水账,或者把几个孤立的点罗列在那里,而是要把思路理清楚,尤
    真要写出为什么要有这门技术、这门技术解决了什么问题, 后才是这门技术是怎么使用的。

    我以后在写文章介绍某个新技术的时候,也会着重按以下要点来写:
    介绍某一门技术时,要进行深度思考,防止知识点都过于碎片化。
    为什么要有这门技术(or这门技术出现前的解决方案)?这门技术解决了什么问题?然后再介绍技术。

    相关文章

      网友评论

          本文标题:《码农翻身》读后感---程序员的潜规则

          本文链接:https://www.haomeiwen.com/subject/quialltx.html