我们正在用swag升级FutureStack注册,只到4月30日。适用条款和条件。 现在注册

观察McObservface第13集:驴和咖啡猫与Kat Cosgrove驾驶社区和开源

32分钟阅读

在这一集里,Kat Cosgrove,来自Jfrog.他谈到了为自动驾驶汽车“驴车”(Donkey cars)进行固件更新的工作,点式文档的重要性,以及让社区(尤其是新手)参与开源项目、编程和演讲。没有愚蠢的问题,不要再说你的事情“简单”了!

如果你发现有迫切需要分享你对节目的想法或咆哮,请喷向他们devrel@newrelic.com.虽然您要将所有人发给我们一些字节的所有麻烦,请考虑花点时间让我们知道未来的节目中听到的内容。尽管有全面的燃烧火焰,您将收到回复,请知道我们对您的反馈真诚感兴趣;我们的目标是安抚。跟随我们的讨论:@ObservyMcObserv

Jonan Scheffler:大家好,欢迎回到Observy McObservface,这个播客我们让互联网命名并得到了我们应得的。我叫乔南。我是New Relic开发者关系团队的一员,我每周都会带着一位新嘉宾和最新的可观察性新闻和趋势回来。如果你有什么想法想在节目中听到我的话题,或者你想听到的嘉宾,或者你想作为嘉宾出现,请联系我。我的邮箱地址是(jonan@newrelic.com)。你也可以在推特上看到我扮演的乔南秀。我们是来给人民他们想要的。这是人民的观察播客。非常感谢你参加我们的节目。喜欢这个节目。

我今天加入了我的客人Kat Cosgrove。你今天好吗?

凯特•:太好了。你好吗?

乔纳:我还在坚持。我觉得这周我感觉好了一点,稍微好了一点,也许稍微好了一点。所以,我这周过得很愉快。我还在坚持。

凯特:是啊,现在没那么紧张了。

乔纳:这是。这是。一般来说,生活变得不那么忙碌。我觉得人们在年底结束了很多事情,前往假期。鉴于大流行和一切,这将是一个有趣的假期,但我准备看那天勾选。我准备好看到2021年,并希望看到一些改变。

凯特:或者至少感觉有变化,即使它实际上并没有改变什么。主好,伙计。

乔纳:是的。这是一种打击。所以,我的听众,他们可能不熟悉你和你的作品,我相信,会喜欢听一些背景知识。说说你自己吧。

凯特:确定。我是JFrog的开发者支持者。你们可能在推特上看到过我,最近我在推特上几乎都在谈论政治而不是科技,所以我为此道歉。如果你和我一起度过了政治的喧嚣,谢谢你。我住在西雅图。我腿上坐着一只小矮人猫。她很甜。

乔纳:猫的名字是什么?

凯特:她的名字是浓咖啡。她是16岁,她的腿长大约两英寸。她非常丰富,非常有贫穷,所以当我几乎谈论时,她在我的谈话中展出了很多谈话,因为我不会去真正的会议。所以当我说话的时候听到她在后台哭泣或看到她爬到胸前时,这并不罕见,而我试图谈论。她真的很想引起关注。

乔纳:她总是愿意介入并做出贡献。我很欣赏这只猫:帮我做演示。

凯特:是的。她实际上是写大部分推文的人。这不是我。她是我的ghostwriter。

乔纳:(笑)

凯特:她比我有趣多了。所以我和这只猫之间的共生关系很好。但在我成为一名开发人员之前,我曾在JFrog的物联网团队担任工程师。我是一个团队的一员,这个团队建立了一个概念验证,将软件升级到汽车上,从需要物理访问电脑,需要8个小时左右的东西,到通过空气进行的东西,需要35秒到5分钟,这取决于它是应用程序更新还是固件更新,并且可能发生在汽车正在积极驾驶的时候。

乔纳:这听起来完全安全。你知道我希望我的汽车公司会做什么吗?在我沿着高速公路开车时更新我的​​固件。

凯特:[笑]

乔纳:这一点也不可怕。

