- 学习的复利
- 学习遵循指数增长曲线
- 越早对学习方式进行优化,我们的学习就有越长的时间去 产生复利
- 由于存在复利效应,即使学习速率只有微小的变化,从长远来看也会造成很大的差异
- 提高杠杆率的三种方式
- 减少完成某项工作所需的时间
- 增加工作的产出
- 转向杠杆率更高的工作
- 寻求有利于成长的工作环境的六个因素
- 快速增长(产品的快速增长)
- 培训(新人培训,快速入门,前期)
- 开放(开放共享的协作文化)
- 节奏(快速迭代的节奏,寻找快速反馈,快速修正)
- 人员(聪明的,有创造力的合作伙伴)
- 自恰(自主性,中后期)
- 持续学习
- 掌握你所使用的编程语言,勇于学习你不熟悉的项目代码。
- 阅读,为教学而写作(享受写作的快乐)。
- 学习新的编程语言和开发框架,学习其设计思想。
- 寻找工作之外的学习机会,每天进步 1%。
- 提升效率的习惯
- 使用事项清单记录代办事项,并时常回顾。
- 致力于创造价值的工作。
- 感受心流,培养最优体验的工作状态 —— 专注。
- 培养调整优先级的习惯,日周月回顾目标,调整任务的优先级。
- 建立优先级四象限(重要程度 & 紧急程度);重视重要不紧急的任务。
- 正确度量以改进目标
- 学会度量工作进展,让工作进展可度量,用于改进优化工作方向或方法。
- 谨慎选择指标,了解指标背后的意义。
- 优先考虑数据的完整性和可靠性。
- 尽早验证和快速迭代
- 提前验证,构建快速反馈和验证的良性循环有助于做出更好的决策。
- 做少量的工作来收集数据,以验证假设。
- 采用 A/B 测试方法,进行验证分析。
- 软件开发是团队活动,建立有效的反馈循环,能提升软件的成功概率
- 谦虚接受反馈。
- 尽早提交代码进行评审,小步迭代。
- 请求严格的评审者评审代码。
- 征求团队成员的反馈。
- 编写代码前,可以考虑文档先行,进行系统设计。
- 设计良好的软件抽象可以简化困难的问题,好的抽象应该:
- 易于学习。
- 易于使用,甚至无须文档。
- 难以误用。
- 足够强大,能满足需求。
- 易于扩展。
- 适合于受众。
- 将复杂的概念分解为简单的概念。
- 最小化软件运营负担
- 从简单的事情入手,系统越简单,就越容易理解、扩展和维护。
- 构建可快速试错的系统,提前抛出软件执行中不符合预期的问题。
- 提高机械任务自动化,可节省人力时间。
- 实现幂等性和可重入性。在发生故障时更容易重试操作。
- 为故障进行预演。
- 为团队成长投资
- 帮助周围的人成功。
- 提高招聘的优先级,保持高标准的招聘,吸引优秀的人才。
- 对新员工进行培训,提升团队效率。
- 建立代码共享所有权。避免一人团队。
- 提升团队内知识的共享和流通,构建积极的共享氛围。
- 创造卓越的工程师文化,有助于提升团队吸引力和工作效率。