The Future Is Now: Leveraging Machine Learning for Large Scale code Analysis with Fransesc Campoy and Fotis Georgiadis

I had the pleasure of interviewing Francesc Campoy, the VP of Developer Relations at source{d}. Previously, he worked at Google as a Developer Advocate for Google Cloud Platform and the Go team. Thank you so much for doing this with us! Can you tell us a story about what brought you to this specific career […]

I had the pleasure of interviewing Francesc Campoy, the VP of Developer Relations at source{d}. Previously, he worked at Google as a Developer Advocate for Google Cloud Platform and the Go team.

Thank you so much for doing this with us! Can you tell us a story about what brought you to this specific career path?

I used to work at Google with the Go team and Google Cloud Platform.

With the Go team I discovered a passion for developer tooling done right. You could ask many developers and they will tell you their favorite aspect of Go is not the language itself, but rather the tooling. There’s a bit of an obsession in the community for intuitive tools that compose well with others.

At Google Cloud Platform I learned about computation at scale, distributed computing, and, of course, Machine Learning. The rise of Tensorflow, Spark, Dataflow, and others made it clear that Machine Learning and Big Data were the future.

So when the opportunity of working on the crossroads of those two fields, for which we coined the term ML on Code, I simply couldn’t hide my excitement.

Can you share the most interesting story that happened to you since you began your career?

While working at Google, I had the immense honor of interviewing Vint Cerf (one of the fathers of the internet) for episode 100 of the Google Cloud Platform Podcast. That, by itself, is already an interesting story in my nerd book but the interview was an amazing experience.

I remember asking Vint whether he expected the invention of the internet to cause such a dramatic disruption on literally every aspect of our lives … he smiled and said “yes, of course”. I think that had anyone else replied in such a way I would have found them a tad full of themselves, but when Vint said this his voice was not full of pride but rather of humility and a slight concern. He then went on to discussing the issues that the internet had also brought, and how he and his team were tackling them.

Can you tell us about the “Bleeding edge” technological breakthroughs that you are working on? How do you think that will help people?

At source[d}, we’re working on leveraging Machine Learning for Large Scale code Analysis. We envision every organization running a data pipeline over their software development life cycle, where source code becomes a unique dataset that can be analyzed to not only provide business insights to management but also actionable coding suggestions to developers.

How do you think this might change the world?

It will change the way they learn programming as well as how they write & review code.

It will eventually lead to better tools for writing code and an automated way to get feedback on the code we write.

While I was working at Google I had the chance of having my code reviewed by incredibly talented engineers. That was, by far, my most enriching experience during that time and the one that made me a better engineer. Imagine providing that same experience to the millions of developers out there, with the power of Machine Learning.

Keeping “Black Mirror” in mind can you see any potential drawbacks about this technology that people should think more deeply about?

Ultimately, we’re talking about AI assisted coding here so this could mean fewer jobs for developers. However, while it might in the long term destroy some jobs it will also create a lot of new ones.

I imagine that when CAD technologies appeared, some architects were scared of losing their jobs, but nowadays no professional architect would diss technology as having a bad impact on the profession.

Was there a “tipping point” that led you to this breakthrough? Can you tell us that story?

Initially source{d} raised a series A of funding on the premise that it could leverage AI to match developers to jobs. However, the team quickly realized that applying Machine Learning to analyze the source code of potential candidates came with a wealth of actionable information not only useful for recruiters but also engineering managers and developers alike, no matter their industry.

What do you need to lead this technology to widespread adoption?

The technology is maturing really fast, so I have no doubt that it will change the way we program eventually.

To accelerate that growth, though, we need to show executives the return on investment they are getting from using our technology and use the revenue from our existing products to found the development of an open source platform where all developers can both develop and share Machine Learning models and code analyzers.

What have you been doing to publicize this idea? Have you been using any innovative marketing strategies?

We’re developing a free dashboard for developers to get interesting metrics about their own code or favorite open source projects. We think the data we surface is going to be interesting enough to them that they will share with their network and help us create awareness around the notions of “Code as Data” and “Machine Learning on Code”.

None of us are able to achieve success without some help along the way. Is there a particular person who you are grateful towards who helped get you to where you are? Can you share a story about that?

There have been many people that have helped me succeed, but I think I would not be where I am if it wasn’t for Rob Pike. He accepted me as a member of the Go team to work on Developer Relations even though I didn’t have any experience in the field.

