帮助与启迪 – 专访 JetBrains 技术布道师团队负责人 Hadi Hariri
C++ 工具产品营销经理 Anastasia Kazakova 对话 JetBrains 的开发技术推广工程师团队负责人 Hadi Hariri,畅谈如何指导、帮助和启迪人们。
作为技术布道师,您离用户和您合作的产品团队哪个更紧密一些?
我认为我们处于中间位置,技术布道师保持中立很重要。 我们的作用是架起产品团队和用户之间的桥梁。
好的。如果全球有成千上万的开发者都要求获得某项功能或错误修正,但产品团队却认为这种特殊需求不是重中之重,那么处在中间的您,会如何支持开发者?
我认为,就像其他任何事情一样,当你需要某样东西时,就应该向人们解释其重要性和价值。 在 JetBrains 尤为如此,因为我们没有所谓的“指挥-控制”结构。
如果开发者们强烈要求获得某些功能,但产品团队缺认为这些功能不是必要的,我会尽力理解产品团队的视角,了解他们为什么不同意。 在这种情况下,我不会说:你看很多人都支持某个功能或者错误修正;也不会说:每次我参加会议人们都在谈论这个功能或者错误修正,因此我们应该增加这个功能或者错误修正。 我会再次以中立者的身份,而不是完全用户的角度,努力理解为什么产品团队认为它处于较低优先级,并看一下他们或者我自己是否遗漏了某个角度。
您会再把这些想法与开发者社区沟通吗?
通常会的。
帮助宣传一款受欢迎的好产品很容易。 但如果产品远非完美,该怎么办? 您是如何处理的?
我认为,技术布道师的职责之一就是切实找出产品的缺点,并将其反馈给产品团队。 了解用户不满意的原因,明确产品还缺少什么,并将这些信息反馈给团队。 我认为从长远来看,将此类信息反馈给团队有助于改善我们的产品。
这并不是说我们总是应该以产品接受度为目标。接受度高当然更好,但我们应该从另一个角度出发,开发出人们期望的好产品。 所以,这项工作的部分职责就是试用并提供反馈意见。
如此说来,您是否觉得您个人对所代表的产品负有责任? 往大了说,是否对公司的成功负有责任?
我觉得,在为产品和公司的成功做出贡献方面,我的角色和其他人的角色没有什么差别。 我们每个人都有不同的角色,从事不同的活动,各司其职而已。
请您用几句话简要说明,担任技术布道师对您意味着什么?
为人们提供指导和帮助, 并启迪他们。
帮助与启迪。 我们先从帮助说起。 技术布道师可以通过哪些方法帮助产品成长?
首先也是最重要的,我认为任何技术布道师都应该对他们所代表的产品充满信心。 因为如果不是这样,那么这份工作就会很困难做,让人感觉无所适从。 如果你觉得产品能够切实对他人有益,那么你需要做的就是向他人展示:产品如何能给他们正在做的事情锦上添花。
技术布道师真正需要做的是了解用户,了解他们的目标和日常工作中努力实现的成果。 然后,向他们展示他们如何能够通过我们的产品更好地超越自己,更好地实现自己的目标。
正如我们常说的,我们要做的不是推销特定的功能。 这个与销售产品无关, 而是给用户赋能。
您刚刚说认可自己代表的产品很重要。 那么您如何让开技术布道师认可某些特定产品? 还是说您只聘用那些认可某些特定产品的人?
我想说的是,我通常会聘用认可我们正在做的事情的人。 而且,通常我只聘用使用我们产品的人。 到目前为止,除了最多一两个特例外,这基本上是我遵循的经验法则。
我们聘请的人通常是我们产品的用户,他们支持我们的产品,并且认可我们的产品。
好的。 现在我们来进入第二部分——启迪——您如何启迪他人?
对此我没有任何想法(笑)。有时人们告诉我,我给他们带来了启迪,但我也希望知道我是如何启迪他们的。 “启迪”这个词用得有些大。 正如我在演讲中说过的或在许多活动中得到的体会一样,我认为我的工作职责之一就是引发人们去主动思考,有时候对已经做出的决定重新思考,激发他们了解更多信息的欲望。 所以,如果可以用“启迪”涵盖所有这几层含义,那就是它了。 我想说的是,主要是鼓励人们再向前迈出一步,暂且不论这一步具体是什么。
那么您如何选择您要做的任务? 任务是来自团队、社区,还是您自己制定?
可以说,有点儿像产品管理。 这实际上是我第一次这么说(笑)。 我们来思考一下,以产品管理为例,你需要倾听不同渠道的声音。 你有自己的创意想法,然后你需要收集用户的反馈,找出产品存在的差距,再与团队成员和其他实际使用产品的用户进行沟通,弄清楚他们使用的产品和想要的产品。 在决定接下来应该做什么以及如何确定优先事项时,有很多因素需要考虑。
对我们来说,也差不多是这样。 我们与产品团队合作;尝试跟踪产品进程,然后决定我们的工作重点。 倾听社交媒体的声音,倾听用户反馈,了解人们在哪里遇到了问题——所有这一切都有助于我们决定下一步要做什么。
您加入公司多久了? 您经历过的最大变化有哪些?
9 年半了,今年是第 10 年。 我们现在有将近 1,200 名员工。 当初我加入公司时,公司只有大约 140-150 人左右。 我猜最大的变化是有形增长。但老实说,我不知道实际情况如何,因为我一直都是远程办公。 每次我去办公室时,我不知道某个人入职公司一年了还是七年了,但是联系密切或者经常联系的那些人除外。
但这些年有些事情确实发生了变化。 我们增添了某些流程,公司规模较小时通常不需要实施这些流程。 但实施的这些流程都是必要的,需要落实到位,因为随着公司的发展,每个人都应该有明确的职责分工。 需要设定具体的流程,让人们清楚应该与谁对接,或者接下来应该做什么。 这是我感觉变化最大的方面。 说得明确点儿,我所说的流程并不是指官僚主义。 这方面 JetBrains 做得很好,没有官僚主义!
您提到您在远程办公。 我猜 JetBrains 的大多数技术布道师都是远程办公。 这种模式有何利弊?
我有 20 年的远程工作经历。 因此,如果你问我远程办公是否有任何缺点,我会说“没有”。
我相信在办公室工作确实有一些好处,比如很棒的会议室和漂亮的食堂! (笑)。 但除此之外,我认为远程办公没有其他不利条件。 对技术布道师来说尤为如此,因为基本上这个工作的大部分时间都是在路上。
我知道很多人会说,联合办公或在同一个办公室工作沟通更流畅,关系会更好,等等。 当然,可能是这样。 但我不认为远程工作就不能有流畅的沟通和融洽的关系。 在 JetBrains,我需要和许多人打交道。 我用心构建与他人的关系,我认为即使是远程工作,这些关系也很重要。 但是因为是远程工作,不会在食堂里经常碰面也不会攀谈,因此建立关系难度更大。
你可能会说,这是远程工作的一个“弊端”或缺点,确实是这样。 但是,当公司规模达到 1000、2000、3000 人时,碰面或攀谈的频率是多久一次? 一天工作结束时,你可能会与 50 到 100 个联系最紧密的人有过合作。 你无法分身,无法与公司中的每个人都建立关系。
远程工作的缺点之一是维系关系有些困难,但是一旦建立了关系,我觉得这与在同一个办公室工作相比,并没有什么很明显的缺陷。
现在我们来看看 JetBrains。 我们在圣彼得堡、慕尼黑、布拉格、波士顿、新泽西以及世界上许多其他地方都有很多员工,距离我们很远, 所以从本质上讲,我们在某种程度上都是在远程工作。
没错, 您的整个团队都是在远程工作。 您觉得领导一个完全远程的团队有困难吗?
我不喜欢“领导”这个词,有点儿高高在上的意味。 给我的感觉是爱摆架子。 领导团队这个话题非常广泛,我们可以就此聊上几个小时,但就您提出的领导远程团队这个问题,我认为非常重要的是培养关系,让团队成员广泛交流,同时与其他团队广泛交流。 我非常重视这一点,总是努力召开视频会议,而不仅仅是语音会议。
无论是领导/管理还是任何其他表述,我坚信建立关系是使事情向好的方向发展的重要一步,一些管理者可能会觉得远程工作很具挑战性。 除此之外,我认为没有太大的不同。
看起来你们所有的个人沟通都是在线进行的。 这需要具备什么样的品格? 人人都可以吗?
我不认为所有沟通都是在线的,但由于是远程开展工作,因此很多交流显然都在以虚拟方式进行。 是不是人人都可以做到或不能做到,这个我不适合进行评判。 每个人都知道自己的能力,我相信所有人都可以做到——对某些人来说会容易些,而对另一些人来说可能更具挑战性。
就技术布道师的性格而言,这个角色需要进行大量交流,可能是进行演讲时、开会时与人们沟通、或与客户交谈,可能是一对一交流也可能是与一群人交流。 这需要一个能够游刃有余地做好这件事的人。 这个人应该不觉得沟通具有挑战性,也不会试图回避沟通。 是个喜欢与人交往的人。 虽然我不喜欢贴标签,但是我们可以将这种人称为“外向性格者”。
您如何为自己的团队寻找这样的人? 您的一般标准是什么?
我会在面试时与他们聊天。 我问他们一些特定的问题——其中很多是非技术性的问题。 他们的技术或能力水平、在公共场合的讲话风范、写作风格、表达自己想法的方式,所有这些都是我要评估的方面,或者查看他们的简历,了解他们的背景或曾经做过的工作。 但是我在面试时谈论的是其他事情。 我们假设面试中会问 100 个问题(实际上没有,只是假设),其中 70 个将是非技术性的问题。
我们聊生活。 聊他们如何看待社区,社区中发生的事情。 他们对这些有什么看法。 他们如何看待多元化。 他们如何与严厉批评者互动,或者如何与自己所代表的产品团队/公司互动。 如何与评价他们销售的工具绝对是垃圾的人进行互动。 如果他们觉得我们的工具在某些方面不好,他们会如何互动,他们是否会开诚布公地说出来。 他们会怎么做? 他们会先去和产品团队沟通吗? 会向公众承认我们的工具不好吗? 我会提出这类问题,通过这些问题了解我将与之共事的同事是个什么样的人。
您会期待得到具体的回答吗,还是说仅聆听应聘者如何表达自己的意见?
期待某些类型的答案时,总是会产生偏见。 我认为很多时候,我可以向应聘者学习。 你知道吗,这很有趣,最近我们在莫斯科举办了 JetBrains 之夜活动,他们当时问我,“您面试时一定会问哪个问题?” 面试时我经常问的一个问题是:“我们有一个涵盖某些技术的工具。 你深知这个技术不是一个很好的解决方案。 如果他们问你,你是否会公开分享你的观点,表明自己因为某些原因而不喜欢这个工具? 虽然可以用工具来弥补。”
举个例子,WebStorm 支持 AngularJS。 根据我自己的使用体验,我总体上不认为 AngularJS 是一个很好的解决方案。 如果有人问我对它的意见,我会说出来。90% 回答这个问题的人说,“不,我不会公开表达我的意见。”我不禁想知道,是不是我一直以来都做错了(笑)?
撇开玩笑不说,我仍然坚信对于技术布道师来说,最重要的一件事就是诚实和正直。 你不能说:“因为 X、Y 和 Z,所以我非常不喜欢 AngularJS(或任何技术)”,然后给出不仅仅是感觉的合理理由进行说明,但是当有人问:“你喜欢 AngularJS 吗?”时,你却说:“是的,当然喜欢,那是一项伟大的技术”,因为我们的产品对它提供了大力支持。 这不会引起我的共鸣,因为我不相信这是诚实的回答。 所以诚实是根本! 对所有事情都是如此。 对我来说,这是最重要的事情之一。
但人们经常责怪技术布道师(不是指 JetBrains 的技术布道师,而是通常情况)不够诚实。 他们声称技术布道师的部分工作职责只是在市场上推广特定技术或工具。
是的。 我想说,这正是优秀的技术布道师和糟糕的技术布道师之间的区别。 许多公司让他们的开技术布道师处于这样一种位置,就是必须推广某个产品,将其推向市场,而不管他们个人对该产品持什么想法,也不管该产品是否会帮助到他人。 幸运的是,JetBrains 不采用这种方法。 首先也是最重要的,JetBrains 的技术布道师不属于其他任何部门。 既不属于市场部门,也不属于销售部门, 而是一个独立的部门, 与教育紧密相关。 对开发人员各个方面的培养。
细看我们的团队,你会发现,我们的很多演讲甚至与我们的产品没有直接关系。 事实上,这对我们来说更具挑战性,以一些云服务提供商为例(现在世界上有很多云服务提供商),他们涉足云部署、云协作的很多方面,他们通过技术手段销售云。 然而对我们来说,作为 JetBrains 的技术布道师,我们很难说“让我来给您展示 GoLand 的提示和技巧”。 现在它更好用了,对于 IntelliJ IDEA 来说更是如此。 通常,人们会认为这是“营销套路”而拒绝我们。 然而事实并非如此, 我们真正的用意是向人们展示如何从产品中获得最佳益处。
回到正题,我们在会议上谈论的许多话题通常都与软件开发有关。 重点是如何进行 Spring 开发,或者如何提高 ASP.NET 的安全性,或者如何做其他一些事情。 我们甚至不会直接销售产品。 当然,也有一些例外,比如 Kotlin。 不过话说回来,Kotlin 是免费的(笑)。
您的解决方案是让人们相信您是诚实的吗?
我不认为这会涉及到使人们相信我是诚实的。 你在生活中采取的行动就可以表明你是否诚实、正直, 而不是你在会议上发表了什么类型的演讲。
就像我前边在谈论招聘时提到的那样,聘用的人需要认可他们要做的事情。 我们一直鼓励同事,首先需要考虑的是用户而不是产品。 如果他们认为我们有的工具不适合客户,那么他们应该清楚地表明这一点。 我遇到过很多次这种情况,就是人们找到我,告诉我说:他们在使用 Java 或 Scala 或其他一些语言时遇到了某些特定情况,不确定是不是应该转而采用 Kotlin。 我试着理解他们的问题,很多时候我都建议他们不要转而采用 Kotlin, 因为这么做对他们遇到的特殊情况没有意义。
首先也是最重要的一点是,要理解你正在做的事情可以帮助人们做得更好。
谈到效率,您可能需要弄清楚如何衡量效率。
是的。 这是多年来我们一直在面对的一个挑战。 我还没有找到全面的解决之道。 虽然已经取得了一些进展,但还不是全面的解决方案(笑)。
对于您已经学到的东西,有什么实用的方法进行衡量吗?
要是我知道就好了! 这个非常难。 我们正在尝试收集一些数据,找出我们开展的某些活动之间是否存在任何相关性。 在某些情况下比较容易,而另一些情况则不然。 例如,我们建立了一个系统,目的是查看我们所创建内容的观看时长以及阅读/观看百分比。 对于 Kotlin 而言,我们已经从理论进入到实验室阶段。 我们称它为动手实验室。 现在我们可以跟踪实验室完成的百分比。 有几种方法。 强调一下,这个不是要证明什么,而是尝试寻找使工作更有效的方法。 因为现实情况可能是,我们在一个没有意义的领域花费了大量时间和精力。 而且你不能总是依赖未经证实的反馈。
例如,就我的经历而言,在参加会议时,许多公司来找我,问我 JetBrains 如何衡量会议效率。
是的,就是这个问题。 一些大公司制定了衡量指标,目的是弥补不足。 很多公司的开技术布道师都是我的朋友,他们确实需要完成大量汇报工作,因为他们的经理必须向上级证明其工作是合理的,等等。 他们制定了愚蠢的衡量指标。 他们说:我要制定我可以确保达到的指标。 他们朝着这些指标努力。 而我们不这样做。 但我仍然认为,尝试弄清楚我们正在做的事情是否有效或者如何提高效率对我们来说很重要。
举个例子,我曾多次考虑停止 Talking Kotlin 这个播客 (http://talkingkotlin.com/)。 我想知道我是否真的应该继续做这个播客。 虽然它不会占用我很多时间,大概每个月合计 5 个小时。 但我几乎没有得到任何反馈。 我可以衡量收听次数,但是这个数字有什么意义呢? 有多少人因此采用了 Kotlin? 还是我们应该只专注于影响力? 这取决于我们要衡量什么指标。 如果我创建了一个只有 100 人收听的播客,而碰巧这 100 人中的 1 人来自一家非常大的公司,该人研究了 Kotlin 并与其他人分享,该公司最终采用了 Kotlin,这是一个重要的成功范例……那么覆盖更多听众这一指标就是无关紧要的。
我为什么继续做 Talking Kotlin 呢? 因为到现在为止,我仍然很喜欢做,而且很多参会的人来找我,告诉我他们喜欢这个播客,并因此采用了 Kotlin。 这些都激励我要将这个播客继续做下去。 但这还只是未经证实的反馈。 从另一方面讲,如果你查看 Twitter 消息或播客中的评论,反馈并不多。 这有时不禁让我怀疑,人们这么做是不是仅仅出于礼貌。 :)
听起来好像没办法衡量。
这取决于你要衡量什么。 但你也可能会陷入圈套,说:“好吧,既然无法衡量,我会继续做下去,因为我*认为*它很好”。 然后你完全忽略质疑——这是否真的能够带来价值这个问题。 我不完全确定我想衡量的一切是否都能衡量,但我相信不断挑战自己、提升自己很重要。如果你没有进行自我衡量的标准,那就很难进行衡量。
再回到沟通这个问题上。 外部和内部沟通似乎是您工作中最有价值和最重要的部分。 您总是帮助公司内部人士进行沟通。 您自己是如何掌握这项技能的?
我不知道自己是怎么学来的。 我想可能是这些年来一直在做这份工作的缘故吧。 我刚开始在一家咨询公司工作,担任软件开发者,我们开发定制软件。 所以我很早就必须学习如何与客户打交道,如何与他们交谈以及如何理解他们。 后来,我又为产品(工具)公司工作多年。 我也经营自己的公司,这迫使我再次学习使用不同的词汇与人交谈(与开发者交谈的方式和与商务人士交谈的方式不同)。 所以,我认为这只是年复一年与客户和其他人互动的结果。
有几本书对我很有帮助。 一本是《人性的弱点》(戴尔·卡内基)。 在我职业生涯的早期,当我傲慢、不受人欢迎时,我有幸读到了这本书。 我了解到,要想在生活中有所成就,就不能保持那种姿态。
但总体而言,对我来说,沟通是我一直在学习的东西。 从我的错误中吸取教训,并观察其他人所犯的错误。 所以我仍在学习如何进行更好的沟通。
谢谢您,Hadi! 祝一切顺利!