《程序员进阶心法》读书(一)

发布时间 2023-12-13 22:47:40作者: changlong2022

《程序员进阶心法》读书(一)

前段时间在why佬技术群里有童鞋介绍了《程序员进阶心法》这本书,后来去图书馆借书偶然又遇到了这本书,我本人也是一直在找一个突破技术的方法,遂借来读读,我是先粗读了一遍,后又细读了比较关心的章节,收获比较大,特此记录。

在前言里作者提到:

这是一本关于路径与成长的思考数据,侧重路径选择和自我认知,读完书后 预期会有如下收获

1)建立学习的体系与思维模型

2)梳理清晰的成长与进阶路线

3)扫清成长路上的迷茫与障碍

4)形成明确的自我定位与认知

程序员级别的定义

初级:

学会了常用开发技术和框架,理解基本业务,工作在系统的局部区域内,在指导下实现功能解决问题,螺丝钉级别的工作,影响有限。 只是开发代码。

初级如何晋级:定期归纳总结局部工作经验,不断优化工作内容,在团队内做出分享,帮他人解决问题

中级:

独立性更强,不需要他人指导。可以自己设计实现系统模块,通过搜集资料自己解决遇到的问题。还是在开发代码。

很多人卡在中级的原因:虽然在不断的完成工作,但没有反思沉淀迭代改进分享

高级:

完成工作,独立负责,责任感更强。懂得用户体验和性能优化,综合的解决方案。 开发系统,关心最好的技术方案,完善优化。

高级如何再提升:结合多年的行业经验和自身实践 抽象提炼出 切实可行的方法论

后面还有资深工程师架构师和专家,他们开发产品 开发团队 开发梦想

个人体会:更重要的是说明了晋级的方法,当前对我来说应该是多反思 沉淀 迭代 改进 分享,并尝试考虑如何把多年的行业经验抽象出来

展现

展现专业能力:代码 架构 认知 决策

展现专业行为:沟通 交流 表达 协作

展现专业产出:作品 方案 洞察 颜色

展现方式:代码,交流,演讲 ,写作

社交连接圈数

10, 100 每个人都能具备

1000: 必须是一个创作者才有粉丝,需要持续创作能力

10000: 微博,公众号平台, 可以发表自己的观点,拥有了反馈

100000: 神奇的数字,难实现。

海尔迈耶系列问题

你学习这项技术的目标是什么?

这项技术现在是怎么做的,有什么局限?

这项技术有什么创新之处?为什么他能够取得成功?如果在项目中引入这项技术,谁会关心

如果这项技术能成功,会带来怎样的变化?

成本 风险 收益 比例如何?

专业之外

创造模型来解决问题, 洞察真正的用户需求,现实生活中的表达,推销展现你的作品,

沟通获取同步信息,达成共识,换位思考,同理心,自身情绪的控制,知易行难要多锻炼,

决策取舍,当断则断,推进进度

公司业务分类:波士顿矩阵模型

现金牛业务:产生现金的业务

明星业务:有前景的新兴业务

问题业务:不确定性因素多,没有走上正规

瘦狗业务:食之无味,弃之可惜

程序实现的各方面考虑

选型评估:选库,选框架,选API

程序设计:流程,分支,策略(行串行,同步异步),结构状态存取

执行效率:运行时间 响应时长 吞吐总量

稳定健壮: 异常处理 边界条件

维护运维:易读 易理解 易修改,监控,日志

集成部署

个人体会:介绍的比较全面,虽然日常工作接触的系统 都是小系统 也要更多的考虑设计,自我成长

正交化

任何一个功能仅由一个服务提供,不提供多个类似功能的服务

个人体会:正交化这个词 第一次见到是在 另外一本书《码农翻身》里,当时还不太理解,在这本书里 正交化 是介绍微服务拆分策略 提到的,它说是 任何一个功能仅由一个服务提供,不提供多个类似功能的服务。后来我还查了正交化的解释,以软件设计角度来说,正交化可以理解为解耦,两个方向不影响。同一个词从不同的环境来说有不同的含义。

为什么弄清楚用户需求很困难

用户心里诉求--》用户表达需求--》产品定义去--》开发实现

每个环节都可能偏差,第一步用户到底想干什么 用户有时是不会直接告诉你的。

系统上线后BUG应对方案

  1. 了解系统运行环境,学习JVM DOCKER 网络 磁盘

  2. 周期性BUG: 一般是资源泄露

  3. 非规律性BUG: 可能是 IO瓶颈(CPU 网络 磁盘)

  4. 神出鬼没BUG:可能是底层协议有关,多防御性编程

    个人体会:提供了一种规律性总结,给出了方向