We're sunsetting PodQuest on 2025-07-28. Thank you for your support!
Export Podcast Subscriptions
cover of episode 215: Staying Technical as a Manager

215: Staying Technical as a Manager

2024/2/25
logo of podcast Test & Code

Test & Code

AI Deep Dive AI Insights AI Chapters Transcript
People
M
Matt McKay
Topics
Matt McKay: 我从一名软件工程师转型为开发关系副总裁,我的职业生涯始于Java开发,后来转向Python,并积累了丰富的管理经验。在管理团队的同时,我仍然保持着编码的习惯,并通过参与开源项目、公开演讲和写作等活动来提升我的技术能力和沟通能力。我认为在裁员时期,拥有多种技能(不仅仅是编码)并对公司有巨大价值比单纯的编码技能更重要,这能提高工作保障。保持技术更新的关键在于业余时间进行编码练习,专注于解决通用问题而非公司特定问题。我利用业余时间进行个人项目开发,例如Full Stack Python和PlushCap,来保持技术技能并学习新技术。个人项目不应仅仅是工作内容的延伸,而应该专注于解决抽象问题。通过在公共平台上解决问题并撰写博文,可以获得他人的反馈,并与其他开发者建立联系。在公开分享项目时保持谦逊,并欢迎反馈,能获得更有价值的反馈。参与开源项目、公开演讲和写作等活动,提升了我的沟通能力和公众演讲能力,并促进了我在开发关系方面的职业发展。成为一名优秀的管理者需要持续的学习和努力,并根据自身情况和团队特点调整管理风格。优秀的管理者会认可团队成员的成就,并以此激励团队成员,从而营造积极的工作氛围。我的个人项目通常使用与日常工作相同的工具和技术,以便保持技能的熟练度。对于小型公司或个人开发者而言,专注于一种开发者关系策略(例如博客、视频等)比分散精力更有效。目前我将更多时间投入到学习和实践大型语言模型,未来可能会更多地分享关于开发者体验方面的经验。要保持技术能力,管理者可以尝试以下方法:进行个人项目开发(解决通用问题)、撰写技术博客、提升沟通能力和管理能力。保持技术能力的关键在于每天都完成一些小的技术任务,并建立高效的部署流程,减少障碍。

Deep Dive

Key Insights

What is Matt Makai's current role and background?

Matt Makai is the VP of Developer Relations and Developer Experience at Assembly AI. He previously spent over nine years at Twilio in developer relations and has a background as a software developer, starting with Java and later transitioning to Python.

Why did Matt Makai transition from Java to Python?

Matt transitioned from Java to Python because he found Python more productive and explicit compared to Java, which he felt was slow-moving at the time. He also tried Ruby but found Python's explicitness more aligned with his thinking.

What challenges do technical managers face in staying technical?

Technical managers face the challenge of balancing leadership responsibilities with maintaining and updating their technical skills. There is a fear of being outpaced technically by newer developers, which could make them less valuable during layoffs or when seeking new roles.

How does Matt Makai stay technical as a manager?

Matt stays technical by working on side projects that solve generic versions of problems he faces at work. He uses these projects to keep up with new technologies and tools, ensuring he remains fluent in coding and technical trends.

What is Plush Cap, and how does it help Matt stay technical?

Plush Cap is Matt's side project that tracks how developer-focused companies invest in their documentation, blog posts, and YouTube channels. It allows him to analyze trends and experiment with new tactics, keeping him engaged with both coding and industry developments.

What advice does Matt give for staying relevant in the tech industry?

Matt advises combining multiple skill sets, such as coding, writing, public speaking, and teaching, to become more valuable to a business. He emphasizes that being irreplaceable comes from having a unique combination of skills that are hard to replace.

What is the importance of having a quick deployment pipeline for side projects?

A quick deployment pipeline allows for immediate feedback and iteration on side projects. Matt uses this approach with Plush Cap, enabling him to deploy changes daily and stay engaged with coding and problem-solving.

How does Matt use large language models (LLMs) in his work?

Matt uses LLMs, such as the Dolphin version of a 7 billion parameter model, to summarize blog posts for Plush Cap. This allows him to process large amounts of content efficiently and stay informed about industry trends.

What is Matt's opinion on using LLMs for creating technical content?

Matt believes LLMs are good for brainstorming and summarization but are not yet capable of producing highly accurate or creative technical content. He emphasizes the importance of human-driven quality in developer-focused content.

What is the key to building a strong developer relations strategy?

