这是作者在 2024 年 9 月 EuRuKo 会议上的主题演讲记录,主要内容如下:
- 个人经历:作者从事软件开发约 25 年,20 年以 Ruby 为主要语言,为 Ruby 语言和开源项目做出贡献,目前在美国公司 Hubstaff 担任某种程度的首席工程师,同时是在乌克兰武装部队服役的乌克兰人,目前不在战斗岗位,而是从事更擅长的工作,并翻译在军中的诗人作品。
七个要点:
- 你会超越每个框架:在任何领域,包括技术领域,我们经常依赖各种框架,但随着代码增长,总会有超出框架的概念,因此应准备好做出自己的架构决策。
- 模式和方法会失败:整个模式和方法会过时,如国际安全架构、人道主义结构等在乌克兰经历中都出现问题,在开发中,随着项目成熟和行业发展,对常见方法的有用性会产生很多疑问和争论。
- 规模只会随时间增长:许多事物的规模只会随时间增长,如 Rails 应用程序会不断增长,GitLab 开源代码库也从最初的简单协作 UI 发展到拥有众多复杂概念和功能。这意味着旧的解决问题的方式最终会失效。
- 关注故事:在处理软件功能时,应关注单个故事,遵循因果、输入输出等线性叙述,避免迷失在层层的框架和约定中。注重“暴露这里发生的事情”,比在架构规划阶段就发明结构更能发现好的名称和结构。
- 目标是真实和清晰:作为开发者和人类,最终目标是真实和清晰,从倾听故事中得出。例如 Ruby 社区的 RSpec 测试,从最初的表达性到后来遵循简单规则,而实际上可以更有表达性。
- 这可能是孤独的经历:坚持真实的故事可能是孤独的,因为人们有自己的“大图景”,对新的方法可能持冷漠或敌对态度。目前行业中对“智能代码”和表达性有强烈反对情绪,而代码审查是确保故事有意义的重要方式。
- 永远不要放弃追求真理:软件开发人员首先是作家,应寻求知识,调整世界观,敢于重写过时代码,放弃错误假设和不可靠的基础。这对于长期项目成功至关重要。
- 总结:演讲强调了在软件开发中要保持真实、关注细节、不断调整和追求真理的重要性,同时也表达了对乌克兰的支持。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。