我的传福音之路

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前,正在 星球 内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 204 小节,累计 32w+ 字,讲解图:1416 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 870+ 小伙伴加入,欢迎点击围观

所以,我经常被问及我是如何进入技术宣传/布道 1 的 ,所以看起来最具成本效益的回答这个问题的方法是写一篇关于它的帖子。警告:这是一个很长的!

首先,让我警告一下(我总是有警告,不是吗?),“这是我的个人经历”。可能还有其他方法可以扮演这个角色。

博客的任何长期读者(我爱你们!!)都会知道我在做任何这种环游世界的会议演讲之前就开始写博客了。我开始写博客有几个原因:

  • 即使是“那时候”(大概在 2007 年左右),在日常工作之外拥有一些东西来让你与其他求职者区分开来也绝对是一个优势。我对开源感到不自在,Stack Overflow 还没有发明(即使它已经发明,我不确定我是否会觉得自己有足够的知识来回答问题),而且我学到的大部分东西都是为了提升我的技能是通过像 Joel Spolsky ​​Rands in Repose 这样的博客。
  • 我真的很喜欢写作。我“长大后”想成为的(许多)事情之一是作家或记者。我没有走那条路,因为我想如果我这样做,我将永远贫穷。然而,如果我开始在博客上练习写作,我就会学会发声,如果我真的开始写书,我就会向图书出版商展示一些东西,就像我一直想做的那样。

如果您曾经创建过博客,您就会知道问题在于思考要写的内容。我通常会记录我在工作中遇到困难的事情,因为 a) 如果我在使用现有文档时遇到问题,其他人也会遇到 b) 我的记忆力就像金鱼一样,所以即使没有别的,它对我也很有用。但我花了很多年才真正认真对待博客。

2008 年底,我加入了 伦敦 Java 社区 ,主要是因为我在纽约工作了一年后回到了伦敦,并且 a) 我需要一份新工作(在危机最严重的时候,我最近的经历全都没有了)金融市场!)和 b)虽然我在伦敦有朋友,但我需要重建我的社交网络,我正在使用 meetup.com 来做这件事。我尝试了很多其他的聚会小组,但像许多极客一样,我发现如果没有共同的技术或代码可谈,就很难与人建立联系。

最终我在 LMAX Exchange 工作,因为我们一直在寻找敏锐、聪明的开发人员,所以我开始更多地参与 LJC,这样我就可以帮助我们雇用我真正想与之共事的人。在此期间,像 Martijn Ben John ,当然还有 Barry 这样 的人都在有意无意地鼓励我做一些技术演示。我在那里看到了很多不同的演讲,一些来自供应商的专业布道者,但很多来自像我这样的“普通”开发人员。这让我觉得 a) 我应该这样做(对你的个人资料/职业等来说很棒)和 b) 我 可以 做到这一点。

当然,我看到很少有女性出席(我确实记得 Fabiane 的精彩演讲),女性成员也很少。许多成员认为我是一名招聘人员,甚至在我开始尝试与人们聊天之前,好吧,为 LMAX 招聘他们。在见到某人的前 2 分钟,如果他们不直接问我是在招聘还是 HR,我总是会明确表示我是 Java 开发人员。这很乏味,但我已经习惯了。有趣的是,一旦明确我是一名 Java 用户,人们似乎就接受了这一点,并像对待其他技术人员一样对待我。

我认为这是我决定开始做演示的原因之一——我可以 a) 展示我自己的技术证书,这样我就不会花更少的时间进行这些令人厌烦的对话(顺便说一下,这似乎奏效了)和 b)使看到女性技术人员变得更加正常,希望尽量减少其他女性面临相同假设的次数(我不确定这是否有效,因为我只有自己的经验可以看)。

但这些想法只是在我脑海中浮现,我并没有实际 任何事情。在 LMAX 工作的这段时间里,似乎有很多东西 可以 写在博客上,或者可以谈论,但我从来没有真正抽出时间去做。另外,我不确定我可以谈论什么,不应该谈论什么。所以很明显,在这两年里,我总共只写了 6 篇文章,而且我从未在 LJC 做过一次演讲。