凯特:我知道这听起来很可怕。应用程序更新是相当无害的。我们从来没有一个这样的例子,造成问题,或损坏的汽车导致它撞车,或开始奇怪的驾驶或任何事情。不过,固件升级并不像听起来那么可怕,因为升级的繁重工作是在汽车驾驶时进行的。所以它依赖于一个叫做Mender的工具,它有一个a /B更新策略。汽车正在驾驶,在分区A中运行固件,当它在驾驶时更新,更新将流到分区B,而分区B没有使用。因此,当更新的繁重工作发生在汽车行驶时,它实际上不会开始使用新的固件,直到下一次您关闭和再次打开汽车,因为引导加载程序知道哪个分区应该是当前的。如果你在开车去杂货店或其他地方的时候更新了B,当你从商店出来打开你的车时,引导装载程序会把你转到分区B而不是分区A。

乔纳:我明白了。所以在我开车的时候,任何正在运行的软件都没有风险,除了一个应用程序,如果我在我的。这都是同一个系统的一部分,对吧?这是所有集成。

凯特:是的。

乔南:然后我就在开车的时候通过网络更新我的潘多拉。我真的会得到一个新的潘多拉吗?它会重新启动应用程序,然后给我新的代码吗?

凯特:是的。

乔纳:这很有意思,但这听起来更加安全。知道这个代码正在运行,我可以看到一个我仍然感到安全的世界。所以你有一辆你建造的汽车,专业车辆?

凯特:是的。所以JFROG不会让我们拥有一个真实的整个汽车,显然是因为他们不会赌三种,那种牛仔 - ISH工程师可能突破30,000美元的实际车辆。所以,我们建造了自己的微型车辆。它开始作为一个叫做驴汽车的东西。驴车是这些小DIY套件;你建造一辆小型自驾车。他们很整洁。他们是一个非常受欢迎的爱好者。人们建造它们,然后牛肉。但标准的标准只有一台相机,但有些人将为更好的深度感知或激光乐相机而不是正常的视觉灯,更大的电池,不同的轮子,以及它们比赛。 You teach it to drive itself, and it goes.

所以我们的生活是其中的一个开始,而是运行只是Raspbian覆盆子的π3他们在默认情况下,我们最终与覆盆子π3 B +汽车运行的计算模块级Linux,这正是一些汽车制造商为他们的信息娱乐系统什么的做实际使用。所以我们得到了一个非常简单的近似真实的车。它的好处是人们可以在会议上驾驶它。我们把它带到JFrog的年度用户会议上,并在会议中心中间建了一个巨大的轨道。我们让随机的人离开会议中心或者在轨道上开着车或者在别人开车的时候推送更新。我们从来没有失败过。

乔纳:太棒了。这些汽车他们被称为驴车。我肯定会立即购买几个。驴车是我可以建立自己的套件。对我来说非常简单地说明我如何教它来驱动它。这是什么步骤?

凯特:它希望在手机上用一个应用程序驱动,就像一个由汽车上的覆盆子PI播出的小型网络应用程序。您可以使用PlayStation Controller或类似的东西进行,但它需要很多额外的工作,不值得。因此,您启动件事,请在手机上加载控制器应用程序,然后点击记录,然后开始在轨道周围驱动它。这不是很聪明。它使用的相机是标准覆盆子PI凸轮,这不是很高的分辨率。所以你需要一个非常高的对比度。如果你有一个黑暗的地板,就像地板上的打印机纸就会这样做。我们在使用彩色遮蔽胶带中也没有问题。尽可能地将课程开始录制,驱动器10或15圈,确保您的轨道是符合相机的看法,那么您必须停止汽车,然后将数据从车辆移回一台电脑。 It's going to have a big folder of images and then steering and throttle information like telemetry from the car. You dump that back to your computer where you have the Donkey CLI installed and train a model there on your laptop and move the model back to the car. Then the next time you boot it up, you can just click the go try to drive yourself button, put it back on the track, and it'll try to follow the track. If it doesn't follow it very well, and it probably won't at first, you can record more laps and retrain the model over, and over, and over again.

这是一种手工的繁琐的过程和训练;MacBook Pro上的那个型号可能会很慢。所以在实际的现场演示中,我们做了一些修改,并构建了一个蹩脚的Python脚本运行,它为我们编写了一个桶文件,并将其扔到GCP中来训练模型。在GCP上有一个TensorFlow教程,它运行得非常好。所以我们可以用这种方式自动化一些培训。但你在家里不用经历这些。这些套件总共要200到250美元,几个小时就能搞定。

