7场真正产生影响的技术演讲
我刚开始学习编程的时候非常痴迷,花了太多时间观看软件开发视频。
我当时决心成为世界上最好的 Python 开发人员(千万别这么做),我会在凌晨时分观看一个又一个编程视频,寻找更多的灵感(也千万别这么做)。
我想学习编写代码的最佳方法;最强大、最符合惯例、最健壮、最可靠、最优雅的解决方案。
现在回想起来,那倒是个不错的想法。但我当时的做法可能有点傻。
真正的软件设计在于权衡取舍,并提供解决方案,即使这些方案并不像我们希望的那样完美。再多的视频也无法取代亲自动手解决问题的经验。幸运的是,我及时明白了这一点。
但我不会说我花时间观察同行们的工作是徒劳的。优秀的开发者会向其他开发者学习。无论是通过视频、文章、课程、结对编程,还是仅仅浏览 GitHub 代码库,在文本编辑器中穿插一些直接学习总是有益的。
我的职业生涯不算长,也谈不上辉煌,但我曾听过一些对我影响深远的技术讲座;这些讲座改变了我编写和思考代码的方式,也改变了我对这份职业的看法。它们提升了我的能力,并非通过一些小众的编译器优化技巧,而是通过对目标和范式的通俗易懂、深入浅出的讲解,这些讲解引起了我的共鸣。这些并非我所有喜爱的讲座,只是我最近经常想起的。对于每一位演讲者,我都心怀感激,感谢他们抽出时间,试图教给我语法和IDE之外的东西。
我也尽我所能地选择了我认为具有广泛适用性、易于理解和可操作性的演讲。
所以,我能想到的回报这些与我分享了这么多的人的最好办法,就是把他们分享给你们。
每次演讲我都会添加一小段文字来提供背景信息,因为如果我要请你在如今信息爆炸的时代再去关注另一篇内容,我至少可以告诉你它对我来说有何特别之处,也许这些感受也会引起你的共鸣。
那么,事不宜迟,以下是……
我最喜欢的 7 场技术演讲(以及原因!)
1.清洁架构
- 主持人:布兰登·罗兹
- 时长:50分钟
- 关键主题:代码架构、软件设计、企业设计
布兰登·罗兹在五十分钟内就为我做到了其他几十个例子和文章都没能做到的事情。
他为构建完整的应用程序提供了一种合理的方法(并附有示例),其方法和推理具有普遍适用性,尤其适用于那些尝试使用 Python、Ruby 和 JavaScript 等语言编写现代、成熟代码的人。
Brandon 也是我听过的最优秀的演说家之一,听他讲软件架构课程就像在听故事一样,这种感觉真是太棒了。
强烈推荐给那些正在努力理解如何将比一两个文件或模块更大的代码片段组合起来的新手开发者。
2.看待乌龟的十三种方式
- 主持人:斯科特·瓦拉辛
- 时长:1小时5分钟
- 关键主题:软件设计、API设计、面向对象编程设计、函数式设计
谈到学习 F#,几乎不可能不提及 Scott Wlaschin,他的网站 fsharpforfunandprofit.com 帮助了无数开发者,从 F# 新手到其他函数式程序员,再到任何有兴趣学习如何用软件解决问题的人。
在这次演讲中,Scott 将带你了解 13 种软件设计,这些设计都旨在解决一个单一问题,重点介绍面向对象、函数式、过程式、模块化和企业级方法,这是一段相当漫长的旅程,但我可以保证他是一位优秀的向导。
3. GOTO 2016 • Excel 中的纯函数式编程
- 主持人:费利安·赫尔曼斯
- 时长:43分钟
- 关键主题:电子表格即代码、原型设计、灵感
哦不,又是一场关于函数式编程的讲座!
等等,Excel?那也算是编程吗?
没错,这正是重点。菲琳·赫尔曼斯用大约40分钟的时间,就对如何在Excel中进行深度工作进行了精彩而深入的讲解。她的热情极具感染力,引人入胜。即便抛开其他因素不谈,看到有人如此真心热爱自己的工作,也令人倍感欣慰。
但这次演讲的内容远不止于此,我这么说可能有点剧透了,但这次演讲让我深刻地意识到,编程的本质是运用软件来提供解决方案。开发者常常会沉浸在自我吹捧中,而Felinne提醒我们,专业知识无处不在,学习那些驱动我们周围世界运转的工具是值得的。
4.鸭子的命名:动态类型与智能约定的交汇点
- 主持人:布兰登·罗兹
- 时长:30分钟
- 关键主题:命名规范、语义设计、代码即文档、变量命名
布兰登回来了!同一个人出现在七个人的名单上两次可能看起来很奇怪,但你必须明白,我非常喜欢布兰登的所有演讲,而我花在筛选名单上的一半时间都花在了缩小范围上。
如果说《整洁架构》是一场关于高级软件战略的演讲,那么《鸭子的命名》则是一场关于战术的演讲;它探讨了在不断增长的代码库中保持控制感的战斗测试策略,尤其是在像 Python 和 JavaScript 这样无法依赖显式类型的语言中。
对于计划编写将来会被其他人(包括你们自己)阅读的代码的新开发人员来说,我强烈推荐这次演讲。
5.使不可能的状态变得不可能
- 主持人:理查德·费尔德曼
- 时长:25分钟
- 关键主题:重构、减少错误、函数式设计、静态类型
如果我必须从这份清单中推荐一个视频给大家观看,那就是这个。
《化不可能为可能》这个演讲与我优秀软件设计的核心价值观不谋而合。
演讲者 Richard Feldman 是Elm 编程语言的主要推广者之一,Elm 仍然是我最喜欢的前端代码编写方式。在演讲中,Richard 提出了如何利用软件域的力量来增强代码的弹性;软件域指的是我们构建应用程序所依据的类型和值,它能创造出超越强大测试需求的健壮代码。因为 Richard 认为,只要设计得当,甚至根本不需要测试。这是一场非常实用的演讲。
6.构建弹性前端架构
- 主持人:莫妮卡·伦特
- 时长:35分钟
- 关键主题:前端架构、弹性、遗留代码
延续前端力量的主题,我们回到策略、背景和理解的领域。
莫妮卡·伦特以引人入胜的叙述方式,阐述了我们如何设计前端应用程序,以及我们为什么编写这样的代码。短短 30 分钟,她就将技术债务、架构模式、API 设计和有效沟通等概念巧妙地融合在一起,让人耳目一新。想到她提供的知识能够帮助我们交付更高质量、更轻松的应用程序,你一定会感到精神焕发。
非常适合所有人,尤其适合前端开发人员。
7.代码的艺术
- 主持人:迪伦·比蒂
- 时长:1小时
- 关键主题:奇思妙想与愉悦、灵感、语言设计、代码哲学、流行文化
最后,我们还有代码的艺术。
说实话,我不想透露太多,以免破坏惊喜。但我可以肯定的是,对很多人来说,这次演讲会唤起你们当初投身编程的初心。对其他人来说,它或许能让他们更深入地了解其他人为什么会选择编程。但对所有人来说,这都将是一次精彩绝伦、充满启发、如梦似幻的旅程。
别试图一心二用。花一个小时,好好放松一下。
综上所述
希望这些对你有所帮助,给你一些启发,给你一些想法。如果确实如此,请告诉我,我非常想和人讨论这些。如果你不喜欢,也请告诉我。或许我还有很多东西需要学习。
在此之前,
柯克