然而,我真的很想做展示并且有时间/灵感写博客,所以我选择离开 LMAX 并加入 ThoughtWorks—— 他们正在寻找顾问,我知道这是一家重视博客和展示的公司,我有过通过 LJC 与他们的人有一些接触,几年前,我看到他们在 伦敦 QCon 上发表演讲,这实际上是我最初写博客的灵感。我告诉 LMAX 这就是我要离开的原因,然后我就走了。

现在是 2011 年,我加入了 ThoughtWorks。我在未分配到项目时恢复了博客,我投入时间将博客移植到更明智的平台,并尝试每天写一篇博客。再一次,我选择了我可以轻松谈论的话题——我谈到了我作为 初学者第一次尝试 Android 的 经历(有时人们会对初学者大发雷霆,但实际上许多真实的人无法告诉你你错了当你只是谈论你自己的经历时),尽管我最初打算以零性别身份写博客(我真的很害怕如果我写了关于技术主题的文章并且我错了,或者非常初级,我会给女程序员一个坏名声)我决定写一篇关于“技术领域的女性”的博客。再一次,我在这里提出了我的个人意见/经验,这只意味着人们可以批评你(意味着人们比正确的人更容易被忽视 :) )

我也很幸运能够在 Martin Fowler 在伦敦的时候亲自见到他。我们边喝酒边聊(毕竟这是在伦敦)关于技术领域的女性(ThoughtWorks 在这个问题上非常重要,并决心在这个领域做一些积极的事情),我在抱怨缺乏女性特定的会议。他问我是否为会议提交了演讲。我??当然不是!我还没准备好!我无话可说。我没有得到这样做的许可,也没有得到如何做的指导。我什至还没有在用户组中展示过。但这确实让我思考 - 我说我想展示,那么是什么阻止了我?我是否需要有人指导我完成它,将其作为任务分配给我?这要靠我来实现。如果 Martin Fowler,他在 5 分钟前刚刚见到我,认为我已经准备好这样做,那么谁能告诉我我还没有呢?可能发生的最坏情况是什么?

当然,后来生活遇到了阻碍——我被分配到几个项目,所以博客就停止了。我有兴趣参加会议或在会议上发言,但很长一段时间内不会有任何 ThoughtWorksy 可谈。而现在,因为我要前往分配给我的项目,所以我什至没有时间参加 LJC。

在这一点上,LMAX 打电话告诉我他们在 QCon San Francisco 上所做的演讲 “如何以低于 1 毫秒的延迟实现 100K TPS” 非常受欢迎,他们正在开源 The Disruptor 并想做围绕这个传福音——我想回来帮助 a) 传福音和 b) 协调公司的传福音吗?是的,是的,我做到了。所以,仅仅 3 个月后,我就退出了 TW,回到了 LMAX 2

回到 LMAX,我开始更加认真地对待传福音。

我试着每周都写博客——我留出星期天写博客(幸运的是,当时我是单身,并且没有因为 LJC 之外的社交生活而​​负担过重)。我不想一个人坐在我的小公寓里,所以我会带着闪亮的新 Macbook Air 去酒吧,这是专门为写博客而买的(感谢 ThoughtWorks,你宠坏了我——我投资后需要一台 Mac 3 个月来掌握你给我的那个)并 写点东西 。这并不总是令人惊奇,但我会做点什么。在这一周里,当我有想法时,我会在博客工具中记下标题,以便在周日到来时我会选择一个并付诸实践。早期它相当容易——我们发布了一份关于 Disruptor 的白皮书,但我发现很难理解它的真正含义,所以我在星期天花时间写了一些较短的文章来分解它的工作原理和使用方法。我需要 Martin Thompson Mike Barker 的很多帮助才能理解它,但他们对我很有耐心(而且我认为他们很高兴 有人 在写这篇文章,而不必是他们)。他们选择了更重、更复杂的主题,而我把我的东西推给了像我这样的开发人员。当我用完 Disruptor 的东西时,我转向了积压的主题——我通常对博客有更多的想法而不是写博客的时间,所以我最终有一个很长的列表可供选择。关键是在你想到它的时候就把它记下来,而不是在你坐下来写博客的时候试着去想一个话题。

我协调了我们的活动,并在我创建的新 LMAX 博客上公布了它们。自从 他的书 出版以来, Dave Farley 经常介绍一些与持续交付相关的东西,而 Martin 则在谈论硬核并发的东西。