Matt suggests focusing on one standout area, such as exceptional documentation, YouTube content, or developer events, to differentiate a company. He highlights examples like Twilio's developer events and Assembly AI's YouTube channel as successful strategies.

Chapters
The conversation begins with Matt Makai's introduction and background, transitioning to the central theme: maintaining technical skills while in a management role. He emphasizes the importance of staying relevant in the face of industry layoffs and how side projects contribute to this.
  • Maintaining technical skills as a manager is crucial for job security.
  • Side projects focused on generic problem-solving are beneficial.
  • Combining multiple skill sets increases value to the business.

Shownotes Transcript

好的,欢迎来到Python Test。Matt McKay在这里。几年前我见过Matt。但你现在在做新的事情了。所以Matt,你能介绍一下你自己,让我们知道你在做什么吗?

是的,当然。我的名字是Matt McKay。我是Assembly AI的开发者关系和开发者体验副总裁。在此之前,我在Twilio工作了九年多,也在做开发者关系方面的工作。在那之前,我的整个职业生涯都是一名埋头苦干的软件开发者。我最初是在Java领域工作,J2E,很多

大型的铁软件项目,通常与大型机转型类型的东西密切相关。然后我开始接触Python,我发现,哦,我的天哪,我可以在晚上用Python编程一小时,感觉比在Java上工作九小时更有成效,至少在当时Java生态系统发展缓慢的时候是这样。所以,这就是我的背景。我还运行全栈Python和一个新的副项目,我也可以谈谈。

我很高兴你尝试了Python,因为在你尝试Java之后,它本来可以是任何一种语言。是的。

是的。我也尝试过Ruby。Ruby on Rails当时非常火爆。那是在Node.js出现之前。它并没有完全让我满意。我认为Ruby更隐式,Python更显式,出于某种原因,这让我很满意。所以你必须选择一种适合你大脑的编程语言。是的,是的。早期,Perl符合我的大脑。我很高兴Perl不再符合我的大脑了。哇。

太不可思议了。那个对我来说也不管用。所以我很 impressed。我确实想谈谈你的新副项目,也许这会很合适。但是作为一名管理者保持技术性,这实际上与我非常接近,因为我是一名技术经理。但是Matt,你现在担任管理或领导职务吗?

是的,当然。我现在有一个七人的团队,实际上我刚刚交接了几个人。所以当我大约一年前加入Assembly AI时,我负责营销工作,但我们真的非常注重开发者,DevRel倾向,然后特别地

加入了一些需求生成和内容营销。我最近管理着一个11人的团队,但在此之前,我在Twilio有一个35人的团队。我管理着各个团队的经理。所以我一直在管理,你知道,在某种意义上,球员教练模式,我通常认为是,你知道,如果你管理团队,

最多三到四个人,而不是纯粹的经理,你大部分时间都花在管理上,这通常是八到十二个人。

人。我已经担任经理了,我不知道,大概10、11,也许12年了。是的。这和你情况相似。很多时候,你知道,我既在编程,也在做很多代码审查之类的事情,也在管理,这是一个

艰难的平衡。我担任管理职务的时间可能和你差不多。这始终是一个担忧。我之所以对这个话题感兴趣的原因之一是,即使我要把很多技术工作交给其他人,但在某些时候,人数会减少,他们不需要那么多经理。而我现在不再是顶级程序员了。所以

是的,这是一种担忧,特别是对于低级别经理来说,那就是你会在技术上让其他人超过你。然后,当裁员来临时,你并不是那些明显需要留下的人。所以这就是,而且还要找另一份工作。所以很难找到工作,因为人们。

很多时候人们会说,“哦,你是一个经理。我们没有管理职位。”我可以接受成为一名工程师。好吧,是的,但你现在不是。诸如此类的事情。那么,Matt,你如何作为一名经理保持技术水平呢?当然。让我们先退一步,这就像,显然,这是一个非常重要的话题,因为在过去的18到24个月里,我们在软件生态系统中经历了数十万次的裁员。今年上半年可能还会更多。我想说的是,我交谈过的大多数人都说,这更像是2001年那种互联网泡沫破裂的裁员情况,而不是即使是严重的金融危机也不一定像现在这样糟糕。所以这就是说,我认为在很多情况下,你真的无法

防止被裁员。很多时候这真的只是一个数字游戏。所以我认为很多时候人们会把它看得太个人化了。我认为有一些事情你可以尝试去做,以稍微增加你的优势。所以这就像你说的那样,你知道,你,你,