乔纳:我想确保我理解,因为我实际上并不是超级熟悉机器学习的东西。但是,当您在谈论培训模型时,我们会越过存在的数据集。我们正在乘坐汽车从车上拍摄这些照片,并且在轨道上追随蓝色遮蔽胶带。我得到了一堆遮蔽磁带的照片,然后我将这些图像放入某些品种的神经网络中。另一端,它告诉我你是否看到蓝线,或者你看不到蓝线。因此,这种精神上的简单表现就是你把照片放在盒子里,光线变绿或红色。你看到一条蓝线,还是你看不到蓝线?它训练它遵循这些行,对吗?

凯特:是的。它训练它跟随这条线,因为你有每一个图像的汽车的观点,其中有一个蓝色的线,有方向盘和油门数据相关。所以你在教它,当它看到像这样的东西时该怎么做。随着时间的推移,它学会了,首先,我需要沿着蓝线走,其次,为了沿着蓝线走,我需要做这些事情。随着时间的推移,它学会了这一点。有不同类型的机器学习,而驴车使用的机器学习类型不是很复杂,但它确实有效。这是一个很好方法教那些不是超级舒适与硬件,或不了解硬件,或不知道任何关于机器学习的吃一点,因为这个项目是如此令人难以置信的证据确凿的和令人难以置信的支持。对于任何对编程概念有模糊理解的人来说,这并不是不可克服的。这对孩子们来说也是一个很好的项目。我用它参加了西雅图当地新兵训练营的黑客马拉松。 I taught a bunch of boot camp students how to race Donkey Cars and build them.

乔纳:棒极了。

凯特:是的,真的很酷。

乔纳:这里的技术深度可以真正令人生畏,对吗?我的意思是,你已经对Linux的理解了。您已经在所有硬件件之上获得了机器学习方面。我想象一个十岁的孩子组装这件事。没有非常明确的文档,有很多方法可以出错只是在任何品种中组装有覆盆子pi的东西。有很多活动部件。存在在那里存在的文档,您认为我的青少年可以在训练营的背景下在他们自己的外面浏览他们的方式吗?

凯特:是的,完全。少年,是的,肯定。文档有图片,在某些地方,它甚至有视频演练。由于您从RC汽车开始,它并不像听起来一样复杂。我认为,最复杂的部分是,我认为,你必须移动一条小电线,告诉电机和轮子从RC汽车上的无线电控制器做什么,就像开始,并将其插入一个小帽子,一个连接到覆盆子pi的额外芯片。但是文档真的很明确照片,就像它一样说,“这条电线在这里。”

乔纳:所以这就是你从无线电控制器转换的地方。然后我只是点亮了覆盆子PI上的别针,向这个GPI的发送电压放入那种意味着左转,这意味着右转。所以这就是它实际上正在驾驶的方式。

凯特:是的。树莓派上有个小程序叫Donkey它可以帮你处理。它解释了运行在你手机上的web应用程序的控制,或者如果你从你的PS3控制器切换到控制器。我们用的是罗技G28驱动,这是一个真正的赛车轮子。我们必须为此编写自己的插件,因为Donkey并不明确支持这一功能。所以我们必须为赛车轮编写新的额外代码。但如果有人听想要建造一个和交换比赛轮,你可以抓住我,我很乐意给你的代码,因为它是当你可以坐在那里更多的驾驶乐趣从比赛轮控制它。

乔纳:顺便问一下,如果有人想联系你,他们会去哪里找你呢?我想我们之前没有提到过。我们在网上哪里能找到你?

凯特:你可以在Twitter上找到我@Dixie3Flatline。还有,如果你知道这个用户名是什么意思,给我发信息,我会给你发一个JFrog。t恤,因为没有人会得到它。我觉得这比我预想的更有书呆子的感觉。所以现在我开始有点难为情了。

乔纳:我最初把我的teetbot称为leetbot,因为我以为我很有趣,但用数字拼写出来。这是1337807。

凯特:哦,你用了leetspeak?

乔纳:是的。我去参加这些会议,和人们交谈,他们会说,“等等,你的手柄只是一串数字,你想让我记住它?”我说,“不,但很明显……”不,不明显。

[笑声]

凯特:像某种类型的书呆子一样显而易见。

乔纳:有一个子集。

凯特:是的。

乔纳:这是一个有趣的观点,因为我一直在思考这个文档。我认为每个人都希望科技变得更容易使用。我认为肯定有一部分技术人员非常努力地让人们更容易接触到技术。像Donkey Car这样的项目走了很长一段路,只是有了一个很好的文件。

