Intro
So exactly 12 months ago I landed a job as a Developer Advocate at AWS. A job title, that when I left school with a rudimentary knowledge of Java v1 didn't exist. Now this isn't unusual in the technology industry today, where new job roles and titles are popping up almost daily. The role of Developer Advocate(DA), is becoming more and more popular, so I want to share my experiences and the advice that I would give to anyone who wants to be a DA or indeed wants to work at AWS. As inevitably most of this blog is also about working at AWS, as well as, being in Developer Relations as a Developer Advocate.
Background
My career has been primarily in technology as a software developer/engineer who is at their happiest in front of a screen building software. After 15 or so years of this I decided to try something different and joined AWS as a Solutions Architect (SA). Luckily enough a role came up in the most remote and beautiful of cities, Perth Western Australia where I live (see top of post for a pic). Three years into AWS I managed to land a role as a DA, due mostly to dumb luck and an understanding hiring manager.
This role I have found at times to be very challenging, however I have enjoyed it immensely. Mostly due to the fact that I am able to influence and help developers on a far greater scale than I could have previously hoped for as a software engineer. So here are the things I have learned and techniques I have adopted to help me be a better Developer Advocate at AWS, but still stay true to my software engineering roots. As being a DA does mean that you work in marketing, a fact that on first glance would seem a bit strange.
Tip 1: Internal Vs External Advocacy
AWS is a large company and ships lots of code in the form of services and features to the platform. To be effective as a DA you need to be known within the organisation as a thought leader and someone who can deliver great content on a service or feature. This requires Internal Advocacy. At the same time you also are employed to advocate on behalf of developers who are using AWS services and features to build cool products. This requires External Advocacy.
Its easy to over index on one over the other, the most effective DA's always find the perfect balance of the two. They are well known by teams within AWS but also by the external developers they advocate on behalf of. They have built this balance up over time, and have spent many hours building the relationships required to be successful, there is no short cut. Put simply, you cant advocate for developers unless you intimately know / can influence the services they are building with, so take the time to find that balance.
Tip 2: Take notes
Writing things down is important, inside AWS writing takes on a whole new level of importance. Being a developer advocate inside AWS, good writing skills are essential. You are always writing; blogs, code, internal documents etc. The skill I would like to highlight, is the art of taking actionable notes. Notes that not only make sense as you write them, but also will make sense to future self and can be turned into actions.
Take this scenario - you are thinking about your next great piece of content. An idea comes to you while walking for your morning coffee, you sketch out the idea in you head, it sounds awesome !!. You get home and start to write the idea down, only to find you have forgotten half the content you thought of on your walk, you end up not doing the content. DO NOT LET THIS HAPPEN!* Always have a way of writing your ideas down. Even if they simply act as a catalyst for other ideas, don't waste them - take your phone out WRITE IT DOWN, but always take the time to write a coherent structured sentence. A sentence that you in four weeks time can read and take action from.
Tip 3: Execute
Thoughts and ideas are good, writing them down is a great step but actions and results are better. You can have 10 great ideas but unless they lead into 10 pieces of great content (blogs, streams, videos) they are meaningless. You need to execute on an idea - make it a reality, as that reality is what you will be ultimately judged on.
Tip 4: Prioritise , Prioritise and Re-Prioritse
Now there is no way you have time to execute 10 ideas - in fact you will be lucky to execute on a very small number. This is due many things, life, distractions, life and even distractions ;) - so make prioritising what you are going to execute on a constant. Ask yourself, is this the right thing to be concentrating on right now? Will this have a better impact on the thing that is next on my list? Will it be worth the x number of days of focus to create it? There is no worse feeling than spending a week creating a blog post that no-one reads or gets little impact. This skill of prioritising and re-prioritising is also a non negotiable when working inside AWS, as work is always infinite, you need to keep prioritising!
Tip 5: Become your own producer
The modern DA needs to produce content in a number of formats. No longer is it a case of showing up at a conference or meetup - speaking and conveying a message to a group who are physically in the same room as you. Now it is a case of preparing and talking to a camera and conveying your message to a group of people you cant see, who might be on the other side of the globe. You could be streaming a live coding session or recording a video showing how to build x - but you need to be as engaging as if you where on stage in front of your audience.
In this arena production quality and setup is important, very important. You need to cut through and engage people, your session needs to stand out and engage people quickly, so make sure you learn how to build up a YouTube or Twitch channel. Read about how others are doing it, find out what camera, mic, editing software is being used. Learn from others like: (in no particular order)
Now recording is not something I had much experience with at all, and building a good set up is not easy, you constantly underestimate the time involved. But that time needs to be invested so that the content you have does not get lost in the ever increasing amount of digital content available.
That all being said, remember, good content is everything Being a good producer just makes your content more accessible to a wider audience and makes it more likely that people will actually find and watch it.
Tip 6: Time and Timezone mismanagement
I live on the GMT +8 timezone and work for a US based company that for the most part operates 12 hours behind me. There are always meetings on at any time of the day or night. Do not feel obliged to turn up, give yourself a break from the 24 hour development cycle. Set your own time and set your own time boundaries, you are the best qualified to know when these are. Yes there will be times when you need to present at midnight to a group 8 hours time difference away. Make this an exception, if you do not, you will not last, you will burnout and miss the opportunities that you are presented with, due simply to being over tired. Learn the 'art of saying no'
Tip 7: Be Authentic
Be your true self, by that I mean, if you are a software developer, build content that is focused on code. If you love architectural principals, build content that is focused on architectural patterns and practices. I find the best content is that which you, the creator, would like to watch. So try and keep coding, and always be your authentic self with your audience.
Tip 8:Have fun
If you don't enjoy what you are doing, it comes through in the final product, so play to your strengths. If you find yourself writing an article or recording a video and your heart is not in it, because you find the content boring and uninspiring, then STOP, DON'T GO ANY FURTHER. I have made this mistake many times, and what ultimately results is content that you are not proud of and ultimately you end up dumping anyway. Save yourself some time and anguish :)
Tip 9: Reuse and Recycle
Don't be afraid to take someone else's idea and content and put your own perspective on it, make it your own. At first I was guilty of trying to think of unique content for everything, this quickly doesn't scale as how many truly unique things are left to do? Instead, I was given great advice "its OK to reuse" and recycle - but put your own perspective and take on things".
You may see an excellent you tube series that you think would make a great blog series or is missing an important addition. There are a few caveats of course - don't copy and plagiarize, instead, add something to existing content and always acknowledge the "shoulders of giants" you are standing on.
Tip 10: Always seek feedback/review
How can you ever hope to improve if you DONT ask for feedback? the short answer is - you can't.
In Summary
Working at AWS is a unique and humbling experience in and of itself. The culture , peculiarities and people, all make it different every single day. Working as a Developer Advocate within the organisation, gives you the reach and the ability to really influence and affect change in the software solutions that developers are creating today. Its a real privilege to help developers around the world, and in a very small way, build the software solutions of the future.
Thanks for reading, as as always feedback always welcome - see Tip 10
Top comments (25)
Very nice Derek. I have been using AWS for more than 10 years. Doing microservices architecture on cloud I am really looking for aws advocate opportunity if i am suitable for it. Could you help me. Regards
HI Dhiraj,
I linked to all the open roles we have ATM in the DevRel team at the end of the article. If you are passionate about helping developers build awesome solutions and love building yourself - take a look
Thank you for reply, i will try Derek
Derek, brilliant read! Almost all the points I can correlate on a personal level, and these are certain pointers which help you grow and upscale irrespective of DA or SA or even a SDE or being a Amazonian or a non Amazonian.
Thx Jones - great feedback
thanks for sharing! recently, I haven't gotten a good experience a devrel in a startup, however, I am still aim to keep trying :D
and highly totally agree with tip 3 and tip 8, those were going sadly awful in my last job haha
I will check your positions open! thanks :D
Thx for the feedback and good luck
It was so nice to read this. I finished it without even realizing how much I was enjoying.
What I am still not sure is what exactly is the role of DA??
May be if you can explain in contrast to other roles, that would be helpful.
Thanks
Thx for the kind feedback - the DA role is hard to explain, the best explanation I have seen was included at the top of the post (its a twitter feed)
twitter.com/riferrei/status/142588...
Experiences may of course vary depending on which company you work for - but I think that feed captures the ethos of the role.
Great article Derek, love it!! I will also say that Tips 7-10 are especially useful for SAs also. While we may not be advocating for developers, we are advocating AWS services in customer and partner projects, and advocating customer and partners into the service teams (influencing service roadmaps)... I would even go so far as to say that Tip 7, 8 and 10 are foundational for any successful AWS career.
Totally agree mate - and thx again for reviewing the scrappy draft of this
Beautiful writeup Derek :) Specially Tip #3 and #8 :)
Tip # 11 : Learn something new every week, and Revise something old everyday :)
Tip # 12 : Follow all 10 tips judiciously :)
Thx Suman - Wise words as ever
Great write up. Thanks for sharing.
Loved it Derek! Agree completely, I joined the team just a couple months before you and can definitely feel the authenticity of the post! Awesome!
Tip 11 - do exactly what Rohini Does :)
I've always been fascinated with DevRel. I have a couple of questions:
Thank you!
Great questions Regnard,
the balance is found for me, by finding the problems that I see Devs having building on AWS . I use these as my backlog in a way, I spend time understanding and building content that I think would help. That's the Dev part, the advocating part is finding those problems and communicating the content.
Like anyone in tech ATM, I choose the area to concentrate my skill base on as the scope is so broad. Right now it's front end and mobile tech and I dive deep in that to keep my skills as fresh as possible. Building something every day.
Hope that answers your questions
I have been interested in an advocate career for many of the reasons you describe in your post. It's rewarding, fun and you can make it your own format.