如果你认为你在编码方面会输给一个新人,我实际上认为更重要的是,我作为经历过裁员的人这么说,那就是对企业来说非常有价值的人。显然,编码只是众多技能之一。通常,如果你结合多种技能……

这就是开发者关系的意义所在。它不仅仅是编写应用程序,你还编写技术教程,或者制作YouTube视频,或者在PyCon上发表演讲。正是这些稀有的技能组合。因此,如果一家公司真的需要它来开展业务,并且知道替换你将非常困难,那么这会给你带来更多一点的就业保障。但同样,有时他们只是决定随意裁减团队。所以

嗯,我认为像编码一样,我会把编码看作是你可以尝试增加优势的众多技能之一,但是,你知道,这段时间行业形势艰难。我认为任何人都永远不应该因为被裁员而耿耿于怀。我从Twilio被裁员了,实际上对我来说是一件很棒的事情,但我非常幸运,我恰好处于,你知道,正确的时间和地点。嗯,当它发生时,嗯,我做好了准备,但它,你知道,嗯,

总之,我认为编码就是这样。所以回到你最初的问题,你知道,我该如何掌握编码的最新动态?

对我来说,最重要的事情是我在业余时间工作,我有家庭等等。我没有很多业余时间。我倾向于在我的儿子醒来之前在早上做一些这样的事情。但我正在研究我面临问题的通用版本。这样我就可以以一种与我在公司面临的特定细节分开的方式来思考问题。让我给你举两个例子,因为我的……

副项目基本上都是按照这个模式进行的。所以我花了大约10年的时间从事全栈Python开发,现在暂时休息一下。我最终会回去的,但我想确保我作为开发者,当我还是Twilio的开发者布道者和软件开发者时,我真的理解了Python生态系统的全部范围。所以我只会编写,你知道,页面,并找到关于新出现的Web平台的最佳文章。

框架或新出现的数据库。在2007年到2000年之间,甚至直到最近,Python生态系统中围绕Web开发的技术数量激增,这让人难以跟上。所以我只是用我的副项目作为一个强制性功能,让我能够跟上所有这些东西。

而编码部分就像,你知道,Jinja模板,我使用Pelican来创建一个静态网站。我会喜欢,你知道,它不是超级编码密集型,但足以让我,你知道,非常熟悉我的工具。我认为这是其中一个组成部分,就像,如果你想继续编码,即使你进入管理层,就像,是的,你将不得不花一些时间在一边,就像大多数软件开发者一样。

为了做到这一点。如果你从事的工作会让你在工作中做得更好,但与你的工作是分开的,所以你可以用稍微不同的方式思考问题,而且不会,

你不想把工作作为你的副项目。我认为你想从事的是一个抽象的问题。这就是我处理这个问题的方式。还有一些我们可以讨论的战术性内容。但这就是我的概念框架。我有一个名为Plush Cap的新副项目。网址是plushcap.com。它允许我看到每个以开发者为中心的公司以及它们如何投资于文档、如何撰写博客文章以及它们的YouTube频道表现如何。所以我可以看到每家公司以及它们的表现,从上市公司到种子轮前的公司。然后我可以说,哦,这种策略非常有效。也许我们应该在团队中尝试一下。所以你可以,你可以从其他人那里学习。我通过我创建的工具来做到这一点。

我们可能需要让你回来,在某个时候谈谈plush cap。因为这听起来很有趣。而且我,

我认为我有大约20个关于它的问题。所以我查看过的一些方法,嗯,试图保持技术水平,而且我之前也听说过,那就是让它与你的日常工作完全不同。嗯,比如,嗯,为你的某个爱好创建一个论坛之类的东西。嗯,

但我喜欢这个想法,即你正在公司工作的某个问题的通用版本。当我开始撰写关于测试的文章时,这是一种……

我肯定是在考虑我在工作中遇到的问题并试图解决它们,但我希望公开地去做,而我做不到。我不能写下我在工作中面临的问题,因为这是知识产权。我不能分享这个。但同样,这对每个人来说都很无聊。它通常是对我们唯一关心的事情的超级深入的细节。

或其他几个人,但这并不是重点。问题是某种与领域无关的软件架构问题。例如,关于使用……使用测试的……早期,我需要进行多次检查。所以我编写了一个名为PyTest check的插件,我仍然在维护它。这是一个……

通常在所有测试中,你只能断言一次。如果失败,它就会停止。它需要更多。我们在工作中需要波形,因为我们既有带宽,也有频率和其他需要检查的东西。如果其中一个失败,我不希望停止检查。我想看到全貌。

