Senior Software Engineer: System and Infrastructure

New York

Senior Software Engineer: System and Infrastructure

New York

Apply Now

Senior Software Engineer: System and Infrastructure

Full-time, New York, Engineering
Codecademy teaches millions of people across the world how to code on our online platform. Our mission is to equip our users with technical skills they need to find success in a rapidly evolving digital world. We offer a free product to make discovery of and learning to code accessible to everyone, and paid products that provide a more intensive learning experience. Codecademy was founded in 2011 and received Series C funding in 2016.

As a senior systems software engineer, you will work on unique problems such as allocation and securing of our interactive learning environment resources to users on the fly as well as more familiar problems such as scaling high traffic services, improving the server provisioning process, and refining service deployment infrastructure. As the responsibilities grow, you will help hire infrastructure/systems engineers to complement your fields of expertise.

Software engineers at Codecademy build products in small, cross-functional teams. As a company, we establish clear goals and each team determines how to contribute to these goals. We use agile processes to maintain communication and ship quickly and iteratively. Team members collaborate on the entire development process from ideation to delivery.

What you'll do

Provide millions of users with a private web server, development environment, and code evaluation service.

Manage and improve our cluster that spawns over 10,000 Docker containers a day.

Move our suite of services from Chef to Docker.

As we release new courses, write backend services for supporting new technologies.

Improve our engineering team’s operations, including how we launch local services and build / deploy code.

Ensure our entire system is stable, performant, and well-instrumented.

Who you are

Expert with at least 2 programming languages, preferably a dynamic and a compiled language

Three or more years of software engineering experience

Experience working with Linux/Unix, preferably with system libraries, networking, and file systems

Experience with containerization technology (Docker, openVZ, lxc, etc.)

Experience with configuration management systems like Chef, Ansible, Puppet, or Salt

Experience building software used by thousands of concurrent users

Experience with setup and management of a cloud-based platform

Tech we use

React, Redux, Jest, Webpack, ES6+, SCSS

Ruby on Rails, Go

MongoDB, Redis, ElasticSearch

AWS, Docker, Chef


We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.
Apply Now