So, I get asked a lot about how I got into technical advocacy /
so it seems like the most cost-effective way to answer this question is to
write a post about it. Warning: it’s a long one!
Firstly, let me caveat this (I always have caveats, don’t I?) with, “this is
my personal experience”. There may be other ways to get into this role.
Any long-time readers of the blog (I love you guys!!) will
know that I started blogging before I did any of this
running-around-the-world-speaking-at-conferences lark. I started blogging
for a number of reasons:
- Even “back then” (probably around 2007), it was definitely an advantage to
have something external to the day job to differentiate you from other job
candidates. I didn’t feel comfortable with open source, Stack Overflow
wasn’t invented yet (and even if it had been, I’m not sure I would have felt
knowledgeable enough to answer questions), and most of what I had learnt in
order to level-up my skills
was via blogs like Joel Spolsky’s and
Rands in Repose.
- I really enjoyed writing. One of the (many) things I had wanted to be
“when I grew up” was a writer or a journalist. I didn’t take that path
because I thought if I did I would be Poor Forever. However, if I started
practising my writing in a blog, I would learn to find my voice, and have
something to show book publishers if I ever did get around to writing a
book, like I had always wanted to do.
If you’ve ever started a blog, you know the problem is thinking of things to
write about. I generally documented things I’d had difficulty getting
working, because a) if I had trouble with the existing documentation, other
people would too and b) I have a memory like a goldfish, so it would be
useful for me if nothing else. But it took me years to really take the blog
At the end of 2008, I joined the
London Java Community, largely
because I had returned to London from a year working in New York, and a) I needed a new job (during
the height of the crisis, when my recent experience was all financial
markets!) and b) although I had friends in London, I needed to rebuild my
social networks, and I was using meetup.com to do this. I tried lots of other
meetup groups, but like many geeks, I found it hard to connect to people
without the common ground of tech or code to talk about.
Eventually I ended up working for LMAX Exchange, and
because we were always looking
for keen, bright developers, I started getting much more involved in the LJC
so that I could help us hire people I actually wanted to work with. During
this time, people like Martijn,
and, of course, Barry were
encouraging me, consciously or not, to do a bit of technical presenting. I saw
a lot of different talks there, some from professional evangelists from
vendors, but many from “ordinary” developers like me. It made me think that
a) I should do this (awesome for your profile/career etc) and b) I could
Of course, I saw very few women presenting (I do remember an
awesome presentation from Fabiane) and
also very few women members. Many members
assumed I was a recruiter, even before I started trying to chat to people
to, well, recruit them for LMAX. In the first 2 minutes of meeting someone,
if they didn’t ask me directly if I was in recruitment or HR, I would always
make it clear that I was a Java developer. It was tedious but something I
just got used to. Interestingly, once it was clear I was a Java person,
people seemed to accept that and just treat me like any other techie.
I think this is one of the reasons I decided to start doing presentations - I
could a) show my own technical credentials, so I would spend less time having
these tiresome conversations (which, by the way, seems to have worked) and
b) make it more normal to see women techies, hopefully minimising the number
times other women faced the same assumptions (I’m not sure if this worked or
not, as I only have my own experiences to look at).
But these thoughts were only floating around my mind, I didn’t actually
do anything. During this time, while working at LMAX, it seemed like there were lots of
things I could blog about, or talk about, but I never really got round to it.
Plus, I wasn’t really sure what I was allowed to talk about and what I shouldn’t be
talking about. So apparently during these two years I only wrote a total of 6
posts, and I never did a single presentation at the LJC.
However, I really wanted to do presenting and have time/inspiration for the
blog, so I chose to leave LMAX and join
ThoughtWorks - they were looking for
consultants and I knew this was a company that valued blogging and
presenting, and I’d had some exposure to their guys through the LJC and,
years before, I’d seen them speaking at
which had actually been my initial inspiration for blogging.
I told LMAX that was why I was leaving, and off I went.
So it’s 2011, and I’ve joined ThoughtWorks. I revived the blog while I was
unassigned to a project, I invested that time in porting the blog to a
more sensible platform, and trying to write a blog a day. Again, I picked
topics I could comfortably talk about - I spoke about my experiences as a
beginner trying Android for the first
time (sometimes people will be arsey
with beginners, but in reality many real human beings can’t tell you you’re
wrong when you’re just talking about your own experiences), and despite my
original intent to blog with zero gender identity (I was genuinely afraid
that if I wrote about tech subjects and I was wrong, or very junior, I would
give women programmers a bad name) I decided to blog about “the women in
technology subject”. Again, here I went for my personal opinion/experiences,
for which only mean people can criticise you (mean people are easier to
ignore than correct people :) )
I was also fortunate enough to meet Martin Fowler
in person while he was over
in London. We were talking over drinks (this is London, after all) about the
women in technology thing (ThoughtWorks are really big on this subject, and
determined to do something positive in this area), and I was complaining about
the lack of women at a particular conference. He asked me if I had submitted
a talk for the conference. Me?? Of course not! I’m not ready for that! I’ve
got nothing to talk about. I haven’t been given permission to do this, or
guidance on how to do it. I haven’t even presented at the user group yet. But
it did make me think - I said I wanted to present, so what was stopping me?
Did I need someone to guide me through it, to assign it to me as a task? It
was going to be up to me to make this happen. And if Martin Fowler, who
had just met me 5 minutes beforehand, thinks I’m ready to do this, then who’s
to tell me I’m not? What’s the worst that could happen?
Of course life then got in the way - I was assigned to a couple of projects,
so the blogging stopped. I was interested in attending or
speaking at conferences, but wasn’t going to have anything ThoughtWorksy to
talk about for quite a while. And now, because I was commuting to my assigned
project, I had very little time even for the LJC.
At this point, LMAX called
to let me know that the talk they’d done at QCon San Francisco,
“How to Do 100K TPS at Less than 1ms Latency” had been
enormously popular, and they were open sourcing
The Disruptor and wanted to do
some evangelism around this - did I want to come back and help a) do
evangelism and b) co-ordinate the company’s evangelism? Yes, yes I did. So,
after just 3 months, I quit TW and went back to LMAX2.
Back at LMAX, I started to take evangelism more seriously.
I tried to blog every week - I set aside Sundays for blogging (at the time
I was, fortunately for my particular choices, single and not overburdened
with a social life outside of the LJC). I wasn’t going to sit all alone in my
tiny flat, so I’d go to the pub with my shiny new Macbook Air, bought
specially for blogging (thanks ThoughtWorks, you spoiled me - I needed a mac
after I’d invested 3 months getting to grips with the one you gave me) and
write something. It wasn’t always amazing, but I’d do something. During the
week, when ideas came to me, I’d make a note of the title in the blogging
tool so that when Sunday came I’d pick one and go with it. Early on it was
fairly easy - we’d released a white paper on the Disruptor, but I found it
hard to understand what it really meant, so I spent Sundays writing shorter
articles breaking down how it worked and how to use it. I needed a LOT of
help from Martin Thompson and Mike
Barker to understand it, but they were patient
with me (plus I think they were happy that someone was writing this and it
have to be them). They took the heavier, more complicated subjects and I
pitched my stuff at developers like myself. When I ran out of Disruptor
stuff, I moved on to the topics I had in the backlog - I generally had more
ideas for blogs than time to blog, so I ended up with quite a long list to
pick from. The key is to make a note of it at the time you think of it, and
not try and think of a topic when you sit down with time to blog.
I coordinated our events and publicised them on the new LMAX blog I’d created.
Dave Farley was often presenting on
something Continuous Delivery related since
his book had been released, and Martin was talking
about hardcore concurrency stuff.
Mike and I got even more involved in the LJC, not just to recruit people. We
got involved in the JCP and OpenJDK - since LMAX was doing cutting edge
technology stuff with Java, we wanted to see where the language was going
and influence it too if possible.
Martijn must’ve got fed up my lack of drive in the presenting area, as he
pretty much forced me to do my first presentation. In a
nice way! But he told me I was ready, he checked my content before I did it,
and I did a short talk on the JCP.
At this point, my plan was to spend this first year of presenting doing short
talks at the JUG, maybe work my way up to a longer talk by the end of the year, or maybe
the following year, then the year after that to submit to conferences.
Well, with amazing mentors like mine, that didn’t happen. Martin Thompson was
give a talk at JavaOne at the end of that year (still 2011), and I was lucky
enough to get a ticket at the last minute (we won the Duke’s Choice Award
for Innovative Programming Framework,
and LMAX was awesome enough to let me have the ticket to the
conference to receive the award, since the evangelism efforts and blogging
had had a direct influence on us winning this award). Martin
asked if I wanted to co-present with him. Of course this was terrifying! I
hadn’t even done a full length talk at the LJC, I had barely even been to a
conference, let alone presented at the largest Java conference In The World!
So I said yes. These opportunities do not come up every week. It’s a talk
Martin had given various times before, he would be there to pick up the slack
if I freaked out, and I knew this material, I’d been blogging about it and
answering questions for the last 6 months.
It really was as terrifying as I thought. But. It went well. I answered
difficult questions. We got great feedback.
was an important milestone in my evangelism career. Not only
did I get to put this presentation on my CV, I got to meet a lot of people in
this network: Martin introduced me to a lot of high performance specialists;
Martijn and Ben introduced me to people involved in the JCP, to other Java
User Group leaders, and we somehow got in to the O’Reilly party -
I finally got to meet a book publisher and get one step closer to my dream
of writing a book. I also met the ladies behind Duchess,
and they introduced me to
Stephan who runs Devoxx. This turned out
to be an important step in turning an idea I had for a panel into a Devoxx
This is October. By the end of the year I had also presented at JAX London
with Mike, and at
Devoxx Belgium on a panel,
largely thanks to the contacts I
had made and the prestige of having a JavaOne talk under my belt. So I went
from basically zero at the start of that year (my blog had been dormant for
years and I had no experience presenting) to having a blog with thousands of
hits a month and being an “international conference speaker”. In many ways I
got lucky, because the Disruptor was a really interesting, technical topic
that is in an area developers feel they should understand (high performance).
But I believe it was more a) determination to make this work, even if it
meant using my own time to write blogs and prepare presentations and b)
fantastic mentors who pushed me to do it and opened up their networks to me,
that facilitated this rapid rise.
Honestly, after that things were a lot easier - I had the experience
presenting at conferences, I had Martin and Martijn suggesting conferences to
me (and introducing me to the right people where appropriate), which got me
into the QCon/GOTO loop and into OSCON. With videos of my presentations
availble, combined with the reach of my blog, I also had people approaching
me to do other events, like user groups in the cities I was visiting, and
conferences I had never heard of. I think it helped that I’m a woman,
because conferences are always actively looking to increase their diversity
(whatever it might seem like at times!), but I think that anyone could follow
these sorts of steps with a similar outcome.
I’m not going to talk much about my career after that, because really that’s
the tipping point - after that it was more of the same, really. I will say
that I left LMAX because the pressure to be a full time developer and do
advocacy is hard, especially when you’re no longer single and you don’t have
the spare time you used to have. I joined
MongoDB because they were well known for
understanding the technical community, and because they were looking for an
evangelist who would continue to be an engineer (although not for 40 hours a
week every week). I think they might have hired me without the previous
experience, but the blogging and presenting experience was a big selling
point for the guy who became my boss. I eventually left
them for JetBrains because you learn, over
time, what your sweet spots are as an advocate/educator, and what your
interests are. After two years of MongoDB, I knew I really wanted to focus
on Java and the JVM, and JetBrains is a much better fit for that. I’m pretty
certain I would not have got this job without a) having the
conference-presenting experience and therefore b) being known to the team
already through the conference circuit.
Well. That was a massive post. That’s why I’ve been putting off
writing this for ages. That’s just my own story, I have another post in my
head about the challenges that face you on trying to sell the value of
evangelism/advocacy to your organisation (and maybe some suggestions). But
that’s for another day.
In closing, I shall try to leave you with take-away points that I hope will
be helpful if you either want to become a technical advocate, or are interested
in just some aspects, like writing or presenting:
- Join a user group. I cannot, cannot stress how important the LJC was to
my career. If you do nothing else, this is the one thing that can help you.
You will meet people who will inspire you or give you the kick up the
backside you need. Try to remember that many of these people, like me, were
developers like you before they became bloggers/authors/speakers. If they
can, you can. These people also have networks, and whether you like it or
not, it really is not what you know but who you know (but don’t let that put
you off - meeting the right people can be easier than becoming some sort of
- Present at the user group. Preferably get them to video it - you can use
this in submissions to conferences, if it’s not a blind CFP they will like to
see examples of your style. Having an example, even one that you think isn’t
awesome, is much, much better than having nothing at all. (Also, and this is
not a blog post about becoming a better speaker, but do watch your own
videos - it’s insanely painful the first few times, but it gets easier and
will help you to improve).
- Be prepared to commit your own time to this. I blogged and prepared talks
at weekends, even for companies that valued evangelism. I gave up evenings
to attend the user group. This will be
especially important in the early days when you probably have a day job too.
This investment should pay off, either your company will learn to see the
value of it and give you more time (having developers attend and speak at the
LJC was enormously successful for recruitment for LMAX), or you will get a
job better suited to what you want to do.
- You don’t have to have something awesome to talk about. I got lucky with
the Disruptor, true. But our most in-demand topics at the Sevilla Java User
Group are “Introduction to…” topics, especially for things that are
no-longer cutting edge - not all developers were early adopters, and now they
need an overview of “why NoSQL” or “what’s Docker”.
- You don’t have to be awesome. Your blog doesn’t have to be perfect English
(especially if you’re not a native). It just needs to clearly describe the
thing you’re trying to explain. You don’t
have to be Damian Conway(one of
my favourite presenters) when you speak - in my experience, a presenter
can get away with either only great content or only great delivery, you
actually don’t need both. I’ve been to conferences where presenters haven’t
really had either - you have to start somewhere, and audiences are
surprisingly forgiving (especially at user groups).
- Find mentors. Listen to them. You might not even meet them, you can watch
what they do. But I’d encourage you to find real human beings who are a step
or two closer to where you want to be. Talk to them, let them know what you
want. And let them bully you into doing scary things.
- Be yourself. Figure out your strengths and interests, and play to them. I
was scared of being a woman developer on show, via the blog or via
conferences, but it turns out to be an advantage. I was afraid that because
I’m not Martin Thompson I can’t possibly talk about difficult technical
subjects. But I don’t have to be him, I can be me - I can explain things to
the level that I need to understand them, so other developers like me can
catch up with me. We don’t need to all be genius-level.
- Do things that scare you. The terrifying things are the things that got me
I hope this helps someone.
1Evangelism / Technical Advocacy - I use these terms fairly
interchangeably. Evangelism was the common name some years back, but many
are uncomfortable with the religious overtones, so instead prefer Advocacy.
2 This is why I often talk about being at ThoughtWorks for a
minute and a half - I really loved a lot of things about the company, but what
I really wanted to do was offered to me in a company I already knew, where I
could get going straight away without any ramp up