但我知道这对于其他人来说将足够通用。所以尝试公开地解决这个问题。此外,我不知道如何解决它。所以公开地解决这个问题并撰写博客文章等等,帮助其他人纠正我,并说,“哦,你考虑过这样做吗?”这就是我开始与一些Pytest核心贡献者取得联系的方式。

因为他们是一些最优秀的人,他们会说,“哦,是的,由于这个原因,这不起作用。你应该看看这个内部变量,这会有所帮助。”所以当你编写全栈时,你是否从人们那里得到了很多反馈?人们会联系你并说,你在左外野,伙计,你错了?或者你得到了很多更正?

是的,我的意思是,相当多。我的意思是,我认为这有助于,我认为这基本上是,这似乎也与你的经验相符,那就是,如果你只是以一种这样的方式来处理事情,嘿,我在做这个,我也在学习,就像我不是权威一样,你

我有足够的经验能够以一种中立但仍然引人入胜的方式来撰写关于这个主题的文章,信息量足够,但也带着谦逊的态度,嘿,我实际上并不了解所有事情,我非常欢迎反馈。我认为这通常有助于区分人们会给你宝贵反馈的项目与只是有点粗鲁的项目。

嗯,你知道,因为如果你说,如果你把自己摆在那里,就像,我已经了解所有事情了,那么我认为你只会让自己更容易受到那些喜欢,你知道,不同意你的人的影响。嗯,所以,我不知道。我认为在全栈方面,我肯定,嗯,你知道,一路走来得到了很多反馈。嗯,你知道,很多真正有帮助的是,实际上,我,我,你知道,我每天都在努力。嗯,然后,你知道,有时你会通过社交媒体获得一些有趣的反馈,但很多时候就像去PyCon一样。

只是和人们交谈,说,“哦,我创建了这个东西。你觉得怎么样?”然后他们会看一看,几周后给我发电子邮件,说,“嘿,我读过你的东西,给我一些反馈。”所以我认为这是一个组合……我个人非常喜欢能够在线获得一些反馈的事实,但如果你把它带入适当的对话中,人们也会通过这种方式给你非常好的反馈。

是的,我会……你开始全栈开发是在你担任全职工程师的时候,对吗?

是的,我做了。是的。早在2012年。是的。事实上,原因,原因是我……我当时在家过节,那时我还很年轻,单身,没有像家庭之类的东西。我只是喜欢进行编码,因为我刚刚完成了所有这些Python工作,比如与部署相关的工作。全栈Python最初是作为一种……

几乎完全与部署相关的信息。我只是想把它从我的大脑中清除掉。这就像我在假期放松的一种方式,就像,我脑子里有很多东西在乱响。我只是把它写在纸上,然后在网上发布。然后它就这样滚雪球般发展起来了。所以是的,我是一个,我是一个全职开发者,当我真正开始做这件事的时候。好吧,你,你提到了其中一件事情,那就是保持,

保持更新,让自己不容易被裁员的方法是拥有不止一项技能。不仅拥有编码技能,还拥有沟通、公开演讲、教学、写作等技能。

你认为你参与全栈Python以及在会议上发表演讲等是否让你成为一个优秀的开发者关系人员?嗯,绝对是的。所以,我,而且,嗯,

这就是Twilio最初雇用我的原因之一。我是他们的开发者布道者。Twilio当时还很小。他们有一些开发者布道者,但这可以说是他们向开发者推销API的主要营销手段。所以是的,我做了很多写作和演讲,但我90%的时间都花在了编码上。这与你想要的人才非常匹配,这个人是

一个潜在的开发者布道者、开发者教育者。这些技能,我认为我在工作中不会那么重视。但是,我,我知道我想能够更多地进行公开演讲,并更好地写作。所以博客和播客,在会议上演讲,一些我想在我的副项目中做的事情,

并且只是为了参与Python。但事实证明,它帮助了我工作。我在工作中是一个更好的演讲者。我不害怕在会议上发言或做任何类似的事情。这甚至无关紧要。一些大型经理可能会在场,我可以站起来说话,而不会太紧张。

我认为这来自于我参与开源社区的很多经历。是的。我不知道,在你管理大量人员之前,你是否是一个对领导或公开演讲感到自在的人,或者这是你学到的东西?当然,公开演讲是,但我认为,

要成为一名真正优秀的经理,你必须不断地有意愿成为一名真正优秀的经理。公平地说,我实际上并不特别想成为一名经理。我认为我只会成为一名个人贡献者。我只是大部分……一旦我有机会,我就……

