Senior Software Engineer, Distributed Systems

Duolingo is the most popular language learning application in the world, with over 300 million users. We are passionate about education, fact-based decision making, and elegant solutions to cross-functional problems. If that sounds like you, then come join us as we build the next-generation learning company!

As a Software Engineer, Distributed Systems, you will work closely with cross-functional engineering teams to ensure Duolingo’s complex distributed systems and products are built and maintained with world-class quality, and operated in measurable and scalable ways.

Responsibilities:

  • Collaborate with internal teams to identify sources of instability in distributed systems and drive operational excellence
  • Own core infrastructure (i.e manage, diagnose, and debug large-scale distributed systems in production)
  • Provide system design consulting, develop software platforms/frameworks, and conduct launch reviews and root cause analysis
  • Maintain and document sustainable postmortem/incident response practices
  • Understand and resolve potential threats to performance or security
  • Monitor and measure latency, availability and overall system health, once live
  • Advocate for and implement changes that improve reliability, scalability, and velocity
  • Monitor and stress test systems to collect metrics for tuning and capacity planning
  • Reduce the burden of toil with iterative development of tooling and automation
  • Collaborate with engineering teams to release new features and become an authority on our services
  • Participate in on-call rotation

Requirements:

  • Bachelor’s Degree in Computer Science
  • 3+ years of experience within site reliability engineering/devops of a product with millions of users 
  • Experience analyzing and troubleshooting large-scale distributed systems
  • Proven knowledge of C, C++, Java, Kotlin, Python or Go
  • Fluency in networking protocols, such as TCP/IP, HTTP, SSL, DNS, etc
  • An understanding of containerization toolsets and container orchestration technologies (Docker, Mesos, Kubernetes, Nomad, etc)
  • Effective communication skills and understanding of best practices around tools/methodologies for Infrastructure, Automation, Capacity Planning, etc.
  • Ability to be on-call for critical incident responses

Meet Some of Duolingo's Employees

Antonia S.

Senior Software Engineer

Antonia is a full-stack software engineer who focuses on building out Duolingo's Tinycards product—a customizable flash card app that helps students memorize anything.

Connor B.

Senior Software Engineer

Connor’s official title is Software Engineer—but his role extends beyonds just writing code. He also builds specs, makes design mock-ups, and organizes meetings to talk about the Duolingo product.


Back to top