凯特:他们做的事。

乔纳:你可能有过其他类似项目的经验,或者就如何确保他们的文档是正确的提供建议。

凯特:是的。编写好的文档很难。我认为这是因为如果我们在建造什么东西,我们是这方面的专家。我们很容易忘记不知道怎么做是什么感觉。所以我们不倾向于从一个没有背景,不知道自己在做什么的人的角度来写文档。我们为自己或像我们这样的人编写文档。这实际上没有帮助,因为使用你的文档的人使用你的文档是因为他们对你的东西一无所知。

所以在写文档时,我的第一条建议是尽量避免使用任何术语或简写。如果你不得不这样做,因为有时你真的会这样做——DevOps全是术语,云本地技术也是,但DevOps和云本地技术尤其糟糕。如果你必须使用术语或缩写,第一次解释它,定义它。因为已经知道这个东西是什么的人不会因为他们需要快速浏览两句话来理解它的定义而生气,但不知道这个东西是什么的人,会喜欢有这个定义。没有它,他们需要打开一个新标签谷歌这个东西,也许没人能很好地解释。

在科技领域,你会看到很多术语存在于术语的定义中。它变成了,有点像兔子洞的东西,它超级难以接近,真的很疏远,特别是当医生作者反复称他们的工具简单。这是我最讨厌的事。

乔纳:我也是。

凯特:别再说你的事情简单了。这并不容易。这对你来说很容易,因为你是这方面的专家,但对从未接触过的人来说就不容易了。在最好的情况下,当作者反复说某件事很简单时,你却做不到时,你会感到沮丧;在最坏的情况下,你会感到沮丧。他们跳起来,然后使用一个不同的工具,比你的更有记录。所以要写更好的文档,否则就是搬起石头砸自己的脚。你无缘无故地把人推开。

乔纳:如果你正在做一个开源项目,并且全身心地投入其中,你的目标就是让人们使用它。你想要向尽可能广泛的听众演讲。你和你认为你在为这个项目服务的人可能会理解一个存在的缩略词。但有没有人会因为你的解释而怒气冲冲地辞职呢?如果我浏览文档,有人在解释他们使用的一个缩写或一些术语,我不会因为他们没有解释就放弃这个项目。但这是许多站在另一边的人面临的现实。

凯特:看到过来和过度又一遍,它真的令人沮丧。而且几乎是这种心态,好吧,这些概念很难学习,所以这一定是正常的 - 这很难学到这一点。为什么这必须是真的?Kubernetes很难,对吗?

乔纳:是的。

凯特:每个人都说Kubernetes很难。为什么Kubernetes必须如此难以学习?

乔纳:好吧,我们只是不太了解如何教育人 - 我们确实知道,实际上,我们确实知道了。我们知道如何设计课程,我们知道如何投入工作并使其发生。我们没有。

凯特:我们不这样做。

乔纳:也许是因为我们很忙,我相信你的说法。

凯特:确定。

乔纳:还要考虑一下,当你在谈论软件时,手册是大部分工作,对吧?

凯特:是啊,如果别人不能用你的东西你还没完。能够教会别人如何使用你的东西,这就是它可用的原因。不管你的项目有多酷。如果没人能用它,那还有什么意义?

乔纳:如果你把它转换到现实世界中,你会发现外面有一整个世界的人都不知道如何驾驶汽车,而你希望在不教他们如何驾驶或者在驾驶过程中使用内部笑话的情况下把汽车卖给他们。你想要为赛车手的用户开发你的文档来销售你的汽车,这是可以的,但你不能把它卖给世界上其他不会开车的人。

凯特:这是荒谬的。我真的不确定为什么这种情况如此普遍,为什么它一直是一个问题。我以为这只是我个人的想象。也许这只是冒名顶替综合症。但当我开始写101级内容像真的解释甚至有更多经验的人考虑简单的东西,它有更多的接触和方式更多的关注比任何我的技术深潜水,这是一个迹象表明,这是一个严重缺乏的内容,只是不够。我一个人写不完这些。所以我需要维护人员来编写更好的文档。把你的文档交给当地编程训练营或计算机科学课程的学生。如果他们不理解,你还没写完。