就像你必须抓住它们或者不抓住它们一样。对。我认为无论好坏,很多经理都会进入管理层,因为这就是他们被推动的方向,但他们并不真的想

抓住这个机会并做得出色。我还有很多东西要学习。但是,我对我管理的方式非常认真。而且,你知道,除了保留我的所有技术技能外,我还想成为一名真正优秀的经理。我不确定我是否从每个经理那里都看到了同样的愿望。我认为一些,你知道,不幸的是,在我职业生涯中遇到的一些较弱的经理认为,因为他们获得了这个职位,所以现在他们做所有决定。而实际上,这通常不像那样。对。这就是为什么,就像我一样,我非常认真地对待,你知道,学习仆人式领导以及管理那些特别有技术天赋和创造力的人的正确方法,你知道,有不同的管理风格,但你也要知道你自己的个人,

偏好等等,并想出一些适合你和向你汇报工作的人以及你当时拥有的团队的方法。所以所有这些都是管理中的变量。我认为这是人们必须认识到的一件大事,那就是有

嗯,你知道,你需要用不同的方法来处理这个问题,就像你需要处理不同的架构一样,你知道技术架构或其他什么,这些不像我是一个经理,我知道如何管理一样,你不会,你可能知道如何在团队情况的一个方面进行管理,而完全不知道如何在其他情况下进行管理,所以肯定有一个自我意识的组成部分,好吧,我想提出……

一种让我恼火的管理风格,也许这并不是一种风格,而是那些积极努力让自己看起来像房间里最聪明的人的经理,他们要么只是居功自傲,要么只是轻视那些为他们工作的人的成就,因为他们想被看到,被视为超级明星。

好吧,我认为这实际上是让你成为一名更好的经理的方式。如果你想成为一名更好的经理,你只需要考虑这些特征,以及为什么它们如此令人恼火,以及为什么它们实际上导致你作为个人贡献者做得更糟糕的工作。它具有相反的效果,对吧?我知道,当我突出向我汇报工作的人或不同团队的成就时,这会让他们想要

做更多这样的事情。这会让他们想要变得更好,对吧?因为他们会因为自己的成就而得到认可,而不是感觉好像其他人会为此获得功劳。但你也必须拥有正确的文化。我的意思是,有些公司的文化非常糟糕,即使是这种事情也不可能实现。但我不知道。我认为这也与……

我想在那些我可以认可其他人,并且他们会因为自己所做的事情而得到认可的地方工作。每个人都对这种情况感到满意。我可以把任何功劳都归功于真正完成这项工作的人。我认为这就是你如何创建一个更好的公司文化,让员工真正快乐和高效。

是的。那么Plush Cap,它背后的技术与你日常工作中的任何方面相符吗?

当然。所以我会说是的。PlushCap是用Python Django构建的。我把它部署到一个虚拟专用服务器上。我使用Ansible,很多久经考验的工具。所以我的观点是,当我……再次强调,每个人都必须发展自己的风格。但是当我使用副项目时,

我实际上倾向于使用我熟悉的工具。所以我在使用,你知道,我的代码编辑器,Vim和Tmux,我已经使用了15年以上。你知道,Django,令人惊讶的是,我已经使用了15年以上,仍然是一个

令人难以置信的框架。显然,Python,我一直在增加版本。我已经从Python 2升级到Python 3了,你知道,所有这些。现在我正在利用Python,你知道,3.10、3.11。所以,所以我通过Python逐步学习,

一些这些工具,因为它们,你知道,就像Django刚刚发布了5.0版本或其他什么版本。所以我仍然在跟上工具的步伐,但它们往往是我持续使用的工具。我认为在某些生态系统中,这实际上可能是一件非常困难的事情。例如,在iOS中,我认为你实际上需要花费更多时间学习Swift和iOS并跟上它的步伐,这可能会让你在业余时间很难做到这一点。

但对我来说,对于PlushCap来说,这是一个Python堆栈。然后我添加我认为具有独特相关性的工具,并且通常与我的工作相对应。例如,有一个名为Ollama的工具。这是一种在本地系统上运行大型语言模型的方法。我运行像……

