Transitioning from Developer to Developer Advocate: A Guide for Aspiring Tech Professionals

Michael LaroccaMichael Larocca
12 min read

Introduction

In this special guest issue, tech industry experts Matt Lawrence and Mike Karan are excited to share the journey of distinguished tech figure Francesco Ciulla! Boasting a diverse skill set and an exceptional online presence, Francesco has transitioned from a developer to a Developer Advocate and has become the world's leading Docker Captain, making a significant impact on the entire tech community along the way! This comprehensive guide will explore his career path, illuminating his experiences, challenges, and triumphs. Whether you're new to the tech field or a seasoned developer looking to branch out into advocacy, this article provides valuable insights and practical advice to help YOU navigate your own transition in the tech industry!

Topics covered in this article include:

  • Francesco Ciulla's Background and Career Journey: A look at how Francesco transitioned from a volleyball coach to a Developer Advocate and a leading Docker Captain.

  • Paths to Becoming a Developer: An exploration of various pathways to becoming a successful developer, using Francesco's unique journey as an example.

  • Transition from Developer to Developer Advocate: A detailed account of Francesco's transition from being a developer to becoming a Developer Advocate, including the skills needed and challenges faced.

  • Role and Responsibilities of a Developer Advocate: An overview of what a Developer Advocate does and how the role contributes to the tech community.

  • Importance of Online Presence and Networking in Tech: Insights on the importance of having a strong online presence and networking, based on Francesco's experience.

  • Introduction to Docker: An introduction to Docker, a platform used by Francesco, and its importance in the tech industry.

  • Career Insights and Advice: Valuable career advice and insights from Francesco for aspiring tech professionals.



About Francesco Ciulla

Francesco Ciulla is a renowned tech industry veteran with a robust online presence, which includes consistent coding and interviewing Livestreams, Twitter/X spaces hosting and appearances, and podcast events like the one being covered here, among others!

He's a Computer Science graduate from the University of Rome Tor Vergata and has been a freelance DevOps consultant since 2021 and a Developer Advocate at daily.dev since 2022.

Francesco's expertise spans HTML, CSS, JavaScript, Angular, React, Node, Postgres, Docker, and Kubernetes, and he's seasoned in deploying projects on Amazon Web Services, Azure, Google Cloud Platform, and Digital Ocean.

He's not just about code, though. Francesco is a Docker Captain and an international speaker, captivating audiences with his knowledge. Plus, he's building a whopping 1 million people community and is already 29% there!


Paths to becoming a developer

There are numerous paths to becoming a successful developer in the tech industry, with each journey being unique and influenced by individual circumstances and choices. Some may choose the traditional route of obtaining a Computer Science degree, while others may opt for coding bootcamps or self-learning through online platforms. Francesco's story serves as a prime example.

In his career, Francesco worked as a volleyball coach before deciding to transition into the tech industry. Unaware at the time that it was possible to land a job in tech without a degree, Francesco quit coaching and pursued a college education.

Although Francesco successfully earned a Computer Science degree, he hated to code! To make matters worse, a professor told him he would never make it as a programmer because he was good with theory but wasn't good enough as a coder. This triggered Francesco so much, that he was now determined to become proficient in coding.

Francesco's encounters with college professors weren't all bad. In fact, a professor helped him secure his first job in tech! What Francesco initially took as a joke, because this particular professor has a humorous personality, was an offer by this professor to interview for a full-stack web development position at The European Space Agency. Without much expectation of actually getting the job, he decided to go for it. He fondly recalls being so relaxed during the interview for the job at The European Space Agency because he didn't think he would actually get it. However, within a week of that interview, he did, in fact, land the job!

Francesco's first job in tech was as a full-stack developer at the European Space Agency, a position he held for nearly 3 years.

The European Space Agency (ESA) is an international organization dedicated to the exploration of space. Established in 1975, it's composed of 22 member states and works closely with NASA and other international partners to contribute to global space exploration and research. ESA's missions include launching satellites, exploring other planets, and conducting research in various fields of space science.

Mike's Insights

Drawing from his own experience as a computer science graduate, Mike Karan emphasizes the importance of participating in unique opportunities and networking during college. He identifies this as a key factor often overlooked by those pursuing traditional education.

