6 Months as a Developer Advocate

11 min read

-

May 23rd 2021

Table of Contents

My background and how I got the role

I'm currently a 4th-year computer science student in a 5-year program.

I got into Frontend Development around 3 years ago, and I fell in love with it. I started building my own projects and learned a lot about the field. I then managed to land an internship at a cool startup and some freelance contracts.

One important lesson I learned is that marketing yourself and being known is just as important as your coding skills. It doesn't matter how good you are if people don't know about you. So I decided to focus on creating content and being active in the Frontend community to help advance my career in the future.

Fortunately, I had a secret weapon that I knew would serve me well on this journey:

I knew how to create videos

Filmmaking and storytelling were one of my hobbies during my senior year in high school. I learned about writing, cameras, lighting, angles, and various editing tricks. At some point, I considered pursuing a career as a filmmaker, but seeing how hard it is to get noticed and to make a living, I changed my mind.

I also started a YouTube channel and failed (multiple times) because I didn't have a content strategy or a target audience in mind. However, I got good at talking to a camera.

I never knew that this skill would serve me in the future, but looking back, it's probably one of the best things I have done.

So in 2020, I spoke at my first ever remote conference, ByteConf React, where I shared the mistakes I made when learning how to code. I didn't follow the traditional style where you have slides and made iit more of a YouTube-style video. I got positive feedback for it, which was encouraging.

Then a couple of months later, I managed to land two significant opportunities:

I first joined Egghead as a learner advocate, where I was responsible for taking notes for courses and giving feedback on workshops. I was basically getting paid to watch courses and learn. It was awesome.

Then after a while, they reached out to me about becoming an instructor. I of course immediately accepted. They then sent me high-quality audio recording equipment, I recorded a couple of lessons and I'm planning on recording more.

Joining Egghead announcement

On the other hand, I learned that Auth0 has an ambassador program. This is a program where you collaborate with Auth0's DevRel team on creating content related to security, authentication, and authorization. In exchange, you get early access to features, and you get some cool swag. I met some fantastic people through this program and gave a talk on how to add Auth0 to a React app at Egghead.

Creating content never felt like work to me. I enjoyed the process. That's when I realized that I wanted to become a developer advocate after I graduate and create content full-time.


One day, while I was scrolling through Twitter, I came across a tweet from a company called Prisma. It's a backend tool that handles the database layer. They were looking for a part-time, working-student Developer Advocate.

Job position tweet

As a frontend developer, I've always reached for backend-as-a-service tools like AWS Amplify or Firebase. I didn't consider building my own backend from scratch. I simply wasn't interested in spending time on this part of the stack. I would rather instead focus on the UI layer and the user's experience.

So I wasn't a database expert, I worked with Node.js and MongoDB before, but I didn't have "real-world experience." I also had some basic SQL knowledge from college. This made me feel hesitant about applying, and imposter syndrome was at an all-time high.

However, I had a portfolio of content that demonstrated my ability to communicate and teach, which was the main requirement for the job. This gave me the confidence to apply.

A couple of days later, I interviewed with the head of People Operations (HR). It was a casual chat about my experience. I like to refer to this stage as "the vibe check," where they make sure I can communicate clearly and that I'm not a weirdo or anything.

Next, there was an interview with the Head of the DevRel team along with the Developer Sucess Lead. We chatted about my experience, and it was a bit more technical. There was no coding interview or whiteboarding.

Finally, there was a take-home assignment. I would need to write an article on end-to-end type-safety. This was a topic that I haven't explored before, so it was exciting. There were no specific requirements about who the target audience is or the length of the article. It was up to me to decide. If you're interested in reading the article, you can check it out on the blog.

Fast-forward about ~1.5 weeks, I got an offer which I accepted. It took me a while to process what happened because it felt surreal. I got my dream job as a developer advocate while still being a student. But not only that, I was getting paid to do it and this role gave me the motivation to explore a new area of Software Engineering.

If you're wondering how I managed to do all of this while being a student, I'll let you in on a little secret: I'm a shitty student. I'm talking C's and D's. So don't feel bad because you haven't figured out what you want to do in the future. I just decided what my priorities and goals are early on. Which will most likely evolve and change with time anyway.

