Cool Coding Job: Duolingo Director of Engineering


The process of learning a programming language is often compared to learning a spoken language: there’s syntax, unfamiliar grammar, relentless practice, and rewarding a-ha moments. Vanessa Jameson, the Director of Engineering at the education app Duolingo, knows a thing or two about both domains.

At Duolingo, Vanessa leads a team of engineers that focuses on new product initiatives. Most recently, she led the engineering team that launched the first music course on the Duolingo app. (You can watch a video of Vanessa demoing the new feature in-depth at Duocon here.)

Vanessa was first exposed to coding and technology as a teenager, long before there were language learning apps or online learning platforms like Codecademy. “I loved puzzles and problem solving,” she says. “The experiences that I had with coding early on also helped me recognize that, through coding, I could exercise that muscle and accomplish something great.”

Learn something new for free

Before joining the Duolingo team in 2017, Vanessa founded an early-stage startup and was a Senior Software Engineer at Google. “Throughout my career I’ve been drawn to ‘zero-to-one’ efforts of creating something from nothing,” she says. “That’s what really excites me.” Read on to hear more about Vanessa’s career trajectory, her day-to-day responsibilities, and her tips for people to aspire to work somewhere like Duolingo.

What got me interested in the job

“Coding was an emerging field when I was a kid. My dad was in IT, so we had probably more technology than most households back then. I loved to play with our computer or whatever he brought home. We didn’t have computer science in high school, so I pursued a couple of coding camps over the summer.

It wasn’t really until I went to Carnegie Mellon University that I actually learned to code well. In college, I was involved in the DARPA Grand Robotics Challenge, which was the very first autonomous vehicles competition to race cars across the desert. I found being connected to something that was clearly so important and such a moment for technology really inspiring and motivating.

I knew about Duolingo from the perspective of it being an impressive startup coming out of Pittsburgh, where I live. I looked up to Luis von Ahn and Severin Hacker, the founders of the company, and was really impressed by the early success of the company.”

How I got in the door

“Natalie Glance was leading engineering at Duolingo, and we knew each other from working together at Google. I was moving on from my startup at that time [2017], and more than anything else was looking for a break. I got together with Natalie, and she convinced me to join Duolingo full time instead of taking a break, which I’m very grateful for.

Natalie brought me into the office and introduced me around and she eased me into it. As I met people, I realized how incredibly kind, collaborative, and mission-oriented the people were here. People at Duolingo tend to be really inspired and motivated by their work having a human impact — and you can just feel that energy by being in the office.”  

Be willing to jump in on things — even if you feel you’re not 100% qualified. When I reflect on my career, the moments when I’ve done that are the moments that I learned or developed the most.

Vanessa Jameson

Director of Engineering at Duolingo

What I actually do all day

“I have two main functions in my role. One is people-oriented: making sure that teams are running well, and that the engineers are fulfilled, meeting their career goals, and working on the right things. The other piece is very strategic: driving the direction of the math and music products, making sure that we’re focusing on the highest impact work, and that we have the best chance of success.

My co-leads on new initiatives are a Product Manager and a Designer. I might be spending time with them, doing problem solving, talking about what we’re seeing in data, or brainstorming ideas. I might be working with the designer that helps to lead music or brainstorming ideas for the music product with the learning scientist. Or maybe we’re iterating on product features as a cross-functional team (design, engineering, product, learning science).

We do a lot of prototyping, so we’ll play with something to teach a new concept. There’s lots of rapid iterating, and we call this ‘dogfooding.’ We have a culture of using the products that we work on, and I think it makes the product better. A lot of folks with all kinds of different backgrounds will become opinionated about what’s working well or not working well — that’s what we love.

These days I am coding less and less, but I still read and review a lot of code. I did write all the initial code for the first versions of our music course myself. When we’re starting something new, we like to start with a very small team. If you have a larger team working on something that is really new, it is harder to move faster. When you have a smaller set of people, you can make decisions more quickly.”

Here’s what you need to get started

Want to learn how to code so you can work on a popular app like Duolingo? Vanessa’s team primarily works with the mobile development languages Swift and Kotlin, as well as Python for the back end. The team relies on tools like GitHub for code reviews and Figma for prototyping. They also use GPT to support various projects and GitHub’s Copilot for AI assistance on the coding side.

Once you’ve mastered the practical coding skills, Vanessa’s advice is to identify what excites you and what types of technical problems you’d like to solve. If you’re not sure what area of tech you’d like to work in, consider taking our free course Choosing a Tech Career.

No matter where you land, it’s important to take initiative and be a great person to collaborate with, Vanessa says. “Be willing to jump in on things — even if you feel you’re not 100% qualified,” she says. “When I reflect on my career, the moments when I’ve done that are the moments that I learned or developed the most.”

Leave a Reply

Your email address will not be published. Required fields are marked *