We are a growing global company that creates meaningful solutions and technology products to enable students and learners of any age to forge their path to success by eliminating barriers and inspiring them to achieve their education and career goals.
Our company values a culture of openness, community, and sense of ownership. You will have the opportunity to collaborate with a global team of highly-talented people working across various disciplines to design and deliver solutions that have a real impact on people’s lives.
We offer competitive salaries and state-of-the-art computer hardware and software. We value work life balance and offer flexible work schedules.
Education and growth are at the core of the products we build, and as a member of our team you will have the opportunity to explore and learn new technologies. For qualified candidates, we provide full support for learning all technologies in our stack that you are not already familiar with.
About the Role:
For this role, we are looking for a Backend Software Engineer who is passionate about large-scale, distributed systems. As a Backend Software Engineer, you will be responsible for architecting and building the services that drive our mission critical high-availability applications. An ideal candidate will care about producing clean, maintainable, well-tested code and will do this as a member of a team, helping the group come up with solutions to balance performance, cost, and quality. We are looking for someone with experience in writing code for a 24x7 commercial service.
Our backend services are written in: Elixir, Ruby, and Python. A qualified candidate is an expert in at least one of these, and we will provide support to learn the others as needed. Since Elixir is a fairly new language, we have helped many Ruby and Python developers add Elixir to their toolkit!
Our backend stack also includes: Phoenix, Ruby on Rails, PostgreSQL, ElasticSearch, and RabbitMQ. Our production deployments are on AWS.
Responsibilities
• Build APIs to support mobile apps, web UIs, and data ingestion applications
• Analyze and improve the efficiency, scalability, and reliability of our backend systems.
• Write robust code; demonstrate its robustness through automated tests.
• Work with Product, Frontend, Data Engineering, and QA teams, helping the team respond quickly and effectively to business needs and build quality software.
• Debug crash logs and investigate bug reports from users.
• Improving application performance through code refactoring and organization.
Requirements
• Bachelor’s degree in Computer Science or at least 2 years of practical experience
• Expertise in at least one of our core languages: Ruby, Python, or Elixir
• Familiarity with, or strong interest in learning, our core backend technologies like Elixir, Phoenix, Rails, and RabbitMQ
• Familiarity with database and data storage technologies like PostgreSQL, Redis, and ElasticSearch
• Comfortable diving into and learning to effectively build and operate in every part of our stack
• Availability to overlap to U.S. time zones as needed