本周,我们加入了埃里克·瓦斯特,高级架构师TCGP播放器和创始人代码的出现 (AoC)。请加入我们,讨论 AoC 的起源、在解决 AoC 中的代码挑战时如何避免常见陷阱,以及 Eric 在每年的“3.8 秒”空闲时间中所做的事情。
如果您在阅读本次采访后期待参加“代码的来临”,那么您可能会对实用指南感兴趣代码的出现令人困惑.
瑞奇: 谢谢你加入我,埃里克。您最出名的身份可能是 Advent of Code 的创始人(我们稍后会讨论),但您也是 TCGPlayer 的高级架构师。请告诉我们一些您在那里的日常生活以及您需要解决的有趣问题。
埃里克:我使用 TCGPlayer 已经大约一年了。我所做的工作范围从棘手的算法、Kubernetes、供应商选择和基础设施扩展到培训、架构规划、技术候选人评估和举办大型内部黑客马拉松。
我的日常工作包括与团队和个人交谈以帮助他们解决最困难的技术挑战、算法设计、高级技术规划以及构建工具、自动化和可见性。我的工作涉及许多不同类型的问题!
瑞奇: Advent of Code (AoC) 始于 2015 年,此后每年举办一次。对于那些不了解该项目的人,AoC 是什么以及是什么激励您开始的?
埃里克:Advent of Code 是一个充满编程难题的降临日历。降临节日历通常是一种通过每天获得一点巧克力或玩具来倒数圣诞节前日子的日历。
我喜欢帮助人们成为更好的程序员,而且我喜欢制作谜题,所以我试图想出一些可以发送给我的一些朋友的东西。当时是万圣节前后,所以我正在考虑即将到来的事情,比如圣诞节,并想出了拼图加日历的想法,因为这可能会很有趣。
瑞奇: 如果我们的读者想参加 AoC 2021,您会给他们什么建议?您在参与者中发现了哪些常见的陷阱和问题?
埃里克:最大的陷阱可能是对自己太苛刻。您可以查找提示、寻求帮助或跳过谜题并稍后再试。最重要的是,不要因为排行榜上的时间而气馁。争夺最快解决时间的人也会全年进行大量的竞争性编程,而擅长竞争性编程所需的技能与使某人成为优秀工程师的技能有很大不同。
相反,应该专注于学习一门新的编程语言,或者一种新的语言特性,或者一种新的算法,或者寻找一个有效的解决方案,甚至只是解决一些难题——每个人都有不同程度的经验和背景,而难题也各不相同。对某些人来说容易,对其他人来说却很难。如果你学到了一些东西并且最终成为一个比你刚开始时更好的程序员,那么你就成功了——不管其他人做了什么。
瑞奇: 如此成功的项目,对于一个人来说一定是一项艰巨的工作。除了拼图之外,人们还能如何参与其中?他们如何支持 AoC 以确保其在未来几年持续发展?
埃里克:帮助 AoC 的最好方法就是帮助其他人解决 AoC 上的难题。到目前为止,随着 Advent of Code 的发展,对我来说最难处理的事情是社区的规模和学习新东西的人数。您不需要成为专家才能帮助别人。通常,仅仅一起讨论问题就足以让某人摆脱困境。我不可能同时出现在所有地方,但只要社区继续保持其相互超级支持的令人印象深刻的历史,我就不需要无处不在。
您还可以通过向更多人介绍 AoC 来提供帮助,尤其是那些刚刚开始编程并且不确定要构建什么来扩展其技能的人。 Advent of Code 充满了各种不同的概念和困难,让每个人都有机会学习新的东西,我的一个很大的希望是它也可以为刚刚起步的人和正在学习的人填补一些空白。边做边学是最好的方法,但不确定下一步要做什么。不幸的是,刚刚起步的人可能是最难找到的,所以我依靠社区来传播信息。
最后,对于那些感到有必要并且有能力这样做的人——不是你们,学生们!回去学习吧!——任何至少支持 AoC 1 美元的人在网站上他们的名字旁边会获得徽章。这有助于支持基础设施成本、我花在构建和运行 AoC 上的时间以及我的寿司瘾等问题。然而,《Advent of Code》对所有人免费使用,因此人们不应该觉得有义务这样做,除非他们真的愿意。
瑞奇: 现在只有最后几个问题。空闲时间你还做什么?除了 AoC 和编程之外,您还有哪些爱好和兴趣?
埃里克:除了工作、吃饭、睡觉和《代码降临》之外,我每年大约有 3.8 秒的时间,在这段时间里我做各种各样的事情。我玩电子游戏——《星际拓荒》扩展包非常棒,有 Zachtronics、Noita、Risk of Rain、异星工厂、Satisfactory、Terraria、Minecraft 以及许多其他游戏的游戏。我还看动漫,在 Otakon(大型动漫大会)做志愿者,玩 D&D,和我的狗一起玩,尝试提高我的烹饪技巧,并弹钢琴。
瑞奇: 谢谢你的聊天,埃里克。祝您今年的 AoC 一切顺利。
如果您想与 Eric 联系或注册 AoC,那么您可以前往代码网站的出现开始。如果您正在寻找详细的演练,您可能还会对实用指南感兴趣代码的出现令人困惑.
如果您希望我采访 Python 社区中的某个人,请在下面发表评论或在 Twitter 上联系我.