乔纳:我认为这也是一个让社区参与到开源项目中的好机会。只要在你的项目上列出你希望人们如何贡献,你希望使用什么样的过程,并在他们尝试时友善地对待他们。我知道,当你在做某个项目时,你会遇到很多pull requests,你需要花很多时间来管理这些输入,这让你很沮丧。但大多数时候,人们的行为方式都是为了让你的项目受益。从长远来看,提供这种程度的帮助对你是最有利的。对于职业生涯早期的人来说,现有的资源越来越好。我想我们取得了很大的进展。但在某种程度上,它们会消失。

当我在十年前学习编码时,我记得进入这个地方,我觉得我在这个中间荒地,我正在努力学习新的,更有趣的事情,而不是做的名单和tic-tac-脚趾,那里没有足够的内容。如果你现在发现自己在那个职位,而且你正在挣扎,请去尝试找到这样的车。尝试找到一些项目,找到一辆驴车,你认为很难的东西,你难以实现,并逐渐推动那个项目。但如果你在那里,你已经在那座桥的另一边,我会鼓励你回去填补一些差距。这些是玩有趣的项目。驴车听起来真的很好地记录。但那里有很多类似的项目可以使用一些人的注意力。如果你正在使用一件事而你正在阅读文档,而且对你来说,你是我们需要停下一会儿的人,帮助那些可能会与这些段落斗争的人。

凯特:是的,当然。《Donkey Car》确实有很好的记录,但这并不意味着它不能改进。在Donkey库中有一堆未完成的代码,但并没有那么复杂。你可以稍微改变一下。这仍然在帮助这个非常酷的项目,它教会从新手到中级程序员的一大堆东西。大多数人不会接触机器学习、硬件和嵌入式Linux。我们让MQTT和Kubernetes等人参与到一个项目中。这并不常见。这是一个很酷的东西,你可以对它做各种疯狂的修改。这是一个有趣的项目。

乔纳:这是一个有趣的项目。我喜欢这些卡片式项目的家庭。我最终建造了。最终是什么,我喜欢过度工程。我喜欢让我的华夫饼干使用Kafka来完成其工作。

凯特:为什么不呢?

乔纳:我觉得那很有趣。这是一个有趣的教学机会,我认为这是一个非常好的学习方式。你用一个简单的目标出发,你取得了进展。沿途,留下一条踪迹。我认为你在世界上做的工作以及我在GitHub上发现的东西很常常旨在让人们和你一起带来,我真的很感谢你在做这项工作。我认为当你学习找到那些令人沮丧的部分然后克服它们时,很容易,你就可以在你喜欢的开始时让我们全部迷上了我们的东西,“我永远不会解决这个问题漏洞。”然后你解决了它,你马上很高,直到你找到下一个错误。它上下了。只需移动令人沮丧的事情就很容易。 But when you're in that moment of pain, it's a really good time. Learners are some of the best teachers.

凯特:哦,他们肯定是。喜欢Devops 101 Workshop我教我,我不知道,两个月来写下那个研讨会的内容就是这样的方式,因为我借用了一堆来自编码靴子营地的学生,我去了跑步他们通过它几次发现问题。我在哪里无法解释这一点?为什么这没有意义?我实际上需要颗粒度,以便向你解释这样做的先决条件是什么?我应该实际指出你需要一个github帐户来做吗?事实证明,是的。这不是我会考虑的东西,因为它似乎默认为我有一个。

乔纳:这就像桌上的赌注。然后你意识到,假设他们有一个GitHub账户,你也假设他们知道如何使用Git等等。

凯特:是的。和什么都不懂的人交谈真的很重要,因为他们会发现你看不到的问题。我们越专业,就越忘记自己,也越不明白这些东西是如何工作的。这是正常的。这是人的本性。这不会让你变成坏人。我们只是忘记了痛苦。

乔纳:是的。这是我们关注和克服的事情。就像你生活中的任何事情一样,在你想要发展的领域,专注于它并成长。这是人们需要克服的。很明显,有些人在他们的职业生涯中很晚才成为优秀的老师,因为他们花时间坐下来,为自己记录那些他们一路走来发现的个人痛点,在必要的时候,回到学习者身边,问他们自己。所以我很好奇,你对现在的学习者有什么建议,对刚刚进入职场的人有什么建议。很明显,他们通过DevOps一对一学习,这是你设计的课程。但还有什么?他们应该用自己的时间做什么?