迈克和我更多地参与了 LJC,而不仅仅是招募人员。我们参与了 JCP 和 OpenJDK——因为 LMAX 正在用 Java 做尖端技术,我们想看看这门语言的发展方向,如果可能的话,也想影响它。

Martijn 一定受够了我在演示领域缺乏动力,因为他几乎是在强迫我做我的第一次演示。以一种很好的方式!但他告诉我我已经准备好了,他在我做之前检查了我的内容,然后我就 JCP 做了一个简短的演讲。

在这一点上,我的计划是用第一年的时间在 JUG 做简短的演讲,也许在年底之前我会做一个更长的演讲,或者可能是第二年,然后是第三年提交参加会议。

好吧,有像我这样出色的导师,这并没有发生。 Martin Thompson 原定在那年年底(还是 2011 年)在 JavaOne 上做演讲,我很幸运在最后一刻拿到了一张票(我们获得了 Duke 的创新编程框架选择奖 ,LMAX 很棒足以让我拿到大会的入场券来领奖,因为传福音的努力和写博客对我们赢得这个奖项有直接的影响)。马丁问我是否愿意和他一起出席。这当然是可怕的!我什至没有在 LJC 做过完整的演讲,我几乎没有参加过会议,更不用说在世界上最大的 Java 会议上发表演讲了!所以我说是的。这些机会并不是每周都会出现。这是 Martin 之前多次发表的演讲,如果我吓坏了,他会在那里收拾残局,而且我知道这些材料,在过去的 6 个月里,我一直在写关于它的博客并回答问题。

真的和我想的一样可怕。但。进展顺利。我回答了困难的问题。我们得到了很好的反馈。

JavaOne 2011 是我布道生涯中的一个重要里程碑。我不仅把这次演讲写进了我的简历,我还结识了这个网络中的很多人:Martin 向我介绍了很多高绩效专家; Martijn 和 Ben 向我介绍了参与 JCP 的人,以及其他 Java 用户组的领导者,我们不知何故进入了 O'Reilly 聚会——我终于见到了一位图书出版商,离我写书。我还遇到了 Duchess 背后的女士们,她们把我介绍给了经营 Devoxx 的 斯蒂芬 。事实证明,这是将我对面板的想法变成 Devoxx 现实的重要一步。

这是十月。到今年年底,我还 与 Mike 一起在 JAX London 以及在 Devoxx Belgium 的一个小组中 进行了展示,这在很大程度上要归功于我所建立的联系以及在我的带下进行 JavaOne 演讲的声望。所以我从那年年初的基本零(我的博客已经沉寂多年,没有演讲经验)到拥有一个每月点击量上千的博客,并成为一名“国际会议演讲者”。在很多方面我都很幸运,因为 Disruptor 是一个非常有趣的技术主题,开发人员认为他们应该了解这个领域(高性能)。但我相信更多的是 a) 决心完成这项工作,即使这意味着我要用自己的时间写博客和准备演示文稿,以及 b) 推动我去做并向我开放他们的网络的出色导师,这促进了这一点快速上升。

老实说,在那之后事情变得容易多了——我有在会议上演讲的经验,我让 Martin 和 Martijn 向我推荐会议(并在适当的时候向我介绍合适的人),这让我进入了 QCon/GOTO 循环并进入OSCON。有了我的演示视频,再加上我博客的影响力,我也有人来找我做其他活动,比如我访问过的城市的用户组,以及我从未听说过的会议。我认为我是女性这一点很有帮助,因为会议总是积极寻求增加多样性(无论有时看起来如何!),但我认为任何人都可以遵循这些步骤并获得类似的结果。

在那之后我不会过多谈论我的职业生涯,因为那确实是一个转折点——在那之后它几乎是一样的,真​​的。我会说我离开 LMAX 是因为成为一名全职开发人员 做宣传的压力很大,尤其是当你不再单身并且你没有以前的空闲时间时。我加入 MongoDB 是因为他们以了解技术社区而闻名,并且因为他们正在寻找一位将继续担任工程师的布道者(尽管不是每周工作 40 小时)。我认为他们可能在没有以前经验的情况下雇用了我,但博客和演讲经验对于后来成为我老板的人来说是一个很大的卖点。我最终将它们留给了 JetBrains ,因为随着时间的推移,您会了解到作为倡导者/教育者的最佳点是什么,以及您的兴趣是什么。在使用 MongoDB 两年之后,我知道我真的很想专注于 Java 和 JVM,而 JetBrains 更适合这一点。我很确定如果 没有 a) 会议演讲经验 b) 已经通过会议巡回赛为团队所熟知,我就不会得到这份工作。

