软件开发的一些思考与Hint

业务价值与驱动力

  • 大局观&格局(森林)//  细节 (树木)
  • 代码不是资产/财富,代码是负债。代码实现的那个背后的需求才是资产/财富。
  • 代码本身并没有价值,运行、数据沉淀才是价值。
  • 结合上面两个,在大多数业务场景里面,想法起点和运营成果才是价值
  • 软件行业中,代码目前看起来并不具备护城河能力(开源、复制),数据才是护城河,特别是与社会资源强关联的那些(社交、金融资产、生产活动)
  • 要做有门槛的事,建立自己的护城河和影响力
  • 制定标准与构建生态(apple,sony)
  • 数据驱动,数智赋能,价值在外的思维(业务)

软件工程

  • 操作系统是一个程序,这个程序的用户是程序员或者一般人员。那我们做系统(某种意义上程序的集合)需要充分考虑我们的用户,做好对外的提供的api和对象。内部做好实现。
  • Unix环境高级编程:从应用系统深入到操作系统;几乎所有的性能优化,都在CA、OS能找到相同的思想理念。
  • 编程、计算机是来解决问题,提升效率的。
  • 系统功能正确性(输入与输出、内在状态变更)系统内外 VS 函数内外
  • Meta method:抽象 分层 组合

系统选型

  • 没有银弹,所有系统架构都有优势、劣势。最典型的就是批处理系统与实时流处理系统的优劣势。
  • 系统选型时,首先明确(业务、科技)需求优先级,再考虑系统的长期性(考虑未来迁移、运维的成本)。

年度经验

  • 2023经验
    • 五年工作经历,需要更多的是深度与解决问题的能力(很多问题可能是没碰到过,应该做出正确的方案选择)
  • 2022经验
    • 重要的是个人能力提升与影响力,金钱是副产物
    • 重要的是脚踏实地,能够解决具体的问题,并且保持大方向与积极反馈修正。

其他人的思考引用

南大老师的话

来源:“大学除了专业知识,还应该学些什么?” 南京大学《SICP》课堂李樾老师的絮絮叨叨_哔哩哔哩_bilibili

  1. 有限时间内快速(搜索)汲取知识并化为己用的能力
  2. 这种能力需要训练,系统性地向他人介绍一块知识内容(往往自顶向下)
  3. 通过实践,实现一个具体的系统来综合运用知识(使用概念与抽象)
  4. 面对压力困难迷茫时,接纳自己,认同自己,积极应对和拿出勇气
  5. 理解他人、包容他人、博爱他人
  6. 学会原谅自己,爱自己
  7. be different,做自己,让自己幸福

最后修改于 2024-06-01