凯特:如果你已经知道一种编程语言,我最喜欢做的事情就是尝试掌握另一种编程语言的基础知识——因为我不太擅长任何一种编程语言,可能除了Python。我对四五种语言一窍不通。但我构建了一个CRUD应用程序,就像,创建,读取,更新,删除,蹩脚的web应用程序与一些数据库交互,一遍又一遍,用不同的语言。这是一种很好的尝试一门新语言的方式并决定你是否足够喜欢它而不需要真正努力,因为这是很多基本的事情,你需要知道如何在任何语言中做。

但更重要的是比实际的实践建议是,我知道每个人都听到了这么多,但实际上没有任何愚蠢的问题。如果有人让你觉得一个问题是你问的愚蠢,那么问题就在于他们,而不是你。这就是吝啬的,我想,让人们觉得他们愚蠢,因为没有人知道如何做到这一点。在某些时候,我们也不得不问这些问题。所以问这个问题。这不是愚蠢的。来问我。我不在乎。我可能不知道答案,但我会尽力为你回答它,或者给你送到可以回答它的人。不要害怕问人们的问题。 And if you can, find somebody who's willing to function as a mentor because it's super-valuable to have somebody that you can kind of get a rapport going with and have that person be responsible for answering questions that maybe you're a little bit embarrassed to ask because somebody was a jerk once and told you that a question was stupid.

乔纳:是啊,那些人就是你要离开的人。在这个行业时期,你不会想和他们在一起的。有些人这样做,却没有意识到自己在这样做。也许你会是那种努力教育他们,让他们知道被告知的感觉有多糟糕的人。你甚至不需要找一个能够全职指导你的人。这是一个很大的要求,去找一个人说,“嘿,我需要一个导师。”让他们指导你。在你的Twitter上找一个大概知道这件事的人,当你有问题的时候,让他们和你一起轮流做DM。用你在社区中认识的人组成一个Voltron导师。

凯特:这就是Twitter的作用。我确实有一个圈子,我可以向他们寻求帮助。这只是;当我找不到问题的答案时,他们会帮助我。顺便说一下,这叫交朋友。

乔纳:是的。这是另一种描述方法。

凯特:是的。其实你的朋友就是干这个的。如果有人因为问了一个他们认为愚蠢的问题而让你感觉不好,去找更有经验的人哭吧,因为我们中的一个会把它关掉。如果我在推特上或亲眼看到它公开发生,我不会害怕公开关闭它。

乔纳:是的。它是如此具有破坏性。你很可能会立即把某人赶出科技领域。那个人可能不会成为我们社区的一员,因为你想让他们的回复听起来很聪明。

凯特:是的。它是累人的。通常是这些人认为自己是10倍的工程师,就像,没有人喜欢和人一起工作。所以给新人的另一个建议是,不要盲目崇拜这些人。没人想和他们一起工作。

乔纳:10x工程师是一个神话。这是一个谎言。这是一个直接的谎言。10倍的工程师,我与他们身后的技术债务的左山一起工作。他们合并了6,000线PRS,没有针对他们团队的异议的一次测试。它们有时从远处远处看起来很好。当你是刚进入该行业的人,或者您甚至从管理层观察时,遗憾的是,有时这些人看起来很高兴。它们是有毒的,他们对行业危险。

凯特:这是可怕的。也许这是因为他们在非常活跃、非常早期的初创企业中很有用,那里有两个工程师,每个人都有六个不同的职位头衔。也许它们在那里有用。但这仍然是一种权衡,因为如果你的初创公司成功了,你又多雇了12个工程师,那个人绝对会是一场噩梦。他的代码可能是一个无法维护的怪物,没有人能读懂。所以不要试图成为这些人中的一员。这并不会让你看起来很聪明。这不会让你看起来更可靠。这并不是更有市场。这让你看起来像个混蛋,而且处理这件事很累人。 And there are so many of them.

乔纳:它在这个行业中疲惫不堪,这并不像你愚弄任何人,最终。在这个行业内找到了经验丰富的职位的人看到你,他们看到你假装。只是停止它。但发现自己在这些职位的人,我不一定认为他们与恶意行为。我认为他们经常出于无知,并且失去了成功的愿望。在未来十年的职业生涯中,你将学到的是你的成功将来自周围的人,你与他们互动的方式。这是关于人类。软件是人类,人类,但不是人类。如果你正在沿途磨人,你就会做错。

凯特:噢,是的,是的。代码不是由人组成的。它是人为的。它是由计算机执行的,但不是由人组成的。所以我们还是避免同类相食吧,如果你愿意的话。