出色地。那是一个巨大的职位。这就是我多年来一直推迟写这篇文章的原因。这只是我自己的故事,我脑子里还有另一篇文章是关于你在试图向你的组织推销传福音/宣传的价值时所面临的挑战(也许还有一些建议)。但那是另一天。

最后,我将尽量给你留下要点,如果你想成为一名技术倡导者,或者只对某些方面感兴趣,比如写作或展示,我希望这些对你有所帮助:

  1. 加入用户组。我不能, 不能 强调 LJC 对我的职业有多么重要。如果您什么都不做,那么这就是可以帮助您的一件事。你会遇到会激励你或给你所需的支持的人。请记住,这些人中的许多人,像我一样,在成为博主/作者/演讲者之前都是像您一样的开发人员。如果他们可以,你也可以。这些人也有网络,不管你喜欢与否,真正重要的不是你知道什么,而是你认识谁(但不要让它让你失望 - 遇到合适的人比成为某种超级人更容易 -专家!)
  2. 出席用户组。最好让他们把它录下来——你可以在提交给会议的文件中使用它,如果不是盲目的 CFP,他们会喜欢看你风格的例子。有一个例子,即使一个你认为不是很棒的例子,也比什么都没有要好得多。 (此外,这不是一篇关于成为更好的演讲者的博客文章,而是观看您自己的视频 - 前几次 非常 痛苦,但它会变得更容易并且会帮助您改进)。
  3. 准备好投入你自己的时间。我在周末写博客并准备演讲,即使是为那些重视传福音的公司。我放弃了晚上参加用户组。这在您可能也有一份日常工作的早期尤为重要。这项投资应该会有回报,要么你的公司会学会看到它的价值并给你更多时间(让开发人员参加 LJC 并在 LMAX 的演讲中非常成功地招聘 LMAX),要么你会得到一份更适合的工作你想做什么。
  4. 你不必谈论一些很棒的事情。我对 Disruptor 很幸运,真的。但我们在 Sevilla Java 用户组中最受欢迎的主题是“……简介”主题,尤其是那些不再前沿的东西——并非所有开发人员都是早期采用者,现在他们需要概述“为什么使用 NoSQL”或“什么是 Docker”。
  5. 你不必太棒了。您的博客不必是完美的英语(特别是如果您不是本地人)。它只需要清楚地描述您要解释的内容。演讲时,您不必是 Damian Conway (我最喜欢的演讲者之一)——根据我的经验,演讲者可以 提供出色的内容或 提供出色的交付,实际上您不需要两者。我去过的会议中,演示者都没有真正参加过会议——你必须从某个地方开始,而且观众出奇地宽容(尤其是在用户组)。
  6. 寻找导师。听他们说。你甚至可能不认识他们,你可以看看他们在做什么。但我鼓励你找到真正的人,他们离你想去的地方更近一两步。与他们交谈,让他们知道你想要什么。让他们欺负你去做可怕的事情。
  7. 做你自己。找出你的长处和兴趣,并发挥它们。我害怕通过博客或会议成为一名女性开发者,但事实证明这是一种优势。我担心因为我不是 Martin Thompson,所以我不可能谈论困难的技术主题。但我不必成为他,我可以成为我 - 我可以将事情解释到我需要理解的水平,这样其他像我这样的开发人员就可以赶上我。我们不需要都是天才级别的。
  8. 做让你害怕的事情。可怕的事情是让我走得最远的事情。

我希望这可以帮助别人。


1 传福音/技术宣传 - 我可以互换使用这些术语。 Evangelism 是几年前的通用名称,但许多人对宗教色彩感到不舒服,因此更喜欢 Advocacy。
2 这就是为什么我经常谈论在 ThoughtWorks 工作一分半钟——我真的很喜欢这家公司的很多东西,但我真正想做的是在一家我已经了解的公司提供给我的,在那里我可以立即开始,无需任何加速