ABOUT KHAN ACADEMY
Khan Academy is a nonprofit organization on a mission to provide a free, world-class education to anyone, anywhere. We already reach millions of students every month and are growing rapidly, and right now we’re hard at work helping learners address any unfinished learning that the COVID-19 pandemic may have caused. We also know that not all communities have been impacted equally by this pandemic, which makes our work focusing on providing equitable solutions to historically under-resourced communities even more important.
WE ARE DRIVEN BY OUR COMMUNITY
Our students, teachers, and parents come from all walks of life and so do we. We are fun, diverse, quirky people that come from a variety of backgrounds. Our team includes people from academia and from high tech companies and tiny startups. We hire great people from diverse backgrounds and experiences, not just because it’s the right thing to do, but because it makes our company stronger. Valuing diversity, equity and inclusion is necessary for us to actualize our mission and truly impact the communities we serve. We believe that the best way to provide impactful education is to create a diverse team of people from different backgrounds, races, religions, genders, sexual orientations, ages, and experiences. We’re a hardworking team that’s passionate about helping learners and teachers around the globe! We strive to be world class in investing in our people and commit to developing you as a professional.
THE ROLE
Currently we are focused on providing equitable solutions to historically under-resourced communities of learners and teachers, and guided by our Engineering Principles. On our infrastructure team, we currently have 2 open roles. Both are Senior Fullstack/Infrastructure focused in general, but specifically one role is focused on Security and the other on Reliability.
For Reliability:
Research, define, and implement metrics to measure our distributed system's cost, reliability and performance in order to keep our engineering teams focused on the most crucial work that will support millions of learners and teachers.
Enhance system observability by providing tools and dashboards for our engineering teams.
Work across engineering teams and the broader organization to identify, define and promote engineering best practices around topics like incident management process, logging, and error handling.
Explore and implement chaos engineering principles into our testing processes.
For Security:Â
Work with other software engineers in all parts of the organization to address security issues.
Resolve security bugs in the Khan Academy web application.
Build new features to support security goals.
Help where needed. Bring your own creativity to both solutions you implement and new ideas to improve Khan Academy’s security posture.
Collaborate with our infrastructure teams, legal team, community support team, and community volunteers.
Configure security tools to better protect or inform us.
Connect with pentesters, auditors, and other external partners as part of our regular security assessment program.
We strive to build using technology that is best suited to solving problems for our learners. Currently, we build with Go, GraphQL, JavaScript, React & React Native, Redux and we adopt new technologies when they’ll help us better achieve our goals. At Khan, one of our values is “Cultivate Learning Mindsets”, so for us, it’s important that we’re working with all of our engineers to help match the right opportunity to the right individual, in order to ensure every engineer is operating at their “learning edge”.
You can read about our latest work on our Engineering Blog. A few highlights:
How Khan Academy Successfully Handled 2.5x Traffic in a Week
Where Go and GraphQL collide: Behind the curtain with genqlient
Half a million lines of Go
Why we switched to Airflow for pipeline orchestration
Incremental Rewrites with GraphQL
Go + Services = One Goliath Project
WHAT YOU BRING
5+ years of experience building and supporting highly scalable web services handling large volumes of requests per second, and working with distributed, eventually-consistent databases.
Strong technical project management skills, as our Senior Software Engineers often lead projects.
Strong communication, thoughtfulness, and desire to give and receive regular feedback
Experience building and maintaining complex software. You’ll join us in writing clean, maintainable software that solves hard problems. You’ll write testable, quality code. You’ll push the team and the mission forward with your contributions.
Empathy for learners around the world. You love learning and are excited about helping others learn to love learning. You’re motivated to learn new things and share what you learn with the world.
Excitement about helping Khan Academy bring a free, world-class education to the world.
WE WELCOME