乔纳:(笑)

凯特:我在我的电脑里看不到一个人的位置。我看不出有什么位置。

乔纳:在那里拿到它们。然而,这对像这样的人来说是常见的。

凯特:这是。

乔纳:渴望成为他们的人才更多。如果你在追逐10倍的开发人员神话中,你可能没有很长的职业生涯。

凯特:是的。这对任何人都不好。那些人很讨厌和他们一起工作,但是他们自己通常也不快乐。如果你的生活就是吃饭,睡觉,编码,重复,那是不可持续的。这真的不是。如果你不是一个超社交的人,没有一大群朋友或其他什么,在非冠状病毒时期,你仍然不喜欢和朋友去酒吧,这也没关系。我在家的时候也不会疯狂社交。但是每个人都需要做一些工作之外的事情。要想成为一名优秀的程序员,编码必须是你的激情所在,你必须在业余时间做这件事;那太荒唐了。 That is absurd. It is totally acceptable to want to code for the money because the money will be good.

乔纳:这是。

凯特:你可以只是因为赚钱而想要编程。

乔纳:我找工作的主要动机之一,就是钱。

凯特:这是钱,是的。如果我不需要工作来支付生活的账单,那么我可能会整天躺在家里看书、吃零食、玩电子游戏,但我有账单。

乔纳:所以你有一份工作,而且恰巧是一份你非常喜欢的工作,但这并不意味着你要花一辈子的时间去做它。这是很重要的一步。我确实想承认,在你职业生涯的早期,你需要做出一些牺牲。你必须要有奉献精神,但你仍然可以在你的工作时间奉献精神,对吗?

凯特:是的。

乔纳:你可以为自己设定界限。不要整天埋头于代码中。你要么会筋疲力尽,要么会过着空虚的生活。最好的情况是,当你跑完这一圈后,当你回头看的时候,你会意识到你并没有走多远。

凯特:是的。我确实在今年早些时候烧了,因为隔离区大多数人在Dev角色上工作得比我们习惯更难。通常,我会给两个;也许三个会议一个月谈到我被允许去的地方,因为我不得不飞。我不得不在那里飞行,有时我必须飞到地球的另一边。也许两个会议一个月会谈,就是这样。其余时间是写博客文章,或炼制会议会谈,或写出新的会议,或者写一个新的会议。但是因为一切都是虚拟的,我已经有八个或九个会谈。

乔纳:是的。这是强烈的。

凯特:真的,真的很累。我累坏了,非常累。这种倦怠感会悄悄降临到你身上。

乔纳:是的,确实如此。

凯特:它真的。你强调的地方无处不在,但你认为你很好。然后第二天,你在老板上翻了出来,你真的无法运作。

乔纳:你只是闭口不言。你盯着空空的Keynote面板好几个小时,或者不管你在哪里做幻灯片,你就是无法完成工作。

凯特:是的,你不能这样做。不要让它发生在自己身上。不要试图追逐10X梦想。10x的梦想是谎言。

乔纳:这是一个谎言。我认为人们的开发人员会得到,理想情况下来;他们在倦怠保护周围建立了圆点。我现在可以看到它会发生它;我有时会“没关系。”因为我们工作的性质是这样,是的,是,需要冲刺。如果我参加会议,我的谈话将需要开发,我要写很多代码,我走了下来,我飞到那里,它已经完成了,这是一个冲刺.但是,我已经失败了几天。如果我没有那么下来,现在在大流行中非常常见,我们有一个为我们的同龄人提供的无限机会 - 这是一份快速检查一些副本;这是我们正在努力的项目; can you help out with this code? It's a rough time right now for everyone. Give yourself some space to relax.

凯特:我们必须一直都在。Dev角色的人不允许有一个糟糕的一天,人们可以看到它,每个人都可以看到我们的工作。所以它有点筋疲力尽。当我可以飞行时,这并不难,因为是的,我每次去曼谷或布鲁塞尔或任何时候都去一次会议,我会一天或两人到达那里,提前一天,以适应飞行可能的机会取消,稍微达到Jetlag一点。然后我在会议后两天休息,这就像让欧洲免费度假两天一样。这有很多防止倦怠,但我们现在没有那个。[笑]

乔纳:我们什么都没有。当我在路上的时候,坐飞机是我最喜欢的时光,因为没有人能联系上我。(笑)他们没有任何选择。我只有书可读。我很喜欢。

