程序员工作法

月伴飞鱼 2024-08-01 10:41:52
学习专栏
支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者!

专栏链接:https://time.geekbang.org/column/intro/148

程序员的三大美德

懒惰、急躁、傲慢:

  • 懒惰:它会使你花很大力气去规避过度的精力消耗,敦促你写出节省体力的程序。
    • 别人也能很好地利用,你还会为此写出完善的文档,以免别人来问问题。
  • 急躁:是计算机偷懒时,你会感到的一种愤怒。
    • 它会促使你写出超越预期的程序,而不只是响应需求。
  • 傲慢:极度自信,写出(或维护)别人挑不出毛病的程序。

本质复杂度和偶然复杂度

本质复杂度就是解决一个问题时,无论怎么做都必须要做的事。

偶然复杂度是因为选用的做事方法不当,而导致要多做的事。

大部分程序员忙碌解决的问题,都不是程序问题,而是由偶然复杂度导致的问题。

  • 如何减少偶然复杂度引发的问题,让软件开发工作有序、高效地进行。

任务分解

艾森豪威尔矩阵:

  • 将事情按照:重要 和 紧急 程度进行划分,成四个象限:
    • 重要且紧急的事情要立即做。
    • 重要但不紧急的事情应该是重点投入精力的地方。
    • 紧急但不重要的事情,可以委托别人做。
    • 不重要且不紧急的事情,尽量少做

最小可行产品:

  • 刚刚好满足客户需求的产品。
  • 在实践中,用最小的代价找到一条可行的路径。

让知识更有结构

金字塔原理,从中心论点到分论点再到论据:

  • 结论先行(一次表达只支持一个思想,且出现在开头)
  • 以上统下(任一层次上的思想都必须是下一层思想的总结概括)
  • 归类分组(每组中的思想都必须属于同一范畴)
  • 逻辑递进(每组中的思想都必须按照逻辑顺序排列)

会议重点

写事实,不要写感受:

  • 事实就是明摆在那里的东西,而感受无法衡量

重点关注可改进的部分,按照优先级讨论(一般只挑出最重要的几个)

通过多个为什么,一步步找到根因

尝试着找出解决方案,一系列行动项,所有的行动项都是可检查的,可验证实现的内容

验证行动项的完成情况

学习区学习模型

舒适区,舒适而缺乏成长

恐慌区,超出能力范围

学习区,有难度而可以达成

在学习区练习才能得到足够的成长

编写代码的进阶路径

编写可以运行的代码

编写符合代码规范的代码

编写人可以理解的代码

用业务语言写代码:

  • 贴近实际应用现场,例如起名字贴近实际应用业务而非代码中面向实现的名字
  • DDD领域驱动设计

T型人才一专多能

知识的广度

专业技能的深度

面对新工作

业务:做什么

技术:怎么做

团队运作:怎么与人协作

由大到小,由内及外地了解工作

程序员的职业发展

程序员的焦虑来自于对未来的不确定性,这种不确定性是一个特定时代加上特定行业的产物

  • 快速发展的中国经济
  • 程序员在中国是一个新兴职业

成为行业专家,制定高目标

向大师学习,开拓视野

找到好的问题,和高水平的人一起工作

支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者!