Which skills do you need to work as a developer advocate in machine learning?
writtencast - 002 Omar Sanseviero
In today's interview, I am joined by Omar Sanseviero who is the?Machine Learning Engineer Lead, Developer Advocacy at Hugging Face . Before joining Hugging Face, Omar co-founded the AI Learners community and worked as a software engineer at Google. In this interview, we explore his journey from Google to leading the advocacy team at Hugging Face.
Read on.??
How did you transition from being a software engineer to a machine learning engineer?
Since I graduated college, I worked on products that used Machine Learning, so there was no formal transition. I worked on Google Assistant as a Software Engineer and my work involved infrastructure for models’ deployment, distributed pipelines for feature extraction, and work around model quality. In that sense, my work was very similar to what would be considered machine learning engineering outside Google.
In your opinion, which are the most underrated skills in data science and machine learning?
I think being pragmatic is a very valuable and underrated skill. Being able to get things done and move things forward to get initial results is very useful. For example, many times people try to use very complex Machine Learning techniques when one could solve a problem with heuristics and classical software engineering techniques. This could make it much easier to deploy, maintain and update the solution compared to an ML setup where you start to face challenges such as data drift.
This of course does not mean we should be careless. When talking about Machine Learning projects, there are many different things one needs to consider in an ML process, from ethical implications, data sources, impacted people, stakeholders, regulations, and much more.
Most engineers strive to get jobs at top companies such as Google. How were you able to get an internship at Google and eventually a full-time role?
Like many people at Google, I did not get in the first time I applied. I had my first internship at Google Cloud in Seattle after a previous failed attempt. I did a second internship in Mountain View in 谷歌 Assistant. Doing an internship is a great way to get a full-time option. As I had a very positive experience with both internships, I got an offer to join full time the Google Assistant team in Zurich.
Why did you leave Google to join Hugging Face?
I was looking for opportunities in which I could be more involved with technical ML communities, and what better place than Hugging Face?
You previously worked in engineering roles. What attracted you to an advocacy role??You ran the AI Learners for 4 years. Has any of the experience from that helped you in leading the Advocacy team at Hugging Face?
I co-founded a community called AI Learners, in which we created content about Machine Learning in Spanish and ran monthly workshops. This was a great opportunity to engage with people, grow my skills, and contribute to the ecosystem. This is something that I really liked and it’s what led me to search for roles that involved more communities.
I joined Hugging Face as a Machine Learning Engineer working in integrations with different Open-Source libraries. After some time, we ended up building a team of Developer Advocacy Engineering.
What does a week in the life of a Machine Learning Engineer Lead, Developer Advocacy look like?
The approach to Advocacy at Hugging Face is very different than in other companies. In our day to day, we still contribute to the technical codebases from different open-source libraries. We make sure to invest in this as we need to be able to really understand our users and put ourselves in their shoes, so doing technical work is the way to do it.
Our week-to-week can be very different. We might do code to open source libraries (either from Hugging Face or other groups), craft technical content that can be documentation, guides, blog posts, and use cases, engage with the ecosystem from Discord to social media, build proof of concepts, test out different libraries, explore how to use the Hugging Face ecosystem in different domains, and much more. For example, a team member focuses on Reinforcement Learning, so he has built collaborations with different groups doing open-source in the space. He has also built a course in which people get to train their first RL agents and visualize them directly in the browser.
How is leading a team of developers different from being an individual contributor?
As an individual contributor, your impact is usually directly linked to the outcomes of your technical work and collaborations with others.
As a team lead, you also take a certain level of responsibility for the impact of each team member, the strategy of the team as a whole, and more. You also have new responsibilities to “protect” the time of the team members by avoiding having many meetings or prioritizing things that might not make the most strategic sense.
Which skills do you look for when hiring developer advocates and developer educators?
We look for people that have solid technical and communication skills. In our case, it’s important that they have Machine Learning knowledge and experience, but also have experience engaging with the community and/or creating high-quality technical content.
At the same time, we appreciate diverse backgrounds and skills, so we instead work with the candidates in identifying which would be the areas in which they could have the most impact and work in an area that is fulfilling and makes strategic sense.
领英推荐
From your experience, what is the difference between a DevRel, Dev educator, and a developer advocate?
I think each company defined them differently. In some companies, DevRel is a general organization within which you could find developer advocates and software engineers. In other companies, DevRels are roles that are similar to technical community builders.
Contributing to top open-source tools may sound intimidating for some engineers. How can one get started in contributing to data science and machine learning open-source tools?
One way to start contributing is by contributing to documentation. That’s a great way to learn about a new tool and at the same time contribute to the community.
Many repos have issues tagged as good-first-issues which are also a great way to start contributing to a library.
There are also no-code ways to contribute - from doing translations to building guides or blog posts on how to use a feature, that also contributes to the open-source ecosystem in different ways. I actually recently participated in a podcast about it.
What would your learning journey look like today if you just starting your journey to becoming a machine learning engineer? Which resources would you use and where would you find them?
I’m a strong believer that each person learns differently. Each person has different interests, ways of learning, and skills. Given that, I don’t think there’s a golden formula. Some people love fast.ai and have very successful careers thanks to it. Other people like to go extremely in-depth and understand everything they use, so they dive a lot more into the math.
You should do what works well for you in the format (video, books, etc) with the content that is the most interesting to you. It’s also important to take that knowledge and build things with it. It can be proof of concepts or small products or demos. Building is an amazing way to learn!
You have a master's degree in computer science. What role has it played in advancing your career in data science and machine learning?
I did a part-time master's at the same time I was working. It was a great opportunity to connect with other people in the ecosystem and increase the scope of my knowledge about ML which was hand-in-hand with my work as an MLE. I would not say it advanced my career, but it gave me new knowledge and skills useful for my day-to-day job.
What role has mentorship played in your career?
I had an amazing informal mentor (Paige Bailey) that helped me explore my career interests, shared feedback, and help me connect with some amazing people. Thanks to her I explored a bit the Product Management path and connected with many people in the Computer Vision ecosystem.
How important is writing as a skill in advancing a career in data science and machine learning?
A big part of what data scientists and MLEs do in their day to day is communicating. For example, a data scientist might spend weeks doing an in-depth analysis of some trend. The way to get value from this analysis is to translate it into actionable outcomes and communicate them with other parties involved. As such, having strong communication skills can be essential for one’s impact.
With many companies working remotely, having strong writing skills also becomes more important as it’s the day-to-day communication medium.
Where can people find you online?
Twitter is the best place to connect with me.
?? Enjoy this newsletter?
Forward to a friend and let them know where they can subscribe (hint: it's here).
Anything else? Hit reply to send us feedback or say hello.
Join the conversation: Got more questions for Omar Sanseviero or comments? Join the conversation in the comments section.