Given the substantial investment that college education entails, making the most of its exclusive opportunities is crucial. These opportunities, which include participating in hackathons, engaging with industry professionals, and building relationships with teachers, peers, and other students, may not be as readily available once you graduate. These experiences offer a deeper understanding of the industry and allow you to establish connections that could be instrumental in securing future job opportunities!


💡 Tip: While attending school, seek out relationships with teachers, peers, and fellow students. Building your network early on can lead to many career opportunities in the future!


From developer to developer advocate

Transitioning from a developer to a developer advocate requires being well-rounded in your craft, possessing strong people skills, and maintaining a strong online presence, as demonstrated by Francesco's experience.

A Developer Relations (DevRel) role, also known as a Developer Advocate, is a position that acts as a bridge between a company and its technical community. These professionals are responsible for promoting a company's technology or platform, gathering feedback from the community for product development, and educating developers on new technologies, tools, or features. So, a Developer Advocate is part of the larger Developer Relations team. The specific titles and responsibilities may vary between companies, but the overall goal is to build a strong, engaged developer community around a product or platform.

Francesco's career change

As a full-stack developer for the European Space Agency, Francesco held a full-time position that was considered successful in his country. However, he did not find fulfillment in this job role. Being a child of parents who were both teachers, Francesco felt a similar calling for his life, so he decided to become a content creator to pursue his passion for teaching.

What began as a side hustle quickly transformed into a part-time job when the pandemic struck in 2020, as the lockdown required him to work remotely. Since he previously had a long commute to his on-site job, he now had ample additional time to expand his online presence through social media.

As a part of his social media networking and content creation, Francesco started an interview series. He invited the CEO of Daily Dev to be a guest on his show, and then eight months later, Daily Dev offered Francesco a developer relations position!


Francesco credits working as a sports coach as helping him develop the communication skills crucial in a developer advocate role.


Is Developer Relations for everyone?

If you consider yourself a people person, enjoy exploring broader aspects of technology, and feel at ease giving talks at places such as conferences, Livestream events, or Twitter/X spaces, then a Developer Relations role could be a great fit for you!

However, if you're more interested in coding and your interest in technologies revolves around using them to accomplish tasks only, then a Developer Relations role might not be a good fit for you.

Francesco recommends being selective about the companies you advocate for, as you may end up promoting them and the technologies they use, even if you don't use or respect those technologies!


🔥 DevRel Hell: Finding yourself advocating for a company that doesn't align with your personal standards or values.


Mike's Perspective

In today's job market, simply coding in solitude won't suffice if you aim to break into the tech industry. You need to put yourself out there! As showcased by Francesco's journey, it's essential to establish an online presence and share your work widely. Consider stepping into content creation to distinguish yourself from the masses. This could take the form of starting a YouTube channel, hosting a podcast, or maintaining a blog, as I do 📝! Social media platforms can also serve as powerful tools to showcase your work and connect with like-minded individuals. Remember, by actively putting yourself out there, you're paving the way for numerous opportunities to come directly to you!


Docker

Embracing content creation can open up numerous opportunities for YOU, just as it did for Francesco as it aided his transition from a developer to a developer relations professional. But the opportunities Francesco created for himself did not stop there. It also led to him becoming a Docker Captain!

In his pursuit of knowledge sharing, Francesco produced a series of YouTube videos on Docker, demonstrating his proficiency in the platform. His most notable contribution was when he skillfully condensed the lengthy 9-hour DockerCon 2021 event into a succinct and informative 20-minute video. This remarkable achievement caught Docker's attention, leading them to invite Francesco to apply for the prestigious role of a Docker Captain.

Docker.com defines Docker Captains as technical experts and passionate community builders who drive Docker’s ecosystem forward. As active contributors and advocates, they share Docker knowledge and help shape Docker products.

At Los Angeles DockerCon 2023, Francesco won the prize for the most consistent Docker Captain in the world. Since he is the only Docker Captain in Italy, Francesco tells us that he made his nation proud!

What is Docker?

