OpenClassrooms is an online learning platform for vocational training, providing courses in IT, technology, entrepreneurship, and digital skills at large, in English, French, and Spanish.
- Founded: 1999 by Mathieu Nebra & Pierre Dubuc as le Site du zéro
- City: Paris, France
- Funding: 8.5M€
- Company size at time of writing: 60
- Tech team composition: 14 in the team(back, front, integration, QA, UX)
What’s on your pizza?
Tradimento: Tomatoes / Mozzarella fior di latte / Prosciutto cotto / Egg at ZAZZA, 18 Rue du Faubourg Poissonnière, 75010 Paris
Romain Kuzniak, CTO at OpenClassrooms
You and the CTO job
“The time I can spend coding is a good indicator of the efficiency of our workflows.”
Tell me a bit about your background
I’m originally a sound engineer. I worked for different recording labels and studios for about 4 years, but music is a bit too random when it comes to money. I got into coding by building a website for my band and finally studied programming at Paris 5 University.
I then worked for a few tech services companies on a lot of interesting projects, some of them really big, that made me level up in professionalism. After 2 1/2 years of it, I headed to a hiring firm and found OpenClassrooms that were searching for developers.
How did you join OpenClassrooms?
I had a Java background and the site was already in PHP, so the match wasn’t an obvious one. But at the first interview, I surprised myself imagining the future of the product, new features, what could be possible, etc. Things were starting pretty well, and I got hired.
I joined a team of already about 10 to 12 people, as a developer. I started taking the lead on quite a few things, as I was more experienced and was the first one in the team with a significant professional experience.
I then slowly migrated towards the CTO role, organically.
What do you consider your current job to be?
I’m mostly a facilitator for tech and product — I try to help everybody to work in the best conditions, find talent, get the best tools for the job, use the best workflows, etc.
The rest of the job is about project management, decision making with the founders and still quite a bit of programming (30 to 50% of my time). The time I can spend coding is a good indicator of the efficiency of our workflows. More time to code means that everything else went faster.
Has anything changed for you since you started?
The job changes every 3 months, because the company changes every 3 months. There’s no way to get bored while working at OpenClassrooms as it’s constantly evolving.
An example is when we decided to onboard quality mentors on the platform. Managing a community of dedicated mentors is a bigger deal than adding a few options on the site: it completely changed the organization and the thought process around the new vision.
I’ve also been trying to give more and more autonomy to the developers in the team. I used to keep an eye on everything, but I learnt to delegate.
I’m more of an experts’ manager than anything else now, I guess.
Let’s talk about tech
“It took us 6 months to restore all the functionalities of the site after breaking everything during the migration to v4.”
What’s your stack and why?
Symfony and everything that goes with it, on AWS. We go through a different company that manages our servers because we don’t consider devops being part of our core value. We used to manage everything, but it wasn’t the best use of our time.
On the front-end, we use React, with some parts of Jquery/JqueryUI still around. We’re currently building our mobile app in SWIFT, and we are closely looking at Progressive Web Apps for the future.
We can’t really switch technologies to follow the trends, we need robust ones because of the 3 million UVs on the site.
Have you ever had to change your stack?
Nothing huge. I joined when the site was already at its third version and at the very beginning it was a homemade framework. I migrated to Symfony 1, then Symfony 2 and React.
Have you ever faced a crisis?
Yes, and a huge one. A month after I joined, we released the v4 of the site, that wasn’t well tested enough. Everything worked well on our dev machines, but shit hit the fan when we went live because of the traffic.
We had to shutdown functionalities of the site that we reopened slowly — forums reopened first in readonly mode — over 6 months.
Since then, we got a lot more professional. We thoroughly test everything, and iterate a lot with small deploys. We can deploy up to 50 times a day, so nothing can really break the entire site.
The CTO life
“We’re were we are now because we failed when we needed to”
What is your main responsibility as a CTO?
Everything needs to work, always. I’m responsible for the product experience in general, that I manage with the founders.
One of my biggest responsibilities is to know when to say no and find the minimal iterations to reach a specific spot where we want to be. For example when we started onboarding the mentors, at the beginning everything was done through emails and Google Hangouts. When we validated that it worked, we actually built the feature.
Anything you would want to change in what you did in the past?
Nothing. We have a fail fast take decisions fast mindset. We are where we are now because of this attitude, because we failed when we needed to, and we learnt.
Learning from your failures is in our DNA, as long as the failures stay reasonable!
The people at OpenClassrooms
“I’m not telling them enough, but they are amazing people.”
Describe your tech team in a few words
Kindness is the first word that comes up to mind. And they are good, like, really good. I have complete trust in every single one of them.
What really spots me the most at OpenClassrooms is that we work on a product that makes sense, that helps real people. But building this is being part of a full human experience with the team. There were and will be hard moments, but everybody pushes each other to the top.
I’m not telling them enough, but they are amazing people.
Any hiring tip?
I pretty much know after a few minutes if I’m going to extend an offer or not. An informal discussion is everything it takes to know the attitude of somebody.
I end up asking very specific tech questions during an interview, in the hope that the candidate won’t be able to answer. I then measure how they react about not knowing. Are they going to try to bullshit me? Or just let go and say they don’t know? Or try to work with me to get more details?
If you’re going to work every day with somebody, you might as well want to be able to trust them fully.
The last thing I’m looking at is rigor. I’ve learnt from my experiences that it’s not something you can teach to somebody. They either have it or not. So I prefer to figure if they do beforehand.
Article written by Alban Dumouilla and originally published on CTO.Pizza