AI 在软件开发中的未来 | Inbal Shani(GitHub 首席产品官)
AI 在软件开发中的未来 | Inbal Shani(GitHub 首席产品官)
AI 在软件开发中的未来 | Inbal Shani(GitHub 首席产品官)
文字记录
Inbal Shani: 使用 AI 工具进行软件开发的人需要形成一种不同的思维方式。你需要开始思考如何利用这些 AI 工具来帮助自己取得成功。这不再仅仅是实际的代码编写,而是真正将你的思维提升到全局层面,到互联体验,到互联系统。今天我们主要在更资深开发者身上看到这种思维,而在初级开发者身上则越来越少。
初级开发者刚入行时,通常我们期望他们能编写简单的代码。但现在如果有 AI 系统帮助他们写代码,他们从一开始就能花更多时间去理解系统、理解他们正在构建的环境,或理解他们正在打造的产品。而现在他们没有这个时间,因为还在学习如何写代码。
Lenny: 今天的嘉宾是 Inbal Shani。Inbal 是 GitHub 的首席产品官,此前曾在 AWS 和微软担任总经理,也曾是 Amazon Robotics 的高级软件开发工程师。
在我们的对话中,我们探讨了 Copilot 和面向软件工程师的 AI 工具的终极形态、AI 时代软件开发的未来图景、AI 与软件开发中被高估和低估的部分、团队关注哪些指标来判断 Copilot 是否发挥了作用、团队和公司在拥抱 AI 时犯的错误、Copilot 的设计理念,以及是什么帮助 Inbal 成为今天的领导者,还有 GitHub 作为产品和组织的未来方向。
软件开发中被高估与被低估的
Lenny: 我想从一个关于软件开发走向的大问题开始。你似乎处于这场变革的风暴中心。甚至可以说 GitHub 随着 Copilot 的发布点燃了这场风暴。那么,你认为在软件开发的变化中,什么是被高估的,什么是被低估的?
Inbal Shani: 我大概一年前作为首席产品官加入 GitHub。两天前,我刚好庆祝了入职一周年。对我而言,最初的思路是审视整个平台,审视软件开发生命周期,然后形成一些判断。我最大的判断是:开发者的幸福感和生产力很大程度上取决于他们的环境和开发工具。因此,AI 对这一使命至关重要。
当我们审视当下 AI 的发展态势,AI 真的已经成为开发者群体中的基本期望,对他们能否完成工作来说处于核心且关键的地位。我们知道大约 92% 的开发者已经在使用 AI 工具。但在这一图景中,被高估的部分是:生成式 AI 将取代人类。我认为这在可预见的未来不会发生。我的看法是,你始终需要人在回路(human in the loop)中进行参与,因为 AI 无法取代创新。
那种创造性的火花,那种作为人类核心的创造性思维,不会被 AI 取代——至少在可预见的未来不会。如果我们思考一个成功的 AI 工具意味着什么,你需要数据。要产生数据,就需要人类使用工具、与工具交互、做各种各样的事情。所以我认为当下被高估的就是生成式 AI 将取代人类——它将成为一切问题的解决方案。我认为它是一个工具。
AI 驱动的测试
如果深入到当下软件开发中被低估的部分,我开始听到一些关于 AI 驱动测试的讨论,但提及得并不多。而如果我们设想的 AI 时代将会生成更多代码、生产力更高、效率更高、更多行代码、更多应用,那么测试就成了软件开发过程中极为关键的一环。
我很想听到更多这方面的内容,想了解各公司在思考如何利用 AI 生成更大规模的测试套件,以便验证工作成果。
Lenny: 你说的测试是指单元测试、集成测试之类的吗?
Inbal Shani: 全部——负载测试、基础设施测试、安全测试、渗透测试。当你需要人工来编写所有这些测试能力时,你需要大量的人,而且他们需要形成不同的思维方式。我们能否利用 AI 来真正生成那样一套测试,涵盖从单元测试、功能测试到负载测试、性能测试的所有内容?
软件测试的重要性与日俱增
Inbal Shani: 我们有很多测试工作,甚至不把它们当作测试来看待,所以我们不一定会花很多时间去做。但如果现在我们说软件处于一切的中心,所有公司都将以某种形式成为软件公司,代码量会越来越多。因此,测试的重要性正变得愈发关键。
三到五年后的软件开发
Lenny: 顺着这个话题往下说。你提到你不认为软件工程师会完全消失。你对三到五年后软件开发会有什么不同有什么总体判断?你觉得会有什么变化?另外,你怎么看这一切的终局——Copilot 和类似工具越来越好、越来越好,你认为最终会走向哪里?
Inbal Shani: 对我来说,我一再强调,Copilot 是副驾驶,不是主驾驶。你仍然需要人在回路。但这意味着,软件开发者或者说使用 AI 工具来开发软件的人,需要形成一种不同的思维方式。首先,你需要开始更多地从系统层面、架构层面去思考。你需要弄清楚如何利用这些 AI 工具来帮助你取得成功。这不再仅仅是编写代码本身,而是真正将你的思维提升到全局视角,到连通的体验,到连通的系统。
随着时间的推移,我们会看到开发者更多地采纳这种心态。当然,这种思维在今天软件开发领域并非不存在,但它更多出现在资深开发者身上,在初级开发者身上越来越少。初级开发者刚入门时,我们通常期望他们能够编写简单的代码。
但如果现在有 AI 助手帮助他们写代码,他们从一开始就可以花更多时间去理解系统、理解他们所构建的环境、理解他们所构建的产品——而这些在今天他们没有时间去做,因为他们还在学习如何写代码。所以我认为这是第一个方面。
我预期会看到变化的第二个方面是硬件开发领域,因为我们知道 AI 占用资源巨大,需要大量的算力支撑。
为了能够满足规模、满足需求,我们需要提升我们的硬件——CPU、GPU、计算能力以及代码优化。这是今天只有一小群人在投入的领域,我认为它会变得更加贯穿整个软件开发生命周期。
与 AI 的集成将成为每个开发者的常态。今天我们已经看到这场变革的开端——那种接受和认同,AI 工具,我需要搞清楚如何与 AI 集成,我需要知道如何使用 AI。它会变得更加普遍,而且我们会看到这种转变从很早就开始。当开发者开始塑造自己的思维方式时,他们就会开始理解所有这些组件。
Copilot 的使用数据
Lenny: 我看到一个数据,说 Shopify 代码库中有超过一百万行代码是由 Copilot 编写的。我不知道怎么算,但我猜这比一个人一辈子写的代码还多,可能比很多工程师一辈子写的都多。我觉得这个数字提醒我们,事情变化有多快,实际发生了多大的改变。
你还提到 92% 的工程师已经在使用 AI 工具了。关于 Copilot 的使用情况、增长情况之类的,还有没有其他可以分享的、可能会让人惊讶的数据?
Inbal Shani: 有的。我们有超过 37,000 个组织、超过 150 万开发者在使用 Copilot。
Lenny: 哇。
Inbal Shani: 根据我们的调查,他们的代码编写速度提高了 55%。想象一下,如果你能给一个软件开发者每天哪怕多出几分钟、半小时,他们的生产力会提升多少,同时他们也会因此更加愉快。我们通过用户调查还了解到,85% 的参与者对自己的代码质量更有信心,代码审查的速度也提高了 15%。而且我们知道,通常没有人喜欢做代码审查。
所以如果我们能帮助加速、让开发者更愿意花时间去做代码审查——同时考虑到消除挫败感——88% 的人感到更少挫败、更专注于自己的编码能力。而这仅仅是个开始。我们有来自不同客户的案例。比如 Accenture 是最近的一个,他们 88% 的建议代码被保留了。我们有很多这样的数据汇聚在一起,展示了使用 Copilot 和 AI 工具进行软件开发的规模和影响。
AI 不会取代工程师
Lenny: 假设一些公司听到这些数据,觉得”哦,我们会提高 25% 的效率”,有些人可能会想,那我们就可以少用 25% 的工程师了,同样的事情照样做。但我想你实际发现的是,工程师能做更多的事情。所以不是说你需要裁人,而是人可以更快、做得更好。
Inbal Shani: 不,让我说清楚,你不能裁人。你必须有人在回路。Copilot 是副驾驶,不是主驾驶。这句话我一再说。我觉得公司需要意识到的第二件事——这也是我们最近做的另一项开发者体验调查——是这些年来我们给单个软件开发者堆加了太多任务:写代码、写测试、与人沟通、每周与 21 个人协作、开会、等构建、翻遗留代码——所有这些都是在他们需要写代码这一基本工作之上叠加的。
所以大多数开发者花在写代码上的时间不到 25%,有些人说不到 20%。如果我们能给他们每天多出半小时,第一,他们可以写更多代码。第二,他们可以喘口气休息一下,这样我们不会让他们过劳,他们也更快乐。第三,我们给了他们更多时间去协作和进行创造性思考,这能激发创新。这不是你想要削减的东西。
这是你想要作为礼物送给你的开发者的东西——让他们对你满意,你能留住他们。他们能做好自己的工作,有产出,因此也快乐。
Lenny: 我和不少使用 Copilot 的工程师聊过。有一件事让我惊讶:最优秀的工程师反而最热爱 Copilot。你可能以为这主要是给初级工程师用的,帮助他们写得更好更快,但 10X 工程师也说……有人告诉我 Copilot 让他们的效率也提高了 50%,这太不可思议了。你在产品团队和工程团队匆忙开始采用 AI、将 AI 集成到工作流程中时,看到他们犯了哪些错误?
采用 AI 的常见误区
Inbal Shani: 我觉得有几个方面。第一个是公司期望变革神奇地发生——给你一个工具,去用吧。但实际情况并不是在所有公司都一帆风顺。所以需要投入时间,真正带领公司走过一个变革管理的过程。第二个我看到的现象是,由于 AI 现在非常火热,经常会有这样的问题:“我们该用 AI 做什么?“于是就有一种”我必须用 AI 做点什么”的感觉。
因为否则,就不是在做正确的事。而我的产品团队真正聚焦的问题是:我们要解决的问题到底是什么?如何更好地利用 AI 来帮助解决它?而不是”我们要拿 AI 做什么”。所以关键在于从客户问题出发、从我们要解决的问题出发,往回推导,然后判断我们手头有哪些最好的工具可以更好地完成这项工作,并在此基础上进行通盘思考——而不是”AI 来了,我们必须用它,否则就是落伍了”。
Lenny: 你能想到某个具体的例子吗?有人在这方面做错了,或者浪费了大量时间?
Inbal Shani: 不一定是某个具体案例,但我一直在和我们的一些客户交流,他们会来找我:“我们听说了 AI,你觉得我们该拿 AI 做什么?我们该怎么采纳 AI?能从你们的经验中学习吗?“我就把我们的经验分享给他们。当我们开始思考 AI 时,出发点是让开发者大幅提升生产力。我们观察到了什么?开发者身上背负着多项任务,他们没有足够的时间花在编码上。
那我们如何给他们腾出更多时间来编码?编码过程中哪些环节可以自动化?由此才引出了这样的需求:好,那我们把 OpenAI 接入进来,把 ChatGPT 接入进来,把它们全部串联起来,帮助打造一个基于 AI 的、能提升开发者生产力的工具。我分享了我们是如何走过这条路径来思考 AI 使用的。很多时候客户会恍然大悟:“哦,我们原来不是这么想的。”
他们更多是想把 AI 贴到很多东西上面,而不是说”我有这样一个工作流,它需要大量手工操作,或者需要大量配置。也许我可以想想怎么把 AI 融入其中,真正缩短时间,让流程更顺畅,或者降低开发者采纳这个工具的摩擦”,如此等等。所以更多的是分享我们的思维方式,帮助客户建立同样的理解。
GitHub 如何”吃自己的狗粮”
Lenny: 顺着这个思路,你在谈自己团队内部的思考方式。感觉你们的产品团队可能正活在其他产品团队未来的工作方式里,因为你们能接触到其他人未必能接触到的东西,采纳这些工具的速度也比其他团队快得多。你们的产品团队有哪些运作方式是其他团队可能还没有的?
Inbal Shani: 在 GitHub,不仅仅是产品团队。GitHub 就是 GitHub。我想说,我们吃自己的狗粮(eat our own dog food),意思是我们是第一个试用每项功能、每项正在开发的能力的人。而且不只是工程团队,这贯穿整个 GitHub。比如,GitHub 本身就运行在 GitHub 上。有好几篇博客文章和演讲讲过这件事。甚至在最近的 Universe 大会上,我们还专门有一个演讲,讲的是 GitHub 如何使用 GitHub,以及如何在软件开发生命周期中全面采纳 AI。
我们最大的关注点是:如果我们说 GitHub 是一个开发者平台——不仅如此,它是一个软件开发平台——那我们如何确保参与 GitHub 开发的所有角色也都在使用 GitHub?比如,我们的财务团队在用 discussions、posts、PR 和 repos 来沟通我们的 AR(应收账款)数据等等。我们的法务团队在用,人力资源团队也在用。至于他们喜不喜欢,那是另一个问题。
但核心理念是:我们用 GitHub 来运行 GitHub。产品团队和工程团队一起,是最早的采纳者之一。比如,当我们测试 chat 功能、想看推荐质量和搜索效果时,产品团队就是最早去试用的一批人——它给我的建议是我需要的吗?它对 PR 的摘要方式是我想要的吗?诸如此类。
但我们非常坚定地主张,我们必须是测试自己工具的人。如果我们自己都用不了,客户肯定也用不了。所以任何东西在发布之前,都必须在 GitHub 内部经过足够长时间的打磨,我们确认它对我们有效之后,才会交付到客户手中。
Copilot 的设计哲学
Lenny: Copilot 最神奇的一点就是它如何融入背景,几乎让人感受不到它的存在。你不需要和它对话,不需要告诉它任何东西。它自己就能推断——你在做什么,这是你要的答案。你想用就用,不想用也没关系。你能分享一下 Copilot 的设计哲学吗?
Inbal Shani: 好的。Copilot 的设计哲学与刚才提到的”从客户出发、往回推导”的理念高度一致。就是真正把自己放在客户的位置上,弄清楚他们需要什么,他们的体验会是什么样的。如果它是一个额外工具,需要你主动去请求它,需要你等待它,那开发者就不会采纳它。
正因为我们是先为自己开发的,并且想要进行实验,所以设计哲学就是:把自己放在开发者的鞋子里,你希望这种体验是什么样的?2020 年,我们有一群 GitHub 工程师与设计团队以及 OpenAI GPT 一起合作,真正探索如何构建这个东西,以及它如何帮助开发者更高效地工作、提升生产力、改善协作与幸福感,如此等等。
但最根本的原则是:开发者必须愿意使用这个工具。你增加的摩擦越多,增加的混乱越多,增加的复杂度越高,开发者就越不想用。我们刚才谈到了开发者每天需要做的所有事情。现在再往这个组合里加一条”我需要学习如何接纳 AI”,我们很清楚这行不通。所以它必须是无缝集成,必须是对开发者来说非常直觉化、拿来就能用的东西。
如何衡量 Copilot 的成功
Lenny: Copilot 的成功指标是什么?衡量工程师的效率提升和生产力增长是一个非常有趣的问题。你们关注哪些指标来判断这件事是否达到了预期?
Inbal Shani: 在我们所处的领域里,没有所谓的”正确指标”。没有一个指标可以统领一切。它是一组你需要从 AI 采纳中去衡量的东西的组合。你可以考虑用 AI 来衡量代码质量——你能提升代码质量吗?你能通过引入比如我们的 GitHub Advanced Security 来提升代码的安全性吗?
所以有很多不同的指标,组合在一起就能呈现给你开发者的生产力。然后还有开发者生产力、开发者协作、节省的时间,这些汇聚在一起就产出了开发者的幸福感。我们目前最大的聚焦领域是对”生产力”的定义,因为有大量用户来到 GitHub,他们追求的就是生产力的提升。
但有一点我们非常清醒:随着我们持续演进 Copilot,将 AI 推向软件开发生命周期的各个环节和所有工具,生产力并不是适用于每一个组件的正确指标。当我们在 GitHub Advanced Security 中引入 AI 时,写出更安全的代码才是正确的衡量维度——比如我们阻止了多少密钥泄露?在代码中我们检测、发现并修复了多少问题,在它们随产品发布之前?
AI 指标的探索
Inbal Shani: 所以我认为 AI 相关指标的世界确实是一个很大的课题。我们正在与客户进行大量合作,因为他们在问同样的问题,并在各自的公司内部进行自己的实验,想弄清楚到底想要衡量什么。最简单的一个指标是时间,但时间——说起来有点好笑——时间并不是一个可量化的成功指标,因为你可以非常快地写出非常糟糕的代码。
所以真正的问题在于,我们如何将时间转化为效率、转化为生产力、转化为那些更难衡量的东西,然后再看它如何导向开发者的幸福感——这又是一个更难衡量的指标。所有这些输入指标的组合,最终指向开发者幸福感,这才是我们聚焦的方向。
Lenny: 是的,这很有意思,因为工程师最终可能会花更多时间写代码——因为他们更享受这个过程了,也做出了更多成果。而且,代码行数也不是一个好指标,因为你无法知道那些是不是好的代码行。这是一个经典的错误衡量工程师的方式。所以对我来说,开发者幸福感才是终极指标。我们之前邀请过 Nicole 来播客,她提出了 DORA 框架,那是一种衡量开发者体验和开发者幸福感的有趣方式。
从时间到价值
Inbal Shani: 没错。我们在与客户交流时,一直在思考如何重新表述这个问题——与其谈时间,不如谈 value to value(价值实现时间)?也就是说,从你把一个开发者放到一项任务上的那一刻起,到实现其全部潜力或全部价值,花了多长时间?无论这个价值是产生收入、用户采纳,还是产品上市速度——你可以用不同方式来定义你的价值实现时间。
但归根结底,你投资 AI 工具是为了帮助开发者更高效、更快乐,那么它是否影响了你的价值实现时间?这正是业务方想要衡量的东西。
[广告段落已跳过]
AI 作为协作工具
Lenny: 回到这一切的发展方向——你应该见过那些演示:有人在纸上画一个网站草图,拍张照发给 ChatGPT,它就帮你把网站建好了。
Inbal Shani: 是的。
Lenny: 你怎么看这类应用的发展?你觉得未来会不会有 CEO 说,“这是我要的 iPad 应用”,画个草图,然后直接丢给 Copilot 第十版,它就帮你写好了?我知道你说工程师不会被削减,反而会增加、变得更高效,但我想问的是,这种”画个草图,帮我建好”的模式会走向何方?
Inbal Shani: 我把它看作一个更好的协作工具,而不是一个生产工具。因为目前我们看到,很多表达想法时的困难来自于沟通——思路不够清晰。如果我们能利用 AI 来改善协作,比如你把一张草图放到 Copilot 面前,它帮你讲清楚你到底在要求开发者做什么,这样就能省去大量反复沟通的来回。比如”你说的按钮在这里吗?""你想要粉色的吗?""你想要那个应用吗?""你想要那个操作系统吗?”
如果 Copilot 能帮助精炼沟通,它很可能成为市场上最好的协作工具,尤其是在我们当今这个全球化的环境中——不同角色的人在一起碰撞创意时,沟通始终是一个持续存在的挑战。在我们看来,AI、具体来说就是 Copilot,正在成为下一个自然语言对话的载体。
它就像一个翻译器,帮助所有人达成共识,因为它创造了一种通用的对话语言——就像数学曾经扮演的角色一样。
开发者的工具选择
Lenny: 这让我想起我之前和一位工程师的对话,他说他特别喜欢写那些简单的小函数,而现在 Copilot 替他做了这些,他有点失落,但他也不会关掉这个功能。他就觉得,“那才是我真正享受的东西,那些我能轻松搞定的小东西,比如某种排序函数。“我在想,当这么多代码都替我们写好了,我们是不是会失去什么?
Inbal Shani: 我认为每个开发者都有自己喜欢做的部分。你并不是非得用 Copilot 来写简单的代码。你可以通过聊天的方式使用 Copilot,把它当作 AI 助手来头脑风暴。我们提供的是一套工具,我们心里有一个使用场景的设想,但我们观察到的是,开发者们使用这些工具的方式各不相同。每个人都在选择自己偏好的使用方式,没有对错之分。
它是一个工具,一种语言。我学编程的时候,用的是 C,后来 Java 流行起来了,我心想,这不是在抢我的活儿吗——以前那些函数和库都是我自己写的,现在 Java 全都有了。后来 Python 出来了,又是一个更高的抽象层——好吧,现在我连这些都不用想了,因为 Python 全能搞定。所以关键在于你如何使用工具、用它们来做什么。有些领域我到现在还是会用 C 来写。
比如,如果某个东西需要在一个很小的 CPU 上运行,我才不信别人能替我高效地发明出那些算法——我会自己动手。但另一方面,有些东西我会委托给更高层的抽象工具,而这正是我看待 AI 的方式。你来选择如何使用它。没有什么放之四海而皆准的绝对真理让每个人都要照搬。你需要思考的是,如何使用你的工具来完成你的工作,同时保留那些让你感到快乐的部分。
另一方面,把你不那么享受的事情交给 AI。也许你喜欢写函数,但不喜欢写测试,那就让 AI 生成单元测试,让 AI 帮你做这些,你仍然专注于你享受的部分。
编程的乐趣
Lenny: 你现在还有时间写代码吗?还会在业余时间写一些 C 吗?
Inbal Shani: 现在有一点。目前主要是在陪我大儿子,他有更多时间钻研,但有时候我喜欢和他一起待着,一起头脑风暴、讨论问题和架构。几个月前,他做了一个关于传感器和传感器集成的项目,接触到了 common filter——那正是我很多很多年前做过的事情。
他就问,这是什么,怎么做的?然后我们就一起过了一遍,我帮他理清结构、传感器融合这些东西。有时候我会说:“好了,让开,看我的。这样就行了……”
Lenny: 打开 Copilot。开玩笑的。
Inbal Shani: 妈妈就是 Copilot。
Lenny: 太好笑了。这让我想起来,我看过你的一次演讲,你在很早以前——远在它变得很酷之前——就在做模型调优和训练 LMS。所以你在这个领域已经很久了。回头看,有没有什么你现在看到的发展趋势,是当时没有意识到的?
Inbal Shani: 我成长在一个小众 AI 的世界里——你必须成为专家,需要经过多年训练才能理解如何调优模型、什么是正确的输出,你需要懂得如何构建仿真来测试它、如何摄取数据、聚焦于优化。这些年我见证了 AI 的演进,从各种语音设备和对话式 AI,到后来从单术语发展为多术语。
所以我已经开始观察到 AI 更加民主化的趋势,但生成式 AI 的爆发是我没有预料到的。甚至连不知道 AI 是什么的人,都觉得自己需要用 AI。我觉得这是让我意外的地方,因为我一直被训练成”你必须成为专家才能使用 AI”的认知。所以对我来说那是一个顿悟时刻——嗯,这很有意思。接下来会怎样?
Lenny: 你对大语言模型是否就是这一切的终极答案有什么看法?只要持续增加算力和数据就够了?还是说你觉得地平线上会出现别的东西,再次彻底颠覆 Transformer 模型范式?
混合 AI 的未来
Inbal Shani: 我觉得我们非常激进地转向了生成式 AI 和”通用 AI 能解决一切”的方向。我认为未来会一定程度上回归小众 AI。我们将生活在一个混合的世界里——你仍然会有专门的 AI 模型来解决非常特定的问题,而生成式 AI 会有它的局限性。它是一个通用工具,上限取决于数据集的质量,而且它本质上是在做某种统计推荐——好不好?行不行?所以它受限于训练集,同时试图对所有人做所有事。
有些领域仍然需要训练专门的模型。比如我在航空航天和汽车行业花了很多时间。我没看到自动驾驶汽车模型——那需要极其精密的专用模型、精细调优、严格的安全法规,这些能在 ChatGPT 上开发出来。我可能是错的,但我认为最终我们会发现自己处在一个混合模型和多模型的世界里,会有多个大语言模型协同工作,因为每个都有自己的优势。
然后还会存在小众 AI,或者说针对特定用例的、更可配置的定制化模型。这就是我对未来的预测。不过十年之后,我们都会更聪明。
Lenny: 是啊,未来很难预测。
Inbal Shani: 没错。
Copilot 的诞生与创新机制
Lenny: 我想问一下,GitHub 提出了整个 Copilot 的概念。我们之前请 Ryan 来过播客,他讲过一个研究员只是在实验——我们用大量数据能做什么?然后这基本上就变成了,哇,这真的能用,赶快规模化并发布。
我想问的是,你从 GitHub 和 Microsoft 内部的巨大成功中学到了什么,来发现其他大机会?在产品团队的结构上,或者在为人们创造实验空间这方面,你有什么做法来找到下一个 Copilot 吗?
Inbal Shani: 很大程度上就是围绕这个。很大程度上就是为团队创造创新和实验的带宽,把那部分时间划出来,同时也要接受并非每个实验都会成功。所以转向”通过学习”或者”向前失败”——这些是我信奉的理念。如果你不去尝试、不去实验,你永远不会创新。如果你不失败,你永远不会从错误中学习,不会从经验中学习,也就不会进步。
所以真正创造那种实验能力——就像我们做 Copilot 时那样,或者我们做 GitHub Advanced Security 时那样,甚至 GitHub 本身的诞生也是如此——都是团队拥有那种创新思维,思考下一代用例是什么?未来的开发者需要什么才能开心、更高效、做好自己的工作?在一个软件开发变化如此之快的世界里,你必须为下一代、下一个创新创造那样的带宽。
如果你还没看过 GitHub Universe 两天的主题演讲,我强烈推荐,因为我们基本上分享了 Copilot 的下一个愿景——Copilot Workspace。我们还请了 Satya Nadella 上台,他非常兴奋,说:“天哪,GitHub,如果你们把这个做出来,太了不起了。“所以你会看到我们不断把这个愿景向前推进,至少在产品上市前六个月到一年就开始了——因为我们已经在思考、已经在创新、已经在做下一件事了。
Lenny: 除了”发布来学习”和”失败也没关系”这些原则之外,你还有做什么来促成这一点吗?在团队结构或资源配置上有没有什么方法?比如有没有规定一定比例的时间去思考其他想法?还是说基本上就是”我们接受失败,自己找时间做别的事”?
Inbal Shani: 有几件事。第一,花时间和客户在一起,向客户学习,因为很多创新的想法基本上都来自与客户的对话——他们会跟你分享他们的痛点,分享他们想要什么,分享什么样的发明对他们来说会很棒。所以第一件事就是建立这样的机制。我们花大量时间与客户交流,也与我们的社区交流。
我们很幸运地成为了所有开发者的家园、所有开源的家园。大型开源基金会和小型开源基金会都运行在 GitHub 之上。所以那是另一个反馈循环,帮助我们收集那些想法和需求,从而塑造未来。第二件事就是让团队来提案。“我有一个想法,我做了一些研究,这里有一篇论文描述了我想做什么”,然后我们一起想办法——什么时候能资助它?怎么资助?能不能分配专门的带宽?能不能做一个 POC?是在那个团队里做,还是组建虚拟团队?我们保持灵活性。我们还有一个研究团队,叫 GitHub Next,他们的日常工作就是思考下一个重大创新。但在 GitHub,创新来自四面八方。来自我们的现场团队——他们在与客户交流,为客户实施不同版本的 GitHub,然后带回来反馈或想法。
来自产品团队,来自设计团队,来自工程团队。无处不在。所以如果你试图把创新结构化,你就会失去那种人性化的有机火花。想象一下有人说你每天有 15 分钟用来发挥创意——我觉得这不是重点。所以更重要的是鼓励那种思维方式,而不是去结构化它。
Lenny: 能多说说你刚才提到的那个团队吗?叫什么名字?vNext 团队?
Inbal Shani: GitHub Next。是的。
Lenny: Next 团队。能多说说这个团队是什么、怎么运作的吗?
Inbal Shani: 他们基本上是应用科学家和研究科学家在一起协同工作,他们真正思考的是三到五年的远景。他们不是思考当下,而是在思考软件开发未来会是什么样子。他们在写论文,做实验,做概念验证。他们的工作就是发明未来。
但同样,这确实是一种协同效应,因为他们会与产品团队、工程团队交流,从中获得创意。他们也与客户对话,或者我们共享反馈。这就是我们的 GitHub Next,基本上就是我们的研究团队。
Lenny: Copilot 就是从这个团队诞生的,对吗?
Inbal Shani: 对。
Lenny: 这非常有趣,因为我想我和 Ryan 也聊过这个话题,很多公司都有类似的团队。比如 Facebook 有一个很有名的,叫新产品体验团队。Google 也有一个 Google……名字我忘了。但据我了解,它们都没有真正成功过,而这个团队成功了。你觉得你们有什么不同的做法吗?是不是更偏科学和研究导向,而不是产品经理们尝试一堆不同的应用?我不知道,你觉得这个团队成功的关键是什么?
GitHub Next 成功的原因
Inbal Shani: 我觉得有两个要素。一是团队中有对的人、对的思维方式,并给予他们创新的带宽和自由。二是我们专注于把事情落地。所以我们不会让他们远离产品、与工程脱节。
团队之间有很多协同、很多讨论,因为在我所见到的那些不成功的团队中,一种情况是团队基本上变成了一个大学——他们写论文,但什么成果都没有产出,所以没有任何东西最终走向生产环境。如果你不从第零天开始引入”我们如何把它带到生产环境”这个视角,当你构思一个新想法的时候,它就很难跨越那个鸿沟自行落地。第二种情况是,公司往往把这些团队用得过于战术化了——“我们六个月内需要某样东西,现在就去发明它”,然后他们基本上又创造了另一个工程团队或产品团队,去思考的不过是当前视野内的东西。
所以我认为在 GitHub,我们找到了恰当的平衡:拥有对的人、对的思维方式,同时也在未来思考和如何将其落地之间创造协同效应。所以我们建立了很强的联系,特别是产品团队和 GitHub Next 之间,确保这种关系持续运转,创意双向流动。
首席产品官的技能成长之路
Lenny: 你现在是 GitHub 的首席产品官,我觉得这是很多人梦寐以求的工作。初级产品经理、高级产品经理都想知道如何走到你今天的位置。我很好奇,你觉得什么最有助于你培养胜任这个角色所需的技能?是导师、高管教练,还是长期实践积累?或者其他方面?
Inbal Shani: 各种因素的结合。从来不是单一因素,因为首席产品官的角色范围太广了。你不仅仅是产品负责人。这也是行业内正在演变的一种认知——首席产品官不仅仅是产品负责人。他们需要具备商业思维,需要理解市场进入策略(go-to-market strategy),需要理解销售打法,需要理解工程师如何构建产品。这不仅仅是”让我写一组需求文档”或者”思考愿景和未来”那么简单。
而是公司内所有这些组件如何协同运作来构建产品。其中一部分是从你跟随的领导者身上学习,观察他们的思维方式。从我在航空航天行业的第一位老板那里,我学会了系统性思维——不只是思考我当下正在解决的那个问题,而是我负责解决的这个问题、我负责调优的那个滤波器,如何与整个控制系统、点火系统等连接起来,以及最终如何呈现出来。这就要求我从一开始就着眼于更大的解决方案,而不仅仅是我自己的组件。
我觉得这是其一。第二是真正去思考人和变革管理,以及如何带领人们一起前行,因为产品经理的角色是一个非常有影响力的角色,你做的很多事情都是在影响他人。虽然大家都觉得作为产品经理你可以做很多事情,可以写各种文档,但你需要影响工程团队去构建你希望他们构建的产品。你需要影响营收团队按照你设想的方式去做市场推广和销售产品。所以这里有大量的影响工作。你需要理解如何做到这一点,而且作为产品经理,从一开始就培养这套技能非常关键。
对我来说,幸运的是我在行业中做过不同的角色,从不同的人那里学到了东西,同时也在向上看、向平级看、向下看——管理的人身上我能学到什么?他们有哪些技能是我工具箱里没有的,我怎样才能吸收采纳?成功是什么样的,哪些因素会让人不快乐——而有些工具你并不想放进自己的工具箱里。所以这就是大量的”什么该要、什么不该要”的组合。
Lenny: 对,正如你所说,是所有这些因素的结合。我非常喜欢最后那一点——识别出那些在你想要提升的方面做得好的人,然后向他们学习,观察他们,也许问他们一些关于他们工作方式的问题。我想在播客中尝试一个新环节,叫做”失败角落”(Failure Corner),我的问题是:你职业生涯中最大的职业或产品失败是什么?你从那次经历中学到了什么?
失败角落
Inbal Shani: 我称之为最大的学习,因为我不相信失败这种说法。我相信的是学习。每次你失败,都是一次重要的学习,我更愿意把这些看作机会。我觉得最大的一个可能是在我刚开始做领导者、做团队管理者的时候。我是一个非常”冲冲冲”的人,精力充沛。当我面对一件事,看到所有需要修复的问题时,就会想:好,把工具箱拿出来,把所有东西都修好。这其中包括推动变革。
我发现当我开始这样做时,如果没有先建立对”为什么我们需要做这个变革”或”为什么这是我们必须要去解决的问题”的理解,你就无法带领人们一起走过这段旅程。所以真正要认识到的是,不是每个人都能像你一样欣赏变革,不是每个人都有那种”冲冲冲、干就完了”的心态。真正需要做的是退后一步,评估当前的状况,这样你才能带领团队一起走上变革的旅程。
对我来说,这是最大的学习。可能当时团队给我的很多不太支持性的反馈就是,“你走得太快了。慢下来。解释一下为什么。我们为什么要这样做?我们应该怎么推进?”
Lenny: 这具体是在哪里发生的?哪家公司?什么角色?
Inbal Shani: 是在 TomTom,当时我负责领导基于位置服务的团队。对我来说,一方面这是我第一次在国际化公司工作,所以我真正体会到我的性格并不总是能适应每一种文化。那我该如何调整自己去适应?另一方面,那个团队已经非常习惯于在特定的环境中以特定的方式工作。是的,我被雇来推动变革,但团队并不一定要接受——推动变革是你的工作。
而且他们未必认同”你来这里就是为了推动变革”这件事。所以如何带着他们一起走过这段旅程,是一个很大的学习;能够用一种通用的沟通方式来推动清晰度,这也是一个很大的学习。
Lenny: 这其实是”失败角落”中反复出现的主题——我想到的那些失败故事,都是某人加入一家公司后试图太快地改变太多东西。
Inbal Shani: 对,这非常常见,因为我们是人。我们觉得自己来了,带着过往的经验,来到一个新环境,你立刻就能看到所有不正常的地方、所有需要修复的问题。如果你在同一个团队、同一个领域工作了很长时间,你往往已经看不到这些差距了,因为你已经习惯了与它们共处。
所以作为一个新人,你一进来就立刻看到所有的漏洞和裂缝。你会想,好,这些就是我需要修的。但你的团队一直在那里待着呢。所以你怎么找到那座桥梁,去沟通你所看到的和他们认为没问题的事情——“你为什么要推这些变革?现在不是挺好的吗?别动它。”
Lenny: Inbal,在我们进入非常令人期待的快问快答环节之前,还有什么想分享的吗?
GitHub 宇宙大会与职业感悟
Inbal Shani: 对我来说,这是一个令人兴奋的时刻。我刚刚庆祝了加入 GitHub 的第一年,上周还第一次在 GitHub Universe 的舞台上亮相。对我来说,与我们的客户和合作伙伴见面,大量讨论开发者体验的重要性、我们的 AI 驱动平台,以及我们如何塑造未来——这是一段非常棒的经历。所以在 GitHub 的这段旅程中,我正处于一个非常令人兴奋的阶段。
如果你没有犯过一些错误、做过一些学习、取得过一些成功,然后走了正确的转弯,有时走了错误的转弯,但最终找到一条让你感到快乐、作为产品领导者感到充实的道路——你就不会走到今天这个位置。
Lenny: 太棒了。我们会在节目备注中放上那场演讲的链接,供想看的人观看。那么,我们到了非常令人期待的快问快答环节。准备好了吗?
Inbal Shani: 准备好了。
快问快答
Lenny: 你最常向别人推荐的两三本书是什么?
Inbal Shani: John Maxwell 的《Failing Forward》,Jim Collins 的《Good to Great》中的飞轮理论,以及我最近读的一本叫 Dalia Feldheim 写的《Dare to Lead Like a Girl》。
Lenny: 这本书在节目中是首次被提到,很棒。你最近最喜欢的电影或电视剧是什么?
Inbal Shani: 我很喜欢奇幻类和历史题材的电影和剧集。最近 Netflix 上出了一部《All the Light We Cannot See》,非常棒。制作精良,讲述了一段非常有趣的二战历史。
Lenny: 既然你喜欢奇幻,你看过 Amazon Prime 上的《Wheel of Time》吗?
Inbal Shani: 看过,我很喜欢。拍得很好。
Lenny: 对,尤其是第二季,真的很惊艳,比第一季好很多。下一个问题——你有没有一个最喜欢的面试问题,喜欢在面试候选人时问的?
Inbal Shani: 我非常喜欢问的第一个问题是:你做过的最具创新性的事情是什么?为什么你认为它具有创新性?很有意思的是,有些人觉得他们需要回答自己做出的最伟大的发明,而有些人则非常坦诚,会谈论一些他们在个人层面所做的创新。
这很能体现一个人的性格。我经常喜欢问的第二个问题是:举一个你与你的经理产生分歧的例子,你和经理意见不合,然后你做了什么,怎么处理的?因为这能很大程度地展示你的性格——你是否愿意在必要时坚持自己的立场并向上推动?以及你的沟通技巧和影响力如何?
Lenny: 你有没有一个最喜欢的人生格言,经常分享给他人,在工作或生活中时常回想起并觉得有用的?
Inbal Shani: 我觉得是:如果你不冒险,就无法创造未来。我忘了是谁说的,好像是动画《Monkey Luffy》里的。但它基本上概括了我的人生信条——你必须冒险,必须尝试。如果你感到舒适,那不是一件好事。你总是需要感到不舒适,才能拉伸自己走向下一个阶段。这也是我一直以来的做法。你刚才听到了我的职业故事——从应用科学家到首席产品官,谁能想到呢?
Lenny: 我很喜欢这个格言。Inbal,非常感谢你来参加节目。最后两个问题:大家如果想在网络上找到你、跟进相关内容,去哪里找?以及,听众怎样才能帮到你?
Inbal Shani: Universe 上有很多精彩的演讲和分享。如果大家想更多了解我们在做什么、我们如何思考 AI,LinkedIn 可能是找到我的最佳社交媒体平台,在那里我有机会与很多人交流。这些是最好的渠道。
Lenny: 那听众怎样才能帮到你?
Inbal Shani: 如果你能分享类似的经历或故事,觉得对我在思考”担任 GitHub 首席产品官意味着什么”这件事上有帮助的话;或者关于你如何使用 GitHub 的技巧和窍门,也许我能学到些什么;又或者分享你的经历和故事,让我也能从中学习。
Lenny: 太棒了。Inbal,非常感谢你来到节目。
Inbal Shani: 非常感谢你的邀请。
Lenny: 大家再见。非常感谢收听。如果你觉得这期节目有价值,可以在 Apple Podcasts、Spotify 或你最喜欢的播客应用上订阅节目。也请考虑给我们评分或留下评论,这真的能帮助其他听众发现这个播客。你可以在 lennyspodcast.com 找到所有往期节目或了解更多关于节目的信息。下期再见。
术语表
| 原文 | 中文 |
|---|---|
| 10X engineers | 10X 工程师(指产出远超普通工程师的顶尖开发者) |
| Accenture | 保留原文(埃森哲,全球咨询公司) |
| All the Light We Cannot See | 保留原文(Netflix 剧集,改编自 Anthony Doerr 同名小说) |
| applied scientist | 应用科学家 |
| AR (Accounts Receivable) | 应收账款 |
| change management | 变革管理 |
| code review | 代码审查 |
| common filter | 保留原文(疑为 Kalman filter / 卡尔曼滤波的转录错误,一种传感器数据融合算法) |
| Copilot Workspace | 保留原文(GitHub 推出的 AI 辅助开发工作空间) |
| CPO (Chief Product Officer) | 首席产品官 |
| Dalia Feldheim | 保留原文(作者) |
| Dare to Lead Like a Girl | 保留原文(书名,意为”敢于像女孩一样领导”) |
| discussions and posts | discussions 和 posts(GitHub 功能) |
| DORA | 保留原文(DevOps 研究与评估框架,由 Nicole Forsgren 等人提出,用于衡量软件交付效能) |
| eat our own dog food | 吃自己的狗粮(指公司内部使用自己开发的产品) |
| Failing Forward | 保留原文(书名,意为”向前失败”) |
| Failure Corner | 失败角落(播客环节名称) |
| GitHub Advanced Security | 保留原文(GitHub 高级安全产品) |
| GitHub Next | 保留原文(GitHub 的前沿研究团队,原称 GitHub vNext) |
| GitHub Universe | 保留原文(GitHub 年度开发者大会) |
| go-to-market strategy | 市场进入策略 |
| Good to Great | 保留原文(书名,意为”从优秀到卓越”) |
| human in the loop | 人在回路 |
| Inbal Shani | 保留原文(GitHub 首席产品官) |
| Jim Collins | 保留原文(美国管理学者与作家) |
| John Maxwell | 保留原文(美国领导力作家与演讲者) |
| Lenny | 保留原文(播客主持人,即 Lenny Rachitsky) |
| LMS | 保留原文(此处指语言模型系统/大型语言模型的前身) |
| load testing | 负载测试 |
| Monkey Luffy | 保留原文(疑为动漫《One Piece》角色 Monkey D. Luffy 的简称) |
| Nicole | 保留原文(指 Nicole Forsgren,DORA 框架的提出者之一) |
| one metric to rule them all | 一个指标统领一切(源自《指环王》的经典表达) |
| penetration testing | 渗透测试 |
| POC (Proof of Concept) | 概念验证 |
| PR (Pull Request) | 保留原文 |
| Ryan | 保留原文(Lenny 在其他访谈中提到的对话对象) |
| sales play | 销售打法 |
| Satya Nadella | 萨蒂亚·纳德拉(微软 CEO) |
| Shopify | 保留原文(电商平台公司) |
| time to value | 价值实现时间(从任务启动到实现业务价值的时间跨度) |
| TomTom | 保留原文(荷兰导航与地图技术公司) |
| Wheel of Time | 保留原文(Amazon Prime 奇幻剧集,改编自 Robert Jordan 同名小说系列) |
此文档由 AI 分片翻译(translate_long_document)
The future of AI in software development | Inbal Shani (CPO of GitHub)
Inbal Shani: The user of the AI tools to develop software needs to form a different thinking. You need to start figuring out how are you using these AI tools to help you be successful. And it’s no longer just the actual code writing, it’s really evolving your thinking to the big picture, to the connected experience, to connected systems, which today we just find it more in the world of more senior developers and less and less in the junior developers.
The junior developers, when they start, usually we expect them to be able to write simple code. But if now there is an AI system that is helping them writing code, they can spend more time from the get-go understanding the system, understanding the environment that they’re building, or understanding that product that they’re building, which today they don’t have time because they’re still learning how to code.
Overrated and Underrated in Software Development
Lenny: Today, my guest is Inbal Shani. Inal is Chief Product Officer at GitHub, formerly a general manager at AWS and at Microsoft, and also a senior software developer on Amazon Robotics.
In our conversation, we explore the end state of Copilot and AI-based tooling for software engineers, what the future of software development looks like with AI, what’s underhyped and overhyped in AI and software development, what metrics the teams look at to understand if Copilot is doing its job, what mistakes teams and companies make jumping into AI, the design philosophy of Copilot, plus what’s helped Inbal most become the leader she is today, and also where GitHub is heading as a product and an organization.
With that, I bring you Inbal Shani after a short word from our sponsors. You fell in love with building products for a reason, but sometimes the day-to-day reality is a little different than you imagined. Instead of dreaming of big ideas, talking to customers, and crafting a strategy, you’re drowning in spreadsheets and roadmap updates, and you’re spending your days basically putting out fires. A better way is possible. Introducing Jira Product Discovery, the new prioritization and roadmapping tool built for product teams by Atlassian.
With Jira Product Discovery, you can gather all your product ideas and insights in one place and prioritize confidently, finally replacing those endless spreadsheets, create and share custom product roadmaps with any stakeholder in seconds, and it’s all built on Jira where your engineering team’s already working. So true collaboration is finally possible. Great products are built by great teams, not just engineers. Sales, support, leadership, even Greg from finance, anyone that you want can contribute ideas, feedback, and insights in Jira Product Discovery for free.
But most content management systems just aren’t built for this. Your content teams wrestle with rigid interfaces as they build new pages. You spend endless time copying and pasting across pages and recreating content for other channels and applications. And their ideas for new experiments are squashed when developers can’t build them within the constraints of outdated tech. Forward-thinking companies like Figma, Amplitude, Loom, Rightgames, Linear, and more use Sanity to build content growth engines that scale, drive innovation, and accelerate customer acquisition.
With Sanity, your team can dream bigger and move faster. As the most powerful headless CMS on the market, you can tailor editorial workflows to match your business, reuse content seamlessly across any pager channel and bring your ideas to market without developer friction. Sanity makes life better for your whole team. It’s fast for developers to build with, intuitive for content managers, and it integrates seamlessly with the rest of your tech stack. Get started with Sanity’s generous free plan.
And as a Lenny’s Podcast listener, you can get a boosted plan with double the monthly usage. Head over to sanity.io/lenny to get started for free. That’s sanity.io/lenny. Inbal, thank you so much for being here and welcome to the podcast.
Inbal Shani: Awesome. Thank you for having me. I’m excited to be here.
AI-Driven Testing
Lenny: I want to start with just a broad question about where software development is going. It feels like you’re at the center of the storm of what is changing in software development. It almost feels like GitHub kicked off the storm with the launch of Copilot. So let me ask, what do you think is overhyped in terms of what is changing in software development and then what do you think is underhyped?
The Growing Importance of Software Testing
Inbal Shani: So I joined GitHub as a CPO basically a year ago. Two days ago, I celebrated my first year. And for me, the initial approach is let’s look at the platform, let’s look at the software development lifecycle, and draw some conviction. And for me, the biggest conviction is that developer happiness and productivity strongly depends on their environment and dev tooling. And as such, AI is really critical to that mission.
When we’re looking into what’s happening right now with AI, it really became table stakes on expectations among developers, and it’s really central and critical for them to be able to do their job. We know that something like 92% of developers are already using AI tools. But in that landscape, some of the things that are overhyped is that generative AI will replace humans. I don’t see that happening in the near future. The way I think about it, you always need that human in the loop because AI cannot replace innovation.
That creative spark, that creative thinking that is the center of humanity, this will not be replaced by AI, at least not in the near future. If we think about what does that mean having an AI tool that is successful, you need data. In order to generate data, you need humans using tools, acting with tools, doing something, something. So I think the overhype that is happening right now is that generative AI will replace humanity. It’s going to be the solution for everything, and I think it’s a tool.
If I’m drilling down to the things that are underhyped right now in the world of software development, I’m starting hearing a little bit more on AI driven testing, but there’s not lots of mention on it. And if we’re thinking about the world of AI where we’re going to generate much code, much more productive, much more efficient, more lines of code, more application, then testing is becoming such a critical part of that journey of developing software.
And I would like to hear more about that and what companies are thinking about how do they use AI to generate a larger suite of testing to be able to validate the work.
Software Dev in the Next 3-5 Years
Lenny: And by testing you mean like unit testing, integration testing, things like that?
Inbal Shani: All of them, load testing, load testing, infrastructure testing, security testing, penetration testing. When you need a human to write all these testing capabilities, you need a lot of humans that needs to form different thinking. Can we leverage AI to really generate that testing suite that test everything that you need from unit testing and functional testing to load testing, to performance testing?
There’s a lot of testing that we do that we don’t even consider them as testing, so we don’t necessarily spend a lot of time in doing them. But if we’re now saying software is in the center of everything, all companies will become a software company in some form or another, there is more code being generated. Hence, the importance of testing is becoming much more critical.
Copilot Usage Data
Lenny: Let’s follow that thread. You talked about how you don’t see software engineers completely disappearing. What’s your just general sense of how software development will be different in three to five years? What do you think is going to be different? And then also just how do you see the end state of all of this of Copilot and tools like this getting better and better and better? What do you think this ends?
Inbal Shani: For me, and I keep on saying that again and again, Copilot is a copilot. It’s not a pilot. You still need the human in the loop. But that means that now the software developer or the user of the AI tools to develop software needs to form a different thinking. One, you need to start thinking more systems, more architecture. You need to start figuring out how are you using these AI tools to help you be successful? And it’s no longer just the actual code writing, it’s really evolving your thinking to the big picture, to the connected experience, to connected systems.
And what we will see in the fullness of time that developers, one, will adopt much more of that mindset, which today we find it in software development, don’t get me wrong, we just find it more in the world of more senior developers and less and less in the junior developers. The junior developers, when they start, usually we expect them to be able to write simple code.
But if now there is an AI assistant that is helping them writing code, they can spend more time from the get-go understanding the system and understanding the environment that they’re building or understanding the product that they’re building, which today they don’t have time because they are still learning how to code. So I think that’s one element. The second element that I expect to see changes is in the world of hardware development, because we know that AI has a big footprint and requires a lot of resources.
And in order to be able to meet the scale, to meet the demand, we need to be able to improve our hardware, our CPUs, our GPUs, our compute and optimization of code. And that’s another area that today it’s a niche of people that are spending time and I think it’ll become much more aligned across the software development lifecycle.
Integration with AI is something that will definitely become something that is more normal for every developer, is today something that we start seeing that revolution, that acceptance, that AI tools, I need to figure out how to integrate with AI, I need to know how to use AI. It will become something that is more custom, and we will start seeing that shifts from very early on. When developers are start shaping their thinking, they will start understanding all these components.
Why AI Won’t Replace Engineers
Lenny: I saw a stat that at Shopify over a million lines of code and their code base was written by Copilot, which I don’t know if I can do the math, but I imagine that’s more than one person would’ve written in their lifetime and probably many engineers write in their lifetime. And I think that number reminds us just how fast things are moving and how much is actually changing.
You also mentioned 92% of engineers are using AI tools already. Is there any other stats that you can share that might surprise people about the usage of Copilot, growth of Copilot, things along those lines?
Common Misconceptions About Adopting AI
Inbal Shani: Yeah. Well, we have over 37,000 organization and more than 1.5 million developers that are using Copilot.
How GitHub Eats Its Own Dog Food
Lenny: Wow.
Inbal Shani: And they’re writing code based on our surveys 55% faster. Imagine that you can give a software developer even few minutes, half an hour back in every given day, how much more productive they’re becoming, and also as a result, how much happier they’re becoming. So we know that in a survey that we have run through our users is 85% of that participants felt more confident in their code quality and also code reviews were completed 15% faster without Copilot. And we know that usually no one likes to do code reviews.
So if we can help accelerate and make developers take their time in doing code reviews, and also if we think about removing frustration, then 88% felt less frustrated and more focused on their ability for coding. And that is just the beginning. We have different examples from our customers. I think Accenture is a recent one that we got where they had 88% of suggested code was retained. So we have a lot of these stats that are coming together to showcase the size and the impact of using Copilot and AI tools for software development.
The Design Philosophy Behind Copilot
Lenny: Say companies hear these stats of like, oh, we’re going to be 25% more efficient. Some people may think we need 25% less engineers. We’re going to do all the same things. I imagine what you’re actually finding is your engineers can do more. So it’s not like you need to cut your people, it’s that people can be faster and better.
Inbal Shani: No, let me be very clear, you cannot cut your people. You have to have a human in the loop. Copilot is a copilot, it is not a pilot. And I keep on saying that sentence again and again. I think the second thing that what companies need to realize, and that’s another developer experience survey that we have run recently, that throughout the years we have added so much tasks on a single software developer from writing code, writing testing, interacting with people, collaborating with 21 people on every given week, going to meetings, waiting on builds, digging into legacy code, all of that is added to the fact that they need to write code, which is their basic work.
So most developers span less than 25, some say less than 20% of their time writing in code. So if we’re able to give them half an hour back, one, they can write more code. Second, they can have a break and take a breath so we don’t burn them out and they’re more happy. Third, we give them more time for collaboration and creative thinking, so that sparks innovation. That is not something you want to cut back.
This is something you want to be able to give as a gift to your developers so they’re happy with you and you can retain them. They can do their job. They’re productive. Hence, they’re happy.
How to Measure Copilot’s Success
Lenny: I’ve talked to a bunch of engineers that use Copilot. One thing that surprised me is the most amazing engineers love Copilot. You think this would be for junior engineers learning to code better and faster, but 10X engineers say that… Someone told me it made them 50% better and faster too, which is incredible. What mistakes do you see product teams and engineering teams make when they rush to start adopting AI, integrate AI into their workflows?
Exploring AI Metrics
Inbal Shani: I think there are a couple things. The first one is companies expect a change to happen magically. Here’s a tool, go use it. And it’s not always flying the same way across all companies. So investing time in really taking the company through a change management process. The second thing that I’m seeing is that since AI is so hyped right now, there is often the questions of, oh, what should we do with AI? So there is that sense that I have to do something with AI.
Because if not, I’m not doing the right thing. Versus the question that for me is a big focus for my product team is, what is that problem that we’re trying to solve and how can we leverage AI better to help solve the problem versus what do we do with AI? So it’s really working backwards from the customer problem from what we’re trying to solve, and then realize what are the best tools that we have in order to do that work better and think through that landscape versus, oh, AI is here, we have to use it. Because if not, we’re not doing something right.
Lenny: Is there an example of that that comes to mind of someone that did that incorrectly or wasted a lot of time?
Shifting from Time to Value
Inbal Shani: It’s not necessarily examples, but I’ve been talking to some of our customers and they’re coming to us. “We heard about AI. What do you think we should do with AI? And how should we adopt AI? And can we learn from your experience?” And I’m sharing our experience. When we started thinking about AI, it was with the idea to make developers much more productive. And what are some of the things that we’ve seen? That developers have multiple tasks on them and they don’t have enough time to spend on coding.
So how can we give them time to spend more on coding and what are some of the coding element that we can automate? And from that comes the need to, okay, let’s incorporate OpenAI, let’s incorporate ChatGPT, let’s connect all of them to help create that tool that helps developer be more productive and is AI based. So I’m sharing how we went through that journey to think about how to use AI. I see a lot of the times light bulbs with the customers like, “Oh, we didn’t think about it like that.”
It’s more about we wanted to plaster AI on a lot of things versus I have this workflow and it requires a lot of manual work, or it requires a lot of configuration. Maybe I can think how to incorporate AI into that and really shorten the time or make it seamless or make it less friction for developers to adopt that tool and so on and so forth. So it’s really sharing more how we are thinking about it and helping our customers to understand the same.
AI as a Collaboration Tool
Lenny: Along the same lines, you’re talking about how you think about it with your teams. It feels like your product teams are probably living in the future of how other product teams will operate because you have access to stuff everyone else doesn’t necessarily have access to. They probably adopt these tools a lot faster than the other teams would. What are some ways that your product teams operate that other teams may not yet be operating?
Inbal Shani: In GitHub in general, it’s not just the product team. GitHub is GitHub. I’ll say we eat our own dog food, and that means that we are the first to try every feature, every capability that we’re developing. And it’s not just our engineering team, it spans across GitHub. So for example, GitHub is running on GitHub. There are several blog posts and talks. Even in the recent Universe, we had a specific talk in terms of how GitHub is using GitHub and adopting AI across software development lifecycle.
And the biggest focus for us is if we’re saying that GitHub is a developer platform and it’s more than that, it’s a software development platform, how are we making sure that all the persona that are taking part in the development of GitHub are also using GitHub? So for example, our finance team is using discussions and posts and PRs and reposts to communicate our AR numbers and so on and so forth. We have our legal team using, we have our HR team. If they like it or not, it’s a different question.
But the idea is that we’re using GitHub to run GitHub, and the product team is one of the first early adopters along with our engineering team. So for example, when we’ve tested chat and we wanted to see the quantity or the recommendation, the search, this is something that the product team was one of the first users to go and figure it out. Is it giving me the right thing that I need to do that? Is it summarizing the PR the way I want to summarize? And so on and so forth.
But we are really strong in advocating that we have to be the one testing our tools. If we cannot use them, our customers cannot use them for sure. So nothing is shipped before it spends enough months cooking inside GitHub, so we have to say this is working for us or not before we put it at the end of our customers.
Developer Tool Choices
Lenny: One of the magical elements of Copilot is how it just fades into the background. You don’t have to chat with it. You don’t have to tell it anything. It just infers, here’s what you’re doing, here’s the answer for you. If you want to use, it’s cool. If you don’t, it’s fine. Is there anything you could share about just the design philosophy of Copilot?
Inbal Shani: Yeah. The design philosophy for Copilot is very much aligned with the working backwards concept that I just mentioned. It’s really putting yourself in the shoes of your customers and figuring out what is it that they need, how is that experience going to work for them? If it’s an extra tool and if you need to ask for it and if you need to ask for it or if you need to wait for it, then developers will not adopt it.
So because we developed it for ourselves first and we wanted to experiment with that, the design philosophy was put yourself in the shoes of a developer, how would you like that experience to be? In 2020, we had a group of GitHub engineers that were working with the design team and with OpenAI GPT to really figure out how we’re going to build that and how it can work to help developers to do their job more efficiently, more productively, improve their collaboration and happiness, and so on and so forth.
But the grounding principle was the developer needs to want to use this tool. And the more you add friction, the more you add churn, the more you add complexity, the developers will not want to use their tool. We just talked about all the things that the developer needs to do in every given day. Now add to that mix, I need to learn how to adopt AI, we knew that it will not fly. So it has to be a seamlessly integration. It needs to be something that is very intuitive for developer to use to be successful.
The Joy of Programming
Lenny: What are the success metrics for Copilot? It’s such an interesting problem of measuring efficiency gains and productivity gains for engineers. What metrics do you focus on to tell you this is doing what we want it to be doing?
The Future of Hybrid AI
Inbal Shani: We are in a world that there are no right metrics. There is no one metric to rule them all. It’s a combination of the things that you’re looking to measure out of adopting AI. You can think about measuring code quality using AI. Can you improve the code quality? Can you improve the security of your code by introducing, for example, our GitHub Advanced Security using AI?
So there’s a lot of different metrics that if you combine them together are providing you with that developer productivity, and then there’s developer productivity, developer collaboration, time gain, that if you’re bringing them together are yielding the developer happiness. The biggest area of focus for us right now is the definition of productivity because we have so many users that are coming to GitHub and they’re looking for that productivity gain.
But one of the things we’re very conscious of as we continue evolving Copilot and AI across the software development lifecycle across all the tools, productivity is not the right metrics against each one of these components. When we’re implementing AI to GitHub Advanced Security, writing more secure code is the right element. It’s like how many secrets were we able to prevent from leaking? How many issues in the code we’re able to detect and find and fix before you ship that?
So I think that the world of the metrics for AI is really a big one. We are working a lot with our customers as they’re asking the same questions and they’re running their own experiments within their companies to figure out what is it that they want to measure. The most easiest one is time, but time is, it’s funny what I’m going to say, but time is not quantifiable as a success metrics because you can write really bad code really fast.
So it’s really about how are we taking time and translating it to efficiency, to productivity, to something that are harder to measure, and then how does that lead to develop core happiness, which is another harder metrics to measure. So the combination of all these input metrics leading to eventually developer happiness is what we’re focusing on.
Copilot’s Origins and Innovation Mechanism
Lenny: Yeah, it’s so interesting because engineers could end up spending more time coding because they’re enjoying it more. They’re getting more done. Also, more lines of code isn’t a good metric because you don’t want to know if those are good lines of code. That’s a classic way to not measure engineers well. So to me, it feels like developer happiness is the ultimate metric. We had Nicole on the podcast who came up with this framework, DORA, that’s an interesting way of just measuring developer experience, developer happiness.
Reasons Behind GitHub Next’s Success
Inbal Shani: Right. I think one of the things that we’re talking to customers and we’re trying to figure out how we’re articulate is instead of time, can we talk about time to value? So from the moment you put a developer on a task, how long did it take you until you realize the full potential or the full value of that, if it’s generating revenue, if it’s in adoption, if it’s time to market? You can define your time to value in different ways.
But eventually you’re investing in AI tools to help your developer to be more productive, to be more efficient, to be more happy, and then is it impacting your time to value, which is something that’s the business side that they’re looking to measure.
Growing Your Skills as a CPO
Lenny:
You can also use HelpBar to navigate your app and launch actions such as scheduling a meeting or viewing an interactive demo. The best products today use Command-K for in-app search and navigation. HelpBar makes that readily available within your app without engineering or new code, give users a faster and more delightful self-serve experience that reduces friction and increases in app engagement. Upgrade your user experience with this modern component and supercharge your product-led motion.
Sign up for HelpBar today. It’s free and easy to set up in minutes. Check it out at helpbar.ai/lenny. That’s helpbar.ai/lenny. Coming back to where this all goes, imagine you’ve seen all these demos of people like sketching a website, taking a picture, sending it to ChatGPT, and it builds the website for you?
The Failure Corner
Inbal Shani: Yeah.
Lenny: How do you see all of that sort of thing playing into this? Do you see CEOs being like, “Here’s the iPad app I want,” I’m going to sketch it for you, and then just run it through Copilot version 10 and it writes it for you? I know that you’re saying engineers won’t be cut and only increase and become more efficient, but I guess where do you see that version of it going of just like, here’s a sketch, build it for me?
GitHub Universe and Career Reflections
Inbal Shani: I’m thinking about that as a better collaboration tool versus a production tool. Because right now, a lot of the time where we see challenges in articulating ideas is the communication. It’s the clarity of thoughts. So if we can leverage AI to improve collaboration, and you basically put a drawing in front of Copilot and it helps tell the story of what is it that you’re asking your developers to do, it shortened a lot of cycles and the back and forth. So what did you mean?
Did you mean the button here, or did you wanted it pink, or did you want that application, or did you want that operating system? So if Copilot can help refine communication, and it’s becoming likely the best collaboration tool that exists in the market, especially in the global world where we are where we see communication is ongoing challenges between different personas that are taking part in coming up with an idea and basically we see AI and in our view is Copilot becoming that next natural language conversation.
It’s that translator that helps bring everyone on the same page because it’s creating that universal conversation language, the same that math used to be.
Rapid Fire Questions
Lenny: Reminds me, there’s another conversation I was having with an engineer and he was saying how he loves writing those simple functions that Copilot is now doing for him and he’s sad that it’s doing it for him, but he doesn’t turn that off. But he kind of is like, “That’s what I really enjoy. These little things that I could just crack like sort function of some sort.” I guess, is there anything you think we lose with so much of our code being written for us?
Inbal Shani: I think each developer has their own part that they enjoy doing. And you don’t have to use Copilot to write your simple code. You can use Copilot through a chat experience and use them as an AI assistant and brainstorm. We’re giving you a set of tools, and we have a scenario in mind how you should use them. But what we’re seeing is developers are using them very differently. Everyone is choosing their own flavor on how to use the tools. There is no right and wrong way to use it.
It’s a tool. It’s a language. When I was learning how to code, I used to code in C, and then Java became a thing. I’m like, oh, but this is taking away my job because I used to write all these functions and all these libraries and now Java has it all. And then Python came, which is another abstraction layer. It’s like, okay, so now I don’t even need to think about that because Python can do all of that. So it’s a matter of how you use the tools and what you use them to do what. There are areas that I will still go and write in C, even today.
I don’t trust someone inventing metrics for me in an efficient way if it needs to run on a very small CPU. So I’ll do that myself. On the other hand, there is going to be an element that I’m going to delegate to a higher obstruction tool, and that’s exactly the way I think about AI. You pick and choose how you want to use it. There is no global way that is the absolute truth that everyone has to follow. You need to think how you use your tools to do your job in a way that you’re still keeping the things that make you happy.
On the other hand, use AI to do the things that you less enjoy. Maybe you like writing functions, but you don’t like writing, testing, so generate unit testing and so on and let AI do its job for you and you still focus on the things you enjoy.
Lenny: Are you actually still finding time to code? Are you still writing some C on the side?
Inbal Shani: A little bit now. Now I’m mainly playing with my older son, so he has more time to cook, but sometimes I enjoy spending time with him and brainstorming and talking about things and architecture. I think recently a few months back, he did a project on sensors and sensors integration, and he came across common filter, which was the thing that I used to do many, many years back.
And he’s like, okay, what is it and how is it done? And then we went through that and I helped him think about the structure and the sensors fusion and all of that. And then sometimes I’m like, “Okay, move aside, here you go. This is how you…”
Lenny: Turn on Copilot. Just kidding.
Inbal Shani: Mommy’s Copilot.
Lenny: That’s so funny. That reminds me, I was watching a talk of yours and you were training tuning models and LMS way back in the day, before it was very cool. And so you’ve been in this space for a long time. Looking back, is there something that you see now of where things were going that you didn’t see at the time?
Inbal Shani: I grew up in a world of niche AI where you have to be an expert and you need to be trained for years understanding how to tune a model, what is the right output, and you needed to understand how to build a simulation to test it, how to ingest data, focus on optimization. I’ve seen the evolution of AI throughout the year with all the talking devices and conversational AI, and then it started as a single term. It came up as a multi-term.
So I’ve started seeing that trend of more democratizing AI, but I didn’t expect that boom of generative AI. Everyone that even doesn’t even know what AI is, that they need to use AI. I think that was the thing that caught me by surprise because I was so trained that you have to be an expert to use AI. So for me that was aha moments, like hmm, this is interesting. So what’s next?
Lenny: Do you have an opinion on whether large language models are the end all and be all of where all this goes and just continue to add in compute and data? Or do you think there’s another, I don’t know, something on the horizon that’s going to again completely transform the transformer model of AI?
Inbal Shani: I think we’ve pivoted very hard towards a generative AI and generalized AI can solve everything. I believe that the future is going back to scale back a bit to the niche AI. So we will live in a hybrid world where you still have specific AI models that are solving very specific problem where the generative AI will have its limitation. It’s a general purpose tool, so it can be as good as the data sets, but it also try to find some statistical recommendation. Is it good? Is it not good? So it’s limited by the training set that it has and it’s trying to be everything for everyone.
There are going to be areas where you still need to train models. For example, I spend my time in the aerospace industry and in the automotive industry. I don’t see self-driving car models that requires so much delicate, specific models, tuning, high safety regulation, all of that being developed on the ChatGPT. I might be wrong, but I think that eventually we will find ourself in the world of hybrid models and multi-models where there will be several LLM models coming together because each one of them will have their own benefit.
And then there’s going to be a niche AI or a more configurable customized model for specific use cases. So that’s my prediction of the future. But in 10 years from now, we’ll all be smarter.
Lenny: Yeah, the future hard to predict.
Inbal Shani: Yes.
Lenny: I wanted to ask, so GitHub came up with this whole Copilot idea. We had Ryan on the podcast talking about how there’s a researcher just experimenting with what can we do with a bunch of data. And then that essentially turned into, wow, this is actually working. Let’s quickly scale this and launch it.
I guess is there anything you learned from that huge success within GitHub and Microsoft to find other big opportunities? Is there something you do about how you structure product teams or create space for people to experiment with things like this to find the next Copilot?
Inbal Shani: It’s a lot about that. It’s a lot about creating that bandwidth for the team to innovate and experiment and carving that time out, but also being okay that not every experiment is going to be successful. So the shift to learn or to fail forward, these are the philosophies that I believe in. If you don’t try, if you don’t experiment, you will never innovate. And if you don’t fail, you will never learn from your mistakes, you’ll never learn from your experience, so you will not progress forward.
So really creating that ability to experiment, the same that we’ve done with Copilot or we’ve done in GitHub Advanced Security or even the way GitHub was created, it’s all that innovative thinking that the teams have that are thinking about what is that next generation use case? What is the future developer will need to be happy, to be more productive, to do their job? In a world that software development is changing so fast, you have to create that bandwidth for the next generation, the next innovation.
And if you didn’t have a chance to see that the two-day keynote in Universe, I highly recommend because we basically shared our next vision for Copilot with Copilot Workspace. We also had Satya Nadella on stage and he was very excited. He’s like, “Oh my god, GitHub, if you build that, this is amazing.” So you see that we keep on putting this vision forward again and again at least six months to a year before we even have something in the market because we’re already thinking, we’re already innovating, we’re already on the next thing.
Lenny: Is there something that you do to allow for that other than just these principles of ship to learn and it’s okay to fail? Is there a way you structured teams or resource teams? Is it like you have a percentage of time to think about other ideas, or is it just generally we’re okay failing, find time to work on other things?
Inbal Shani: It’s a couple things. One, it’s spend time with customers and learn from your customers, because a lot of the innovative ideas are coming basically from conversation with customers because they’re sharing with you their frustration, they’re sharing with you what they would like to have, they’re sharing with you what will be an amazing invention for them. So that’s the first thing is creating that mechanisms. And we spend a lot of time talking to our customers and also talking to our community.
We’re fortunate to be the home for all developers and home for all open source. Large open source foundation and small open source foundation are running on top of GitHub. So that’s another feedback cycle that we have to really gather those ideas and those asks to help us shape the future. And then the second thing is really about the teams pitching idea. It’s like, “I have this idea. I’ve been doing some research. Here’s a paper that describes what is it that I want to do,” and then we figure out, okay, when can we fund it?
How can we fund it? Can we allocate a specific bandwidth? Can we do a POC? Do we do that in that team? Do we do it as a V team? So we keep it flexible. And we also have a research team, which are GitHub vNext, that basically that’s our day job is to think about the next big innovation. But in GitHub, innovation is coming from everywhere. It’s coming from our field team that are talking to customers and are implementing different variations of GitHub for customers. And they’ll come back with some feedback or an idea.
It’s coming from the product team. It’s coming from the design team, from the engineering team. It comes from everywhere. So if you try to structure innovation, you’re losing that organic spark that is humanity. Imagine that someone say you have 15 minutes a day to be creative. I don’t think it’s the pull. So it’s encouraging that thinking more than structured.
Lenny: Can you talk more about that team that you mentioned? What is it called? The vNext team?
Inbal Shani: The GitHub Next. Yes.
Lenny: Next team. Can you talk a bit more about what that team is and how that works?
Inbal Shani: They’re basically applied scientists, research scientists that are working together, and they’re really thinking about three, five years horizon. They’re not thinking about the right now. They’re thinking about what is the future for software development is going to look like. They’re writing papers. They’re running experiments. They’re doing POCs. Their job is to invent the future.
But again, it’s really a synergy because they’re talking to the product, to their engineering, so they’re getting ideas from that. They’re talking to customers, or we’re sharing feedback. So that’s our GitHub Next. It’s basically our research team.
Lenny: And that’s where Copilot emerged out of, is that right?
Inbal Shani: Right.
Lenny: It’s so interesting because, I think I talked about this with Ryan, there’s so many companies with a team like that. Like Facebook had a famous one, New Product Experience team. Google had Google… Forget what it was called. But none of them have really been successful is my understanding and this one was. Is there anything you think you’re doing differently? Is it more science-based and research versus just product managers trying a bunch of different apps? I don’t know, is there anything you think is key to this team being successful?
Inbal Shani: I think there are two elements for that. One is having the right people with the right mindset on the team, allowing them and giving them the bandwidth and freedom to innovate. And the second thing is that we’re focusing on making things real. So we’re not keeping them far or in disconnect from the product and engineering.
There’s a lot of synergy, there is a lot of discussion, because what happens in teams that are not successful, at least from what I’ve seen, one, that the team is becoming basically an university, they write papers, but nothing is coming out of that, so nothing finds its well to production. So if you don’t introduce that, how do we take it to production from day zero when you’re thinking about a new idea? It’s rarely that it’ll go through that hump cycle and itself in production. And the second thing that companies tend to use these teams is too much tactical.
Here is that, “We need something in six month. Go invent it right now,” and then they’re basically creating another engineering or producting to think about the things that are now in horizon one. So I think in GitHub we found the right balance between having the right people, having the right mindset, but also creating that synergy between the future thinking to how we make it real, so we have a strong relationship, especially between the product team and GitHub Next, to make sure that this relationship are ongoing and ideas are flowing both ways.
Lenny: Today, you’re chief product officer at GitHub, which is I think a dream job for a lot of people. Early product managers, senior product managers want to figure out how to get to a place that you’re at today. And I’m curious what you found most helped you build the skills that were necessary to be successful in this role? Was it mentors, exec coaches, just doing the job for a long time? Anything else along those lines?
Inbal Shani: Combination. It’s never one thing, because the role of the chief product officer is so broad. You’re not just the head of products. And that’s the mindset that is now evolving in the industry is that a chief product officer is more than just the head of product. They need to have a business thinking. They need to understand their go-to market strategy. They need to understand the sales play. They need to understand how engineering are building products. It’s not just about let me write a set of requirements or think about the vision and the future.
It’s how all these components in the company are operating together to build that product. And some of that you learned from looking into the leaders that you work for and see how they’re thinking. From my first boss in the aerospace industry, I learned how to think system. Not to think just on the problem that I’m solving right now, but how the problem that I’m in charge in solving that filter that I’m responsible in tuning is connected to their control system and the ignition system and all of that and how is it eventually being displayed.
So that requires me to think from the get-go on the bigger solution, not just my component. So I think that’s one. The second thing is really thinking about the people and change management and how you take people with you, because a product manager role is a very influential role and a lot of the things you do is influencing other people. Although everyone thinks that as a product manager you get to do things, you get to write papers, but you need to influence the engineering team to build a product that you want them to build.
You need to influence the revenue team to go with a go to market and sell the product the way you envision it. So there’s a lot of influencing happening. You need to understand how to do that and building that skillset as a product manager from the get-go is very critical. So for me, it was the fact that I was fortunate enough to do different roles in the industry and learn from different people, but also looking up, looking across, and looking down into the people that I manage and what are the things I could learn from them?
What are some of the skills that they have that are not necessarily in my toolbox and how can I adopt them? What does success look like and what are some of the things that make people unhappy? And you don’t necessarily want to have these tools in your toolbox. So it’s a lot of what’s yes and what’s no in a combination.
Lenny: Yeah, it’s exactly like you said, it’s all the things combined. I really like that last point of just identifying people that are good at something that you want to get better at and just learning from them, watching them, maybe asking them questions about how they’re operating. I am trying a new segment of this podcast called Failure Corner, and my question to you is, what’s the biggest career or product failure of your career and what did you learn from that experience?
Inbal Shani: I’ll call it the biggest learning because I’m not a believer in failure. I’m a believer in learnings. And every time you fail, it’s a big learning and I prefer to look at that as opportunities. I think biggest one was likely early on when I started being a leader and the manager of a team, I’m a very go, go, go person and I have a lot of energy. And when I’m coming to something and I see all the issues that need to be fixed, it’s like, okay, let’s take the toolbox out. Let’s go fix everything. And that includes driving change.
And I’ve seen that when I started doing that without building that understanding of why we need to do a change or why this is a problem that we need to go and fix it, then you don’t take people with you through that journey. So really analyzing that not everyone appreciate change the way you are, not everyone has that mindset of the go, go, go, let’s go do it. And really figuring out, taking a step back and assessing what is happening so you can take the team with you on that journey of changing.
That was for me, the biggest learning and likely a lot of the not supportive feedback I got from the team at that time was, “You’re moving too fast. Slow down. Explain the why. Why are we doing that? How should we move forward?”
Lenny: Where did this actually happen? Which company? Which role?
Inbal Shani: In TomTom when I was leading the location-based services team. And I think for me it was one, it was the first time I was working in international company, so really figure out that my character not always fly with every culture that exists. So how am I adjusting to that? And the second thing is that they were very accustomed in working in a specific environment in a specific way. And yes, I was hired to drive change, but one, the team doesn’t have to accept. That’s your job to drive change.
And also they’re not necessarily on board with the fact that you’re here to drive change. So how you take them with you through that journey was a big learning and being able to communicate in a general way of communicating to drive clarity, that was a big learning.
Lenny: That’s actually a recurring theme on Failure Corner of the failure stories I’m thinking about is just somebody starting at a company and trying to change too much too quickly.
Inbal Shani: Right. It’s very common because we are human beings. We think that if we’re coming, we have our experience, we’re coming to a new space, and you immediately see all the things that are not working or all the things that needs to be fixed. If you’re working in the same space for a long time in the same team, you often don’t see these gaps anymore because you got used to living with them.
So as someone new, you’re coming in, you immediately see all these holes and cracks. And it’s like, okay, here’s all the things I need to fix. But you have a team that has been there for what? So how you find that bridge to communicate between the things you see and the things that they think is fine. Like, “Why are you driving these changes? It’s be working. Don’t fix it.”
Lenny: Inbal, is there anything else you’d like to share before we get to our very exciting lightning round?
Inbal Shani: For me, it’s an exciting moment in time. I’ve been celebrating my first year in GitHub and my first GitHub Universe on stage last week. It was amazing experience for me to meet our customers, our partners and talk a lot about the importance of developer experience, our AI power platform, and how we’re shaping the future. So I’m in a very exciting part of my journey with GitHub.
You don’t get here if you don’t make some mistakes and you do some learnings and you have some successes and then you take the right turn and sometimes you take the wrong turn, but you find your way to a place that makes you happy and feel fulfilled as a product leader.
Lenny: Awesome. We’re going to link to that talk in the show notes that people want to watch it. With that, we’ve reached a very exciting lightning round. Are you ready?
Inbal Shani: I’m ready.
Lenny: What are two or three books that you’ve recommended most to other people?
Inbal Shani: Failing Forward by John Maxwell, The Flywheel from Good to Great by Jim Collins, and a recent book that I read that is called Dare to Lead Like a Girl by Dalia Feldheim.
Lenny: That’s a new mention on the show. Awesome. What is a favorite recent movie or TV show that you really enjoyed?
Inbal Shani: I like a lot of fantasy and I like a lot of history based movies and theories. There is a recent one that came up on Netflix, All the Light We Cannot See. Amazing. So well produced. Really tells an interesting part of the history of World War II.
Lenny: Have you seen Wheel of Time on Amazon Prime if you like fantasy?
Inbal Shani: Yeah. Yes., I love that. It’s done. It’s a good one.
Lenny: Yeah, especially season two is like wow. It’s a lot better. Next question, do you have a favorite interview question you like to ask candidates when you’re interviewing them?
Inbal Shani: I think the first question that I really like to ask is, what is the most innovative thing you have done and why do you think it’s innovative? And it’s really interesting that there are some people that think they need to answer about the biggest invention that they’ve done, and there are some people that are very vulnerable and they talk about something very personal that they have innovated.
It shows a lot of their character. And I think the second question that I like to ask a lot is give me an example in a time where you had a disagreement with your manager, you’re in the line with your manager, and then what did you do about it and how did you go? Because it showcase a lot about your character and are you willing to stand your ground and push up when you need to? And then what is that communication skills that you have, your influential skill that you have?
Lenny: Do you have a favorite life motto that you like to share with people, often come back to either in work or in life that you find useful?
Inbal Shani: I think it’s, if you don’t take risks, you cannot create a future. I forgot who said it. I think it’s from one of the animation Monkey Luffy if I remember. But it basically summarized the life motto that you have to take risks, you have to experiment. If you feel comfortable, it’s not a good thing. You always need to feel uncomfortable to stretch yourself to go to the next thing. So that’s something that I’ve done. You just heard about my career story from applied scientist to chief product officer. Who knew?
Lenny: I love that motto. lnbal, thank you so much for being here. Two final questions. Where can folks find you online if they want to reach out and follow up on anything? And then how can listeners be useful to you?
Inbal Shani: Lots of interesting sessions and talks from Universe. So if people want to learn more about what is it that we’re doing, how we’re thinking about AI, LinkedIn is likely the best social media platform to find me where I have a chance to talk to a lot of people. These are the best places.
Lenny: And then how can listeners be useful to you?
Inbal Shani: If you can share a similar experience or a story that you think will be helpful for me as I’m thinking about, what does that mean being chief product officer for GitHub, any tips and tricks on how you use GitHub, so maybe I can learn, or share your experience and story so I can learn from your experience as well.
Lenny: Amazing. lnbal, thank you so much for being here.
Inbal Shani: Thank you so much for having me.
Lenny: Bye, everyone. Thank you so much for listening. If you found this valuable, you can subscribe to the show on Apple Podcasts, Spotify, or your favorite podcast app. Also, please consider giving us a rating or leaving a review as that really helps other listeners find the podcast. You can find all past episodes or learn more about the show at lennyspodcast.com. See you in the next episode.
Glossary
| English | 中文 |
|---|---|
| 10X engineers | 10X 工程师(指产出远超普通工程师的顶尖开发者) |
| Accenture | 保留原文(埃森哲,全球咨询公司) |
| All the Light We Cannot See | 保留原文(Netflix 剧集,改编自 Anthony Doerr 同名小说) |
| applied scientist | 应用科学家 |
| AR (Accounts Receivable) | 应收账款 |
| change management | 变革管理 |
| code review | 代码审查 |
| common filter | 保留原文(疑为 Kalman filter / 卡尔曼滤波的转录错误,一种传感器数据融合算法) |
| Copilot Workspace | 保留原文(GitHub 推出的 AI 辅助开发工作空间) |
| CPO (Chief Product Officer) | 首席产品官 |
| Dalia Feldheim | 保留原文(作者) |
| Dare to Lead Like a Girl | 保留原文(书名,意为”敢于像女孩一样领导”) |
| discussions and posts | discussions 和 posts(GitHub 功能) |
| DORA | 保留原文(DevOps 研究与评估框架,由 Nicole Forsgren 等人提出,用于衡量软件交付效能) |
| eat our own dog food | 吃自己的狗粮(指公司内部使用自己开发的产品) |
| Failing Forward | 保留原文(书名,意为”向前失败”) |
| Failure Corner | 失败角落(播客环节名称) |
| GitHub Advanced Security | 保留原文(GitHub 高级安全产品) |
| GitHub Next | 保留原文(GitHub 的前沿研究团队,原称 GitHub vNext) |
| GitHub Universe | 保留原文(GitHub 年度开发者大会) |
| go-to-market strategy | 市场进入策略 |
| Good to Great | 保留原文(书名,意为”从优秀到卓越”) |
| human in the loop | 人在回路 |
| Inbal Shani | 保留原文(GitHub 首席产品官) |
| Jim Collins | 保留原文(美国管理学者与作家) |
| John Maxwell | 保留原文(美国领导力作家与演讲者) |
| Lenny | 保留原文(播客主持人,即 Lenny Rachitsky) |
| LMS | 保留原文(此处指语言模型系统/大型语言模型的前身) |
| load testing | 负载测试 |
| Monkey Luffy | 保留原文(疑为动漫《One Piece》角色 Monkey D. Luffy 的简称) |
| Nicole | 保留原文(指 Nicole Forsgren,DORA 框架的提出者之一) |
| one metric to rule them all | 一个指标统领一切(源自《指环王》的经典表达) |
| penetration testing | 渗透测试 |
| POC (Proof of Concept) | 概念验证 |
| PR (Pull Request) | 保留原文 |
| Ryan | 保留原文(Lenny 在其他访谈中提到的对话对象) |
| sales play | 销售打法 |
| Satya Nadella | 萨蒂亚·纳德拉(微软 CEO) |
| Shopify | 保留原文(电商平台公司) |
| time to value | 价值实现时间(从任务启动到实现业务价值的时间跨度) |
| TomTom | 保留原文(荷兰导航与地图技术公司) |
| Wheel of Time | 保留原文(Amazon Prime 奇幻剧集,改编自 Robert Jordan 同名小说系列) |
Reformatted by reformat_english.py