我改变主意的事情:
我现在相信的事情,过去的我可能会争论不休:
- 简单不是天生的。需要不断努力
- 管理或理解复杂性并不值得骄傲
- 对于经验水平各异的团队来说,类型化语言至关重要
- Java 是一门伟大的语言,因为它很无聊
- REPL 不是有用的设计工具(尽管它们是有用的探索工具)
- 大多数编程应该在编写一行代码之前完成
- 前端开发是一个噩梦般的世界,我不再喜欢它了
- 优雅并不是真正的衡量标准
- 良好的管理是无价的。(我职业生涯的大部分时间里都没有看到过好的管理)
- DynamoDB 是一个很好的数据库(前提是你的工作负载与它提供的功能相符)
- 面向对象在其擅长的领域中表现极佳。盲目追求函数性是愚蠢的。
- 工程主要与沟通有关
- 永远不要在 Java 中使用完整的 monad。
- 查询规划器是一个具体且痛苦的问题
- 如果我认为某件事很容易,那肯定表明我不理解它。
- 你必须给年轻的开发人员探索和犯错的空间
- 你必须积极投资于提高你的软技能(投资会立即带来回报)
- 在一般的应用程序开发中,抽象很少。只需编写所需的代码即可
- 相反,库的开发是关于抽象的。花时间寻找代数
- ORM 在所有语言和所有实现中都是魔鬼。只需编写该死的 SQL
- 函数式编程的问题在于函数式程序员
- 如果时间跨度足够长,你会深深后悔在无服务器函数上进行构建
- 类型是我们对世界做出的断言
- 由于某些原因,分布式锁定仍然非常困难
- 形式建模和分析是一项必不可少的技能
- 隔离性是良好集成套件的最重要的特性。
- DynamoDB 是一般应用程序开发最糟糕的选择
- 大多数人不会关心手艺。珍惜那些关心的人,在他们所在的地方遇见其他人
- 渐进式、依赖类型的语言是未来
- 你确实不能在测试代码中添加太多注释(我挑战任何人去尝试)
- 在我看来,那些过于强调代码风格、代码检查规则或其他细节的人都是疯子。把注意力放在更重要的事情上吧。
- 代码覆盖率与代码质量完全无关(在许多情况下,它们是成反比的)
- 整体式架构仍然相当不错
- 几十年来 RDBMS 的研究和改进很难被超越
- 微服务需要论证(它们越来越被假定)
- 大多数项目(甚至 AWS 内部的项目)都不需要“扩展”,而且假装这样做会造成损害
- 93%(或许是95.2%)的项目经理可能会在明天消失,要么毫无影响,要么效率会有所提高。(这一估计比 4 年前有所上升)