海豚版本的混合角色,嗯,70亿参数模型,嗯,本地。我实际上使用它来创建,嗯,嗯,摘要,嗯,对于,嗯,博客文章。Plush cap基本上会接收所有公共数据和信息,博客文章、网站结构、YouTube视频等等,并为各种公司创建配置文件。嗯,而且其中一部分,我接收所有博客文章。所以我有一个包含数万篇公司撰写的博客文章的数据库。我会为每一篇创建摘要。所以我实际上会通过本地大型语言模型运行它们,然后我会在另一端创建一个摘要。这样你就可以消费……我实际上可以消费来自数百家公司的信息流,并真正了解他们在做什么以及他们在做什么。

正在开展的工作。这就是我喜欢混合使用相关的新工具的方式,这些工具实际上确实帮助我在工作中做得更好,因为我了解如何,你知道,这个,这个特定的LM对于某些事情是有价值的,而对于其他事情则不是。这很酷。

Plush cap只是一个私人的东西,还是可以访问的?它是可访问的。网址是plushcap.com。你会看到,它就像一个包含所有这些不同公司的数据库,你知道,你可以按不同的类别对它们进行排序,点击它们,查看它们的内容等等。对我来说,我实际上主要使用它来,我使用它的一部分原因是这实际上是我运营团队的方式。我可以说,

你知道,“嘿,我们想发布X篇博客文章。”而且,嗯,你知道,它基本上给了我足够的指标,我称之为输入指标,就像输入到我们的团队应该产生多少一样。嗯,然后我可以把它与我们的专有指标结合起来,并确保团队像……一样运作,嗯,按照我们运行业务的方式,并真正推动业务成果。所以,是的。任何,嗯,

任何关于答案的抢先看?如果我的时间有限,我应该写博客文章吗?我应该去YouTube吗?哦,实际上是做开发者关系方面的工作?是的。现在哪种方法最有效?

好的。这是我个人的观点,你知道,但我认为每家公司实际上只能以一件事而闻名。所以,如果你想成为一家杰出的公司,你必须弄清楚你的公司是什么。对于Twilio来说,那就是开发者活动。我在2014年参加了86场开发者活动,我的第一年,我们当年举办了500场活动。

所以Twilio只是因为你在PyCon或聚会或其他地方遇到了一位Twilio开发者布道者而闻名,对吧?你认识公司里的某个人。

Stripe以其卓越的开发者文档而闻名。最终,Twilio实际上变得更加以其开发者内容而闻名,尤其是在我们进入疫情期间。Assembly AI以其YouTube频道而闻名。所以Plush Cap上实际上有一个所有顶级YouTube频道的列表,按订阅者数量和观看次数排列。Assembly AI基本上就像

只有少数公司拥有更多订阅用户,例如 JetBrains 稍微多一些,还有三大云厂商和 OpenAI。基本上就是这样了。所有公开上市的开发者导向型公司在 YouTube 上都没有特别强大的影响力。所以,你只需要选择一个方向。

你想要真正擅长的事情,并引导团队确保他们能够通过这种策略获得你想要的结果。然后你可以加入其他策略。例如,我们在文档方面做了很多工作,我们创作了很多书面内容,但我们最出名的是 YouTube 内容。这就是,

我一直在和其它公司讨论,他们会问:“你们是怎么做 YouTube 内容的?”我会说:“嗯,有很多东西,但这就是我们想做到最好的。”有一段时间,我不知道他们现在是不是还这样,但 DigitalOcean 长期以来一直专注于用户文档。

是的,那正是我想提到的例子。他们在 IPO 的 S1 文件中提到了他们的教程。他们说:“我们有 3000 多个教程,它们带来了 X 量级的流量。这实际上是我们业务的驱动力。”这很有趣,考虑到他们最近解雇了整个团队。我本来不想提这个,但我心想:“我的天哪,这就是你们现在出名的原因啊。”

是的,没错。没错。所以,是的,我不知道。他们有点挣扎。是的……

我不想过度批评他们。我不知道他们内部的决定是什么,但糟糕透顶。好了。所以非常有趣。所以要努力在一个方面出名。那么,对于小型公司来说,只有一两个人,甚至通常只是一两个人,或者是一对朋友在做某件事。是的。

你不能让自己太分散。所以我喜欢这个想法,选择你要做的事情。是专注于视频吗?一个很好的例子是 fast AI 或 fast API,抱歉。他只是非常擅长一些很棒的事情。

那里的文档,你不会有任何疑问,因为 Sebastian 会在那里给出答案。我不知道他是否在做 YouTube 视频,如果他在做的话,我没有注意。他确实会出现在一些会议上,但仅仅是完善的文档,我认为这是他发展的一部分。

