首页 > 编程语言 >《程序员进阶心法》读书(一)

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

时间:2023-12-13 22:55:45浏览次数:36  
标签:进阶 用户 展现 程序员 正交 BUG 心法

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

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

在前言里作者提到:

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

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

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

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

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

程序员级别的定义

初级:

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

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

中级:

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

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

高级:

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

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

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

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

展现

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

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

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

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

社交连接圈数

10, 100 每个人都能具备

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

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

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

海尔迈耶系列问题

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

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

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

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

成本 风险 收益 比例如何?

专业之外

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

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

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

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

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

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

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

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

程序实现的各方面考虑

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

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

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

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

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

集成部署

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

正交化

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

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

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

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

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

系统上线后BUG应对方案

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

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

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

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

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

标签:进阶,用户,展现,程序员,正交,BUG,心法
From: https://www.cnblogs.com/hichanglong/p/17900120.html

相关文章

  • 揭秘IT行业市场现状,2024年成为程序员还有发展前景吗?
    前言IT行业的发展前景仍然非常广阔,尽管有一些声音认为该行业已经饱和,但实际上程序员仍然有大量的需求,并且薪资水平也在持续增长。首先,IT行业的发展速度非常快,新技术不断涌现,比如人工智能、大数据、云计算等等。这些新技术的应用范围越来越广泛,对程序员的需求也越来越大。因此,程序员......
  • 程序员同时处理多个需求导致的问题及解决方案
    在软件开发过程中,程序员经常需要同时处理多个需求,这在一定程度上增加了工作量和压力。然而,过度的工作负担可能导致一些问题,其中最常见的是bug的出现。本文将探讨程序员同时处理多个需求时可能出现的问题,并提出相应的解决方案。一、问题分析当程序员同时处理多个需求时,他们可能会......
  • 大数进阶(1)——前言与定义
    基于OCF,我们迈入序数与基数之路,登神长阶我们进入不可计算的领域,需要的则是底层的集合论与数理逻辑学术界对于序数分析(OrdinalAnalysis)的研究起源于证明论序数(ProofTheoryOrdinal),由此诞生的则是前沿的目标大饼,离我们最近的也许是\(PTO(Z_2)\),不过这个对数理逻辑要求太高,我......
  • 分布式进阶-链路追踪SpringCloudSleuth、Zipkin【实战篇】
    一、前言我们在使用微服务的时候,往往设计到各个微服务之间的调用,肯定会存在深度的调用链路,如果出现BUG或者异常,就会让问题定位和处理效率非常低。有了Sleuth,就可以帮助我们记录、跟踪应用程序中的请求和操作。通常与Zipkin配合使用,从而提供更全面的可视化应用程序跟踪和分析功......
  • 29-进阶SQL-索引分类
       思考题:第一个SQL语句效率要更高,这是因为id是通过聚集索引查询的,只需要一次查询就可以差点对应的数据。而第二个SQL语句是通过二级索引查询的,首先要根据name查询到对应的主键id,然后根据id再回表查询对应的数据。因此,哪怕id和name都有索引,也是id的聚集......
  • Kubernetes学习笔记——Kubernetes进阶
    一、深入理解Service1、Service存在的意义•防止Pod失联(服务发现)•定义一组Pod的访问策略(负载均衡)2、Pod与Service的关系•通过label-selector相关联•通过Service实现Pod的负载均衡(TCP/UDP4层)3、Service的三种类型-**ClusterIP**:集群内部使用,默认**,**分配一个稳定......
  • Redis进阶命令
    1.设置过期时间expire[keyName][seconds]eg:expirefoo60再次使用expire命令会重置键的过期时间。2.查看剩余过期时间ttl[keyName]eg:ttlfoottl表示timetolive3.使用事务连续执行一系列命令multi[command1][command2]...exec 4.排序可以对l......
  • GPT会让程序员失业么?
    今天问了GPT一个问题,他的回答让我感到有些惊讶!问题帮我用DDD实现一个简单的接收邮件的程序回复当使用领域驱动设计(DDD)时,我们通常要从领域模型和业务需求出发来设计系统。在一个简单的接收邮件程序中,我们可以考虑以下步骤:确定领域:首先,确定系统的核心领域。在这个场景中,领域......
  • 我的心血之作:一套适合 SAP UI5 从业人员从入门到进阶的学习教程,以及教程背后的故事
    一转眼2023年又要结束了。我从2007年开始,以软件开发工程师的角色进入职场,马上也快满17年了。在这快17年的软件开发职业生涯里,我也见识并使用了许许多多的开发技术,编程语言,开发框架,平台。IT界这十多年来涌现出的一些新技术,我也主动或被动地去追逐过。比如2015年时,大数据......
  • #yyds干货盘点# LeetCode程序员面试金典:两整数之和
    题目给你两个整数a和b,不使用运算符+和-,计算并返回两整数之和。 示例1:输入:a=1,b=2输出:3示例2:输入:a=2,b=3输出:5代码实现classSolution{publicintgetSum(inta,intb){while(b!=0){intcarry=(a&b)<<1;......