凯特:是的。棒极了。在我成为开发人员之前,我讨厌坐飞机,但现在我喜欢上了飞机。这是我最喜欢的地方。我现在积极地期待着在飞机上,因为这样我就可以专注于放松或完成我的幻灯片,或其他事情,而不必处理来自Slack、Twitter和电子邮件的通知。

乔纳:我非常想念它。它让我伤心。

凯特:我很抱歉。

乔纳:没关系。很快,很快。我被告知,从现在开始两年后我们会再次发布会议。

凯特:哦,上帝。

乔纳:如果你在听,事件经理,在线事件不是一个替代,甚至不接近。请恢复真正的会议。谢谢你Kat来参加我们的节目采访你真是一件乐事。我真的玩得很开心。驴车项目很吸引我。我可能会在接下来的几份薪水中花费相当大的一部分去购买Donkey Cars。我想要一个车队这样我就能管理整个集群。我可以把库伯内特的车开上高速公路。我太喜欢了。

你有渴望在你的位置的人有任何最后的提示吗?所以专门的开发角色,如果有人在行业中有什么东西,他们开始获得一点经验。我觉得我们到目前为止给了他们一些好的暗示。但如果有人想要转变为DEV角色,该怎么办?有小费吗?

凯特:只是说说而已。您不必成为提交CFP会议的专家。介绍级别内容仍然真的,非常有用,仍然非常有价值,它仍然被接受。写下。你是一个初学者,所以你的具体经验是相关的。人们希望听到的有价值的信息。和人们喜欢听个人的观点。您的个人故事是让内容引人注目的原因。我在舞台上谈了很多自己,因为个人触摸是这样的,因为个人触摸就是让它感觉更真实。它让它感觉比冷的技术文件更真实。 So just submit a CFP. Submit to it, and don't feel bad if it doesn't get accepted. It doesn't mean your abstract was bad. It doesn't mean your topic is bad. It means that it wasn't the right fit for this particular conference or somebody else is presenting the same thing or something similar, and either it was blind in their abstracts, I don't know, or it was a little bit more well-crafted, or they were choosing to balance diversity and inclusion, and you didn't make the cut because of that, any number of reasons. But it does not mean that you're not qualified to talk about it. It doesn't mean that your topic sucks. And if you are having trouble grafting a CFP and you find that it's not getting accepted anywhere, feel free to DM me the abstract, and I will look at it for you and see if we can help make it better because I would like more speakers on the circuit, more new speakers. And you don't have to be an expert. You do not have to have a fancy title. You don't even have to have a job, especially right now.

乔纳:特别是现在。和发言者,当他们刚刚开始时,我记得这种瘫痪的恐惧恐惧,我不会够了足够的技术或足够有趣的东西。但你恰恰相反,我是在那里的声音。我在那里看着你在舞台上。我想听听你的抓住。老实说,我可以陆续观看不同扬声器的相同内容。我会发现更有趣,也许听到不同的人。所以,再次感谢你加入我们。如果您想在线查找KAT,您可以在Twitter上找到kat作为dixie3flatline。您想要送人的任何其他链接?

凯特:没有,除非你想给我发邮件。我的工作邮箱地址是katc@jfrog.com。但如果你不用推特,你可以给我发邮件。但我真的不擅长查收邮件,因为实际上没人能做到。

乔纳:是啊,因为这相当于电子邮件。所以,如果你喜欢两周一次的异步交流,那就用电子邮件吧。或者,dm更好。

凯特:是的。正确的。(笑)给我发短信就行了。

乔纳:太好了。很荣幸,凯特。谢谢你能来。我希望下一集再见。一年后我们会有重聚的一集。我们可以回来谈谈我的驴车项目。

凯特:哦,涂料。好的,我很乐意。谢谢你们邀请我。

乔纳:非常感谢您收看我们的下一集《观察麦考夫脸》这个播客可以在Spotify和iTunes上下载,在任何有好的播客出售的地方都可以下载。请记得订阅,这样你就不会错过任何一集了。如果你有想在节目中听到的话题或嘉宾的想法,请联系我。我的电子邮件地址是jonan@newrelic.com。你也可以在推特上看到我扮演的乔南秀。在developer.newrelic.com上可以找到今天这一集的节目笔记,以及其他许多可爱的书呆子的东西。顺便过来看看。非常感谢。祝你今天愉快。