是的,特别是对于开源项目来说,文档非常出色,人们会注意到这一点,对吧?因为很多项目不幸的是并不总是能做到这一点。是的。无论如何,写作,你还在写吗?我想一旦你开始写作就很难停下来。

你最近还在发帖或写博客吗?还是不怎么写了?我会继续写。坦白说,我一直在花很多时间编程,并且非常享受这个过程。它基本上占据了我所有的时间。我认为另一件事是,我们正在经历软件的可能性正在发生巨大变化,通过使用软件

大型语言模型,甚至是像 Assembly AI 这样的东西,比如自动语音识别 (ASR),仅仅是现在可能的,与五年前相比是如此不同。我唯一能将这段时间的兴奋与之相比的是,当 Ruby on Rails 和 Django

出现时,我心想:“我的天哪,我可以更容易地构建 Web 应用了。太棒了!”对吧?或者当 iOS 出现时,你可以开始构建移动应用程序之类的东西。那太棒了。但现在,大型语言模型确实正在创造一种非常不同的计算模型。所以我花了很多时间评估大型语言模型,学习提示工程,坦白说,也在观察其他人。

有时当你感觉自己已经了解足够多,而其他人还没有谈论它时,你就会有一些东西可以分享。这就是我最初编写《Full Stack Python》的原因。但现在,我仍然花很多时间学习并自己做这些事情。

呃,直到我最终达到这样的程度:我可以分享更多关于这个主题的内容。所以我想,嗯,就像你之前谈到的那样,嗯,你必须先做一段时间的工作,然后你才会对所分享的内容充满信心,你所分享的内容是正确的,你有一些有价值的东西,嗯,可以提供给其他人。所以,嗯,

简短的回答是:我现在花大量时间与大型语言模型一起工作,在 PlushCap 上花大量时间编程,呃,编程加上大型语言模型,呃,最终我会转向一种模式,我会多写一些,我认为这实际上会更多地关注开发者体验方面,因为这实际上是我现在有更强烈意见的地方,而不是纯粹的编程,这有点像《Full Stack Python》那一方面,我认为注册开发者服务,特别是这些……

有很多这样的机器学习平台,就像浏览并研究一样,他们是如何做开发者体验的?好的,坏的,有很多经验教训可以吸取和学习。这实际上可能是我开始有点想分享更多内容的地方。你知道,这显然是我在 Assembly AI 领导开发者体验时经常思考的事情。所以希望在那里,也许会写出来,但也可能是 YouTube 内容,因为是的,

我有一个很棒的团队在制作 YouTube 内容,我自己什么也没做。所以我觉得为了团队的信誉,我必须做更多 YouTube 内容。我希望你不介意我问,但是,大型语言模型在内容创作中扮演了多大的角色?你是否用它来生成博客文章的初稿之类的东西?

我认为团队中没有人这样做。你知道,很多时候这都归结于这样一个事实:大型语言模型很好,可以擅长创建提纲或头脑风暴,它们擅长总结,但它们并不特别擅长,或者至少要付出很多努力才能让它们擅长更

在技术上准确和富有创造力。我仍然认为它们最终可能会做到这一点,但是我们在开发者关系中所做的内容类型是非常循序渐进的开发者教程,或者是对理论概念的极其深入的探讨。我的团队中有一位理论数学博士。

对吧?他会在 6000 字的博客文章中深入探讨机器学习主题,从学术论文中提炼出来的理论解释,开发者可以阅读并开始理解。对吧?那种东西,我想说的是,大型语言模型的能力范围之外,它能够以一种方式做到这一点,你可能可以从另一边得到一些东西,但这不会是,这不会是惊人的。我认为现在有一种对质量的追求。你可以看出你正在阅读,

是的。嗯,你可以看出你正在阅读枯燥的东西,这并不取决于它是人写的还是大型语言模型生成的。现在,我还没有发现大型语言模型,除了创造性的写作,比如虚构的东西。我没有发现大型语言模型的输出在非虚构主题或技术主题方面特别引人入胜。现在,也许我错了。也许我读过,我只是没有,你知道,像,“哇,我不知道我被某事惊呆了”,但这有点,

仍然在我们前面。嗯,我也认为好的写作仍然很少见。所以如果你在阅读,很可能它写得很糟糕。是的。不错。是的,我认为是这样。如果你想让你的公司与众不同,特别是对于开发者来说,他们是一个非常有辨识力的受众,嗯,

你不应该考虑如何每月发布 100 篇博客文章,而应该考虑如何确保每一篇发布的博客文章都对阅读它的人具有巨大的价值。显然,你需要制作不同类型的內容,并非所有内容都会是 6000 字的博客文章。