Thanks to him, and to the mentorship of Andrew Gerrand, my career evolved from pure engineering into developer relations and recently product management.

How have you used your success to bring goodness to the world?

Working in Developer Relations gave me the opportunity of growing a pretty large technical audience. I decided to give back by mentoring engineers, teaching at non profit organizations such as Girls Who Code, Black Girls Code, Women Who Go, and Mission Techies.

I also often publish talks and workshops which are free for anyone to use and adapt (OSS FTW!), and I host a YouTube channel teaching Go topics called justforfunc.

What are your “5 Things I Wish Someone Told Me Before I Started” and why. (Please share a story or example for each.)

  1. Everything is possible, but you gotta try hard. I almost gave up on my career at Google as a software engineer after failing the interview twice. Luckily I continued out of curiosity more than anything, thinking “what could go wrong?”. Turns out nothing went wrong and I got the job. Even if you think something is very hard to achieve you gotta give it a real try, really go for it, and if you fail at least you know that you tried your best.
  2. Your principles are worthless if you don’t do anything about them. Your personal brand is very important, and I’m not only talking about your social media brand, but rather of who you are, what your principles are, and how public you are about them. Believing in equality, justice, and fairness is obviously great, but it will not necessarily help anyone if you don’t do anything about it. Be vocal about what you care for, and make a positive impact whenever you can.
  3. Send the elevator back down. In your career you will have the opportunity of helping people that are barely starting. You should do this because it’s the good thing to do, obviously, but also because the networks you create around you are those that will be essential when you need help. This might sound like a bit from The Godfather, but, nevertheless, helping others is almost always worth it. Take some time for it.
  4. Keep your calm and your smile. Whenever you are in a stressful situation, losing your calm, your smile, or your manners will never ever lead to a pleasant conclusion. There’s a great book on this topic called Getting More by Stuart Diamond. Thanks to this I’ve indeed gotten more than I would ever by shouting and complaining.
  5. Keep on learning. It might seem like once you’ve achieved a certain goal in life, such as a good career with a good pay, you can stop trying to aspire for more. I think that the moment you stop trying to get better, you start getting worse. Keep learning more about what you do and about anything else you might develop an interest in, even if you end up staying in your field it will help you be more effective communicating with others. The number of well-known executives that started as developers is pretty mind blowing: did you know that Eric Schmidt created the Lexical Analyzer lex?

You are a person of great influence. If you could inspire a movement that would bring the most amount of good to the most amount of people, what would that be? You never know what your idea can trigger. 🙂

I deeply care about ecology and the health of our planet. I would like to use technology so that making the right choices for our planet becomes the easy choice. Education can help only up to a point, but if we make it easier to be an ecologist, we can save our planet.

Can you please give us your favorite “Life Lesson Quote”? Can you share how that was relevant to you in your life?

One of my music teachers back in Barcelona used to use this phrase: the power of calmness. I didn’t really get how important this, how much it matters to keep calm when you’re going through hard times, having difficult conversations, or making life changing decisions.

Today I find that power of calmness by meditating and I wish I had started doing this long time before.

Some very well known VCs read this column. If you had 60 seconds to make a pitch to a VC, what would you say? He or she might just see this if we tag them 🙂

As you know, every company is becoming a software provider. Which means that ultimately every company will end up competing on their developer agility, code quality, security and code automation. In order to help your portfolio companies develop a competitive advantage you must give them the tools to measure progress towards their digital transformation initiatives and provide suggestions to improve its codebase and prevent technical debt. The most efficient way to do this at scale is to turn your code into a dataset and train Machine Learning models to continuously suggest improvements.

How can our readers follow you on social media?

Thank you so much for joining us. This was very inspirational.

Share your comments below. Please read our commenting guidelines before posting. If you have a concern about a comment, report it here.

You might also like...


The Future Is Now: “Now AI can help us to write code” With Francesc Campoy & Fotis Georgiadis

by Fotis Georgiadis

Spiros Skolarikis On How We Need To Adjust To The Future Of Work

by Karen Mangia

Chris McGrouther On How We Need To Adjust To The Future Of Work

by Karen Mangia
We use cookies on our site to give you the best experience possible. By continuing to browse the site, you agree to this use. For more information on how we use cookies, see our Privacy Policy.