2023 Week 41~44

老业务的改造升级有什么推荐做法吗?

该类问题应该是很多技术人都遇到过,极客时间应该有蛮多讲这类课题的,题主也可以检索看看; 自己也经历了蛮多历史老旧系统的维护与重构,这里也分享和总结一些自己在老业务升级改造一些遵循的原则,供参考:

  • 改造目标:这点摆在第一条,深入分析和梳理现有业务、技术架构痛点,你得想清楚为啥子里要改造(见过很多服务,重构版本上线不到半年,组织机构变动,又得重构升级),改造的 ROI 在哪里(业务驱动型产品,心中时刻要有技术服务于业务的思想),预期多少资源和时间(比如半年或一年后,大概要多少资源做成什么样)
  • 团队支持:有目标后,思考对应的解决方案(比如做架构升级重构、新语言业务重写等),基于时间人力等资源投入与产出收益权衡,选择最适合团队的解决方案(有团队成员、Leader 支持,更容易达成目标,这里也包括业务方的支持)
  • 梳理现状:我认为是历史老旧系统最难的地方(历史文档缺失过期、架构多样、部署复杂等),通常这步会伴随业务模块划分、业务流程梳理、接口文档、架构图之类的产物输出,通过不断完善这些产出物料后,你逐渐变为该业务领域的专家,后续才能做到重构心中有数,有的放矢
  • 逐步改善:不要想着一蹴而就,优先从边缘或新业务着手,先小步快跑 MVP 单个流程\接口\服务\模块,验证技术方案可行性,一两个跑 OK 后,再动核心接口或服务(这个过程注意 DRY 原则应用,比如公共模块、服务、方法、包的抽取)
  • 兼容适配:新旧系统一般都会有适配过程,尽可能保持与现有系统的兼容性(比如从架构上引入代理层,通过服务发现路由到新重构的 Go 服务),减少对现有功能的影响(引入不兼容的更改,须确保进行适当的迁移计划,比如 DB 晚间低峰数据迁移)
  • 持续迭代:一方面,如果是改造的工作量非常大(数月+),尽量拆分更小版本持续迭代和发布,中间也便于穿插一些紧急业务需求迭代,另一方面,对应的基础设施、研发环境也要跟上,有助于及时发现和修复问题,并快速交付新的功能和改进。
  • 质量把控:UT、灰度验证、日志、监控、告警、预案这些都得考虑上,准备好吃自己的狗粮,对生产环境抱有敬畏之心
  • 文档培训:新的路子走通后,可以通过文档和培训让更多组内成员参与进来,逐步完成技术的升级转型
  • 不断更新:收集用户反馈和团队的经验教训,不断优化和改进系统和研发流程,以满足不断变化的需求

P.S. 旧系统维护多了和重构多了,有时候自己也在想,国家、社会、经济、企业、个人等等,但凡有系统的地方,都需要做不断的做升级改造,这些原则很多也是共通的。

最后,如果你选择了走重构这条路,请对生产环境抱有敬畏之心,同时做好吃自己的狗粮的准备!

IKigai

https://en.wikipedia.org/wiki/Ikigai

Ikigai(生き甲斐,字面意思是“存在的理由”)是一个日本概念,指的是给人一种目的感、生活理由的东西。

该术语由两个日语单词组成:iki(生き,意思是“生命;活着”)和kai(甲斐,意思是“效果;(a)结果;(a)水果;(a)价值;(a)使用;(a)结果”。 (a) 好处;(没有,很少)有用’)(随后发声为 gai),达到“活着[活着]的理由”;生命的意义;什么[某事]让生活变得有价值; “存在的理由”

日语中描述的“ikigai”通常意味着当人们追求自己的激情时所带来的成就感和成就感,产生 ikigai 感觉的活动不是强迫个人进行的;而是强加给个人的。它们被认为是自发的、自愿进行的,因此是个人的,取决于一个人的内在自我。

“ikigai”是一个由两个方面组成的概念:“为生活带来价值或意义的来源或物体”和“一个人的生活因其来源或物体的存在而具有价值或意义的感觉”。

程序员自由职业 - 做什么\收入\经验和教训

记录于 2023/10/11

链接: https://www.youtube.com/watch?v=ShQNuuLqaRk

经验和教训

  1. 做产品不能是孤芳自赏
  2. 寻找稳定收入来源
  3. 积极的个人品牌打造

具体参考

  1. 不要再有经济压力情况下尝试自由职业
  2. 寻找自己有成就感的事情
  3. 做有意义的产品,而不是孤芳自赏的产品,快速实践MVP 产品
  4. 关注数据,第一个用户、付费用户,关注用户反馈
  5. 技术成长(全栈水平、Typescript、CICD、DevOPS 工作),系统开发的流程
  6. 项目怎样冷启动、市场推广、哪个平台推广效果最好,需要完整做一遍才知道(纸上得来终觉钱,绝知此事要躬行)
  7. 自建平台、大平台选择,一开始推荐大平台的完善,自建平台有很多事情要做(包括基建维护、流量推广等),大平台相比可以简便很多,但合作平台选择尽量选择头部平台(流量保障),也是推荐机制
  8. 上班时候就出了第一个课程(提供高质量的内容),在还有工作的时候就未雨绸缪,而不是临时抱佛脚
  9. 通过不断更新产品,提供更多增值价值给用户
  10. 与大平台合作,获取稳定收入
  11. 个人品牌打造和建设(互联网流量很贵)- 蓝鸟、B 站、YouTube、知乎、公众号
  12. 专注自己擅长的领域(视频、文章、博客),持续的重要性

12. 自由职业问题

  1. 孤独感:运动(社交)
  2. 没有监督:打造专属办公空间(洗脸、正装)、设定 DoD 时间里程碑、运动(分泌多巴胺)
  3. 无收入:对自信心打击(优先考虑钱)、及时止损(设定一个止损时间)

语言学习技巧

  1. 关键窗口时期大约是在 17 岁左右,什么时候开始学习也不晚
  2. 学习语言本身也是学习一种技能,保持好奇心和努力很重要