嗯,呃,我认为这实际上是现在将公司区分开来的因素,因为使用大型语言模型生成垃圾太容易了。而顶部的差异化才是真正将优秀公司区分开来的因素。是的。

嗯,所以我们谈论了很多东西,但我可能想总结一些事情,如果人们是管理人员,他们想保持技术性。你说的其中一件事是在旁边做你公司也在使用的通用版本的问题。我认为写技术博客文章仍然是一件好事。如果,如果,

如果你以前没有公开写作过,那么我建议任何没有公开写作过的人都应该尝试一下,我认为这是一个保持技术性的好方法,我认为即使是我自己,我也可能比以前写得少得多的公开博客文章,但至少在过去这样做所获得的经验使得我现在就是这样思考的,我思考的是我是否足够了解它,可以向其他人解释

无论是 YouTube 还是博客文章,或者其他什么。然后是实际的副项目,我是否足够了解它,可以创建一个其他人可以使用的东西?或者即使只是我可以使用的东西,你作为唯一用户的副项目也没有错。是的。

我认为另一件事是,要确保你不仅要考虑编码技能,还要考虑写作、演讲以及沟通技巧和人际交往能力等方面。你总能提高自己作为管理者的风格。

我们还有什么需要补充的吗?我有一些快速的战术技巧,那就是,我认为你必须了解自己。所以如果你不断地撞墙,并且感到沮丧,因为你想成为一个更好的作家,但你就是不想这样做。

也许不要给自己施加这种压力。也许还有其他你想改进的东西。所以我认为改进,所以对我来说,我认为最重要的事情是,无论你想做一些副项目,还是想在管理之外进行编码,都是每天都能完成一些事情。对我来说,我真的很喜欢早上起床。我倾向于很早起床,我只是写一点代码。

我做的第一件事,因为我没有分心。有时我写两分钟的代码,有时我在儿子醒来之前写一个小时的代码,然后我就完成了当天的工作。所以我想每天都能完成一些事情。我认为我还,为了回到真正的技术角度,拥有一个非常快速的部署管道具有巨大的优势。所以我每天都会将 PlushCap 的更改部署到其中。

嗯,这是因为这就像一个命令。就像部署、部署、部署。对吧。所以如果我有一个想法,并且我有足够的时间在早上编写一些代码,我可以立即将其部署并发送给很多人。因为我有一些朋友或同事使用这个工具。嗯,所以对我来说,这就像一种,有点像肾上腺素激增,就像,“我能完成这个小功能,并在我的实际工作开始之前将其发送给人们吗?”这只有在拥有一个非常简单的部署管道的情况下才能实现。嗯,

然后我给人们的另一个建议是,特别是如果你是一个管理者,并且你想跟上你的编码技能,那就是,我实际上在我的 Vim 中记下所有笔记。这让我能够拥有肌肉记忆。所以我喜欢我所有关于一对一会议、待办事项列表的笔记,就像任何东西都像 Markdown 一样,我只是对所有东西都使用 Vim。对吧。所以当我编码时,我不必像,像没有上下文切换。就像,

就像我编码和写作对我来说几乎在某种程度上是可以互换的。这样,我总是精通我的工具。所以我认为这实际上是,你只想确保没有障碍阻止你独自完成这些事情。对吧。如果你必须克服五个障碍才能在晚上进行副项目,你很可能会在第三个障碍处失败。所以不要有任何障碍。去做吧。

我不知道我是如何克服这个问题的,但过去 Outlook 会在按下 Esc 键时关闭窗口。我认为我可能已经覆盖了它或者其他什么,但作为一个 Vim 或 VI 用户,我,所以我实际上并没有直接使用 VI,我,

如果我 SSH 到某个东西,我会使用它。是的。但通常是 VS Code 或 PyCharm 的 Vim 模式。但是,但是是的,我,我的所有写作都在 Markdown 和

VI 中。所以你已经在做了。是的。是的,绝对的。我们可以长时间讨论这个话题,但我想要结束。非常感谢 Matt 来参加节目,我们以后再聊。听起来不错。

感谢您的收听,并感谢所有通过购买课程支持节目的所有人,包括《Hello PyTest》(学习 PyTest 的最快方法)和《Complete PyTest Course》(如果你想真正成为 PyTest 专家)。两者都可以在 courses.pythontest.com 上获得,你也可以在那里加入 Python 测试社区。现在就到这里。现在去测试一些东西吧。