Docker is an open-source platform designed to automate the deployment, scaling, and management of applications. It uses containerization technology to wrap an application and its dependencies into a standardized unit for software development. This unit, known as a Docker container, can be easily ported across different environments, ensuring consistency and efficiency in software delivery.

Docker's containerization approach offers several benefits over traditional virtualization. It's lightweight as it runs directly on the host machine's kernel, eliminating the need for a guest operating system. This results in faster startup times, lower resource usage, and higher system performance. It also simplifies the process of setting up local development environments, testing, debugging, and deploying applications to production, which makes it a popular choice among developers and DevOps professionals.

As a Docker Captain, Francesco leverages Docker to build, run, and share applications with ease. He uses Docker to encapsulate his applications, ensuring they work seamlessly regardless of the environment they are run in, be it a local machine, a cloud server, or a different operating system. Francesco also explains to us that programs he wrote years ago still work because he doesn't have to worry about changes in dependencies, which could potentially break his applications!

In an enlightening session at Navigate Europe 23, Francesco delved into the latest enhancements in Docker for the year 2023. The session illuminated three groundbreaking features: Docker Init, which simplifies project setup, Docker Scout, a feature designed to bolster security through vulnerability detection, and the novel Docker Compose File Watch, a tool for effective project management. This exploration of Docker's decade-long evolution and the emerging frontiers in container technology provides a comprehensive understanding of Docker's current landscape.


If you would like to see Docker in action, be sure to check out Francesco's curated list of Docker short tutorials!


Rust

In 2024, Francesco Ciulla plans to extend his commitment to providing free educational content for the web development community. He aims to expand his focus beyond Docker, with a new emphasis on the Rust programming language. Francesco is in the process of creating instructional content around Rust, and he plans to demonstrate how it can be effectively used in conjunction with Docker.

What is Rust?

Rust is a multi-paradigm programming language designed for performance and safety, especially safe concurrency. It is syntactically similar to C++, but provides memory safety without using garbage collection. Rust was originally designed by Graydon Hoare at Mozilla Research, with contributions from the community. It is commonly used for system programming, game development, and other fields where the need for speed, low latency, and memory optimization are critical.


If you're interested in getting started with Rust, be sure to check out Francesco's YouTube playlist, Rust from Zero (Learning the Rust Programming language).



HTML All The Things

Be sure to listen to the episode!

Episode 291 Francesco’s Unique Developer Journey

Be sure to check out HTML All The Things on socials!


Learn with Scrimba!

  • Learn to code using Scrimba with their interactive follow-along code editor.

  • Join their exclusive discord communities and network to find your first job!

  • Use our affiliate link

This article contains affiliate links, which means we may receive a commission on any purchases made through these links at no additional cost to you. This helps support our work and allows us to continue providing valuable content. Thank you for your support!


Sponsored content: This article was kindly sponsored by the original publisher, allowing me to share my expertise and knowledge on this topic.


My other special guest articles


Conclusion

To become a successful developer advocate, you must first become a successful developer, and there are various paths to achieving this, ranging from traditional education to self-learning.

If you choose the traditional education route through school, be sure to take advantage of the additional opportunities it provides! Unique experiences such as hackathon events, building personal relationships with teachers, and networking with fellow students can pay off in the long run, as they may lead to employment opportunities in the future, just as they did for Francesco!

Whether you choose a traditional education or a self-learning path, building your online presence is in your best interest. In today's job market, merely coding in solitude won't suffice. Becoming a content creator can open up numerous opportunities for you, setting you apart from the crowd and giving you a competitive edge in securing a job.

Once you've established a strong online presence and demonstrated your expertise in your chosen niche, companies may take notice and consider you an ideal candidate for a developer relations role. As a result, companies may proactively present you with such opportunities, making your goal of transitioning from a developer to a developer advocate a reality!


Let's connect! I'm active on LinkedIn and Twitter.

selftaughttxg logo

You can read all of my articles on selftaughttxg.com

0
Subscribe to my newsletter

Read articles from Michael Larocca directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Michael Larocca
Michael Larocca

Hello, I'm Michael. Like many people, I am an aspiring self-taught web developer. My goal for this blog is to document and share the progress of my self-taught coding journey.