Don't become a Developer Advocate fresh out of college!
The title is quite extreme - but for a good reason IMHO. This is something me Aravind, Nikita and Jayesh discussed in the Twitter Spaces audio chat and this post tries to capture those thoughts. Our first Twitter spaces discussion revolved around Dev Advocacy - because I had just posted a job posting from work that we had opened up a couple of days ago.
What is Dev Advocacy?
I think there are some fairly detailed posts about what a developer advocate is and you can read them but we agreed at a broad level that:
- Someone who deeply understands the product/developer tool that he is advocating.
- Can build demos, tutorials and basic awareness creating/teaching content for users of product/tool.
- Is passionate about people & communities - and everything around it.
- Depending on weather you are in a startup/big company - you hustle around to get the events and communities going with help of colleagues or entirely on your own.
Why becoming a Dev Advocate right out of college is a bad idea!
A lot of people are involved in communities and developer groups right from their college now a days. Some student start thinking that they can start their first job as a developer advocate. It also seems like a cool job to have - since you get to travel a fair bit (At least before Covid-19 hit the world) and meet lot of people. Also some students think that they are not made for “core software engineering” job and hence dev advocate is a great choice to stay in field of software engineering but not be a software engineer necessarily.
While you can learn a lot about the “management” & “community” aspects of the dev advocate job in college - that is just one side of coin.
So what makes a effective dev advocate? One of most fundamental things we have to understand that when you are “advocating” something - a product or a developer tool, you must understand it well. Specially in case of tools focused on developers - a good understanding of tool comes by being in the shoe of a developer - or being one actually. So unless you are a passionate developer yourself, you may not be a good developer advocate for such a product.
What would be ideal is if you have spent a few years at the very least in the industry working as a developer and understand the nitty gritty of the challenges & solutions. And then you feel that you work best at intersection of technology and teaching - then I think Developer Advocate would be a great job for you!
Jayesh - someone who has been advocating and speaking at conferences in his college made a very good point: (I think he is the only one I know of who has presented at 43+ countries while in college :) )
You can be a full time developer and still advocate a technology/product - by writing blogs etc. on spare/additional time.
The second aspect is that a developer advocate job can seem very exciting from outside but can sound very monotonous if you don’t have the right lens to look at it. You may not do deep engineering and might be scratching surface in many cases - which you may or may not like!
I was also just chatting with Harsh after this post and I asked him tell me the dev advocates that he admired the most. The names such as Kelsey, Seth, Nick etc. came up - one common trait among these folks is they have spent considerable time being an engineer, understanding nuts and bolts of how things really work. Their depth of the engineering is what makes them great advocates of what they talk about. In fact I would go on to say that they are engineers at heart and happen to be advocating stuff they love!
So in concluding
Become a passionate engineer first and a developer advocate on the solid foundation of engineering.
Thanks to Aravind, Nikita & Jayesh for their inputs and feedback