Working remotely

Usually, the role of a Developer Advocate involves a lot of traveling and speaking engagements, where you go to meetups and conferences. However, with the pandemic, things have changed. Everything is now online.

Working from home has been a positive experience for me, once I followed the following rules:

  • Work in a quiet environment with minimal distractions
  • Take frequent breaks and go on walks

Also investing in a sit/stand desk and a decent chair helped a lot when working for long periods of time. I'm also lucky that I don't share my room with one of my brothers anymore and live in a quiet area.

Working with Prisma, the product

If you ask two Developer Advocates about what a day in their life looks like, you'll receive two different answers. The main reason is that every product and team is different.

Prisma is a very well-crafted product, where the engineers took the time to design clear workflows and friendly APIs. Also, the documentation is very mature and covers a lot of information due to having some incredible technical writers.

Prisma also has a fantastic community where developers give back by creating helpful resources like articles and videos. However, for me, the most impressive thing is seeing developers build tools that make other Prisma developers more productive. For example:

  • Prisma-Appsync - generates a fully working AWS AppSync ⚡ GraphQL CRUD API. 🚀 by Sylvain
  • Pal.js is a set of tools to help you bootstrap your next NodeJS, Prisma, GraphQL, React project. by Ahmed Elywa

So overall, the experience has been amazing.

Working with Prisma, the company

Working at Prisma has been an absolute delight. The people are friendly, have tons of experience, and my team is very understanding about me being a student. They also provide helpful feedback on the things I'm working on.

One thing I love is how everyone is aware of what the different teams are working on and often offer helpful suggestions. So engineers, PMs, Designers can start conversations, even if it's not directly correlated to their work.

Another interesting thing is how the team is distributed across multiple countries. This made me talk to people with different backgrounds and cultures, which was eye-opening.

I'm also incredibly fortunate that I'm part of a big Developer Relations team, which is a lot of fun and is super empowering.

Finally, the biggest and most important thing for me is that I'm allowed to express my ideas and experiment. If I didn't have that, my performance would suffer. The reason I can create high-quality content isn't because I know how to write, talk to a camera or shoot videos. It's because I'm genuinely excited.

In conclusion: I don't have anything to complain about. Highly recommend working there. Check out prisma.io/jobs and see if there's a role that excites you and come work with me.

Challenges I faced

The biggest challenge I faced is communication. It is easy to be misunderstood when communicating over Slack, which is why it's vital to overcommunicate. I'm still working on this one, but with time, I see myself overcoming it.

Another area where I need improvement is estimates. They're painfully hard 😆.

Meme where genie says there are three rules, no falling in love, no wishing for death and no bringing back dead people. I wish for knowinghow to estimate a task and genie says there are 4 rules

Accomplishments and achievements

In the past 6 months, I:

There was also some cool stuff like attending live streams and joining Twitter spaces.

In the upcoming few weeks, I'll publish a course where I'll teach how to build a fullstack app using Next.js, GraphQL, TypeScript and Prisma. It's an app where users browse through a list of curated links and can bookmark their favorite ones. It's going to be huge and hopefully it'll help devs who are interested in working with this stack.

The road ahead

There are some areas I want to get better at this year:

Building community

One area that I would like to focus on is community building. I want to be more involved in the Developer Community, get to know people who use Prisma, understand their use-cases, and help them be successful. I tried it for a bit and the feeling of someone saying, "it works now! Thanks," makes me want to do a backflip.

Growing as a content creator

I want to grow my own YouTube Channel, with the focus on making other developers successful. I want to share important lessons I learn and help them level up in their careers. I also want to write more on this blog and share the things I learn.

Growing as a developer

There are a lot of areas where I would like to deepen my knowledge:

  • TypeScript
  • Testing
  • CI/CD
  • AWS

I also want to work on side-projects and experiment with different tools.

Final thoughts

If you made it this far, thank you so much for reading! If you have any questions or want to chat about anything, please DM me on Twitter. If you want to get notified about future articles, make sure you subscribe to my newsletter below.

Found this article useful? Make sure you share it with other people on Twitter

Follow along

If you want to know about any new posts or any thing I'm working on make sure you subscribe!

Check out the archive