We are building a small elite team to change how people learn, teach, and use programming.

Note that the following roles are merely approximations. If you're a talented hacker but don't really fit the requirements then get in touch anyways.

  • Build fast and responsive UIs in React.js
  • Design data models and build APIs in GraphQL
  • Monitor and optimize server and database performance
  • Work with designers on new features and products
  • Design and deploy a/b tests and optimize conversion rates
  • Some experience building UIs with React.js
  • Some experience building APIs in Node.js or a similar technology
  • Love building product and shipping features
  • Comfortable talking with and collecting feedback from users
  • Self-directed and comfortable working autonomously
  • Expert React/Redux/Graphql engineer
  • Experience building social networks, forums, or similar products
  • Experience with data-driven design and development
  • 4+ years working with relevant technologies
  • Build an interactive development environment
  • Build a fast and easy-to-use IDE
  • Design and implement IDE plugin system
  • Expert-level knowledge in JavaScript and Web technologies
  • Experience building a developer tool (it can be personal dev tools)
  • Appreciation for developer experience
  • Experience building and maintaining large systems
  • Experience with performance optimizations
  • Self-directed and comfortable working autonomously
  • Ability to debug problems in production systems, i.e. comfortable reading logs
  • Expert React.js programmer
  • Appreciation for simplicity and pragmatism
  • Experience building IDEs
  • Contributed to relevant open-source projects: VSCode/Monaco, Xterm.js, etc.
  • 5+ years programming
  • 2+ years building tools (or relevant tech)
  • Build an interactive programming environment backend
  • Build a container orchestration solution for live-deployment
  • Design and implement cloud development APIs
  • Deploy and operate server clusters (DevOps)
  • Expert-level knowledge in one of systems programming languages: Go, Rust, C++, etc.
  • Understanding of routing, Linux network stack, proxies, load-balancers, etc.
  • Deep knowledge in Linux
  • Experience working with containers and understanding of server virtualization
  • Experience deploying maintaining large systems
  • Experience building performant distributed systems
  • Experience in API and RPC design
  • Self-directed and comfortable working autonomously
  • Ability to debug problems in production systems, i.e. comfortable reading logs
  • Expert Golang programmer
  • Appreciation for simplicity and pragmatism
  • Experience building Platform/Infrastructure/Runtime as a Service
  • Contributed to relevant open-source projects: Linux kernel, container solution, etc.
  • 5+ years systems programming
  • 2+ years working in infrastructure

Email us at [email protected] with a bit about your past work, and what you're currently interested in working on.

Our vision is to create a programming environment that blurs the distinction between learning and building. A development experience where the tedious setup and maintenance of the environment is taken away and what's left is the programmer and their creativity. This programming experience would be powered by what we're calling a Holistic Development Service: an always-on service that understands your code in all its stages, A service that can be accessed anywhere you are regardless of your device, platform, or programming language.

We are a small team with a passion for making programming learnable, accessible, and usable. Amjad and Haya started working on the idea that would become back in 2011 and by open-sourcing the underlining technology they helped launch the learn-to-code movement. Amjad then joined Codecademy as a founding engineer to make it easy for people to learn coding online. Afterward, Amjad joined Facebook where he worked on React Native and brought the same philosophy of fast iteration and feedback loops (REPL) to mobile development.

In 2016, Haya and Amjad went back to working on and decided to take it from a side project to a company. Shortly after that Mason joined us and since then we've built our IDE, our live-deployment container cloud, and our education platform. So far we've touched so many lives with our technology -- millions of students around the world learned to code on our platform, made tens of thousands of CS teachers more effective, and empowered developers to build and share their creations with the world.

We look for engineers that build their own tools, have some experience in open-source software, and care about developer tools or programming education.

We believe that at this moment in the history of computing, a small team of programmers can build world-changing platforms, tools, and products. That's why we look for engineers that are self-directed, understand what we're creating at a visceral level, and are excited by our vision of the future. We look for people that are not only excited to deploy their skills at work but also their ideas, dreams, and ambitions.

We're building a first of its kind developer platform that can be used to learn and practice programming, build and deploy applications, and share and discuss with a community of peers. We realize this is an ambitious plan, but we think it's high time someone built this. There is no good reason for the insane fragmentation in programming tools today -- someone learning to code needs to pick up at least ten disjointed tools and platforms to do anything interesting with programming.

We spend most of our time between two core areas of our technology -- the IDE and the container infrastructure. We built the world's fastest and first server-rendered IDE. The IDE has a small functional core -- borrowing ideas from Redux -- everything is a plugin. This architecture allows us to build an adaptable IDE where it starts very simple and grows with the user as they learn more and require more horsepower -- this is crucial for newcomers.

As for our infrastructure, we're building a new kind of computing platform: it's Serverless in that users don't have to care about the underlying resources, but it's not Serverless in that it's stateful. This way it's interactive, and since we're focused on newcomers, it's a much more natural programming model. We're also building a filesystem abstraction that allows your working directory to travel with your container between development and production and as it goes offline and online.

These are some of the benefits we offer our employees:

  • Your choice of equipment and software
  • Health benefits for you and your dependents
  • Flexible work hours
  • Autonomy at work