Backend/Full-Stack Software Engineer (Elixir)

  • Engineering
  • Remote job

Backend/Full-Stack Software Engineer (Elixir)

Job description


Overview of our stack:

● Our client application is written in Javascript (ES6+) and built with React and a Flux application architecture.

● The application is fully isomorphic, rendering application state/snapshots server-side where possible.

● Our API services are built with Elixir, Phoenix, and PostgreSQL following the JSON API specification.

● We run on AWS using Kubernetes and Docker.

On our engineering team, you'll be involved in the entire product development process as an equal thought partner from ideation, to engineering investigation, to design, and through implementation. At Albert, deadlines and scope are driven by the engineering team, not by teams or managers detached from the technical challenges. We take time to pay off technical debt, test, and plan long-term architectural improvements alongside new features. Most importantly, you'll see how rewarding it is to release features to tens of thousands of teachers who rely on Albert for their day-to-day instruction!


As a Backend/Full-Stack Software Engineer, you will work with our cutting-edge Elixir/Phoenix-powered API to support feature development and push the boundaries of scalability, stability, and speed. If you're willing and able to work fullstack, you will also work in our cutting-edge React application.


● be a major contributor to the team by writing modern, testable, and maintainable code to support Albert's roadmap;

● take ownership of features and engineering initiatives from end to end by going through design, implementation, test, and maintenance cycles;

● participate in and lead architectural and design review discussions;

● collaborate with other engineers and the Product team to define project goals and establish milestones;

● identify opportunities to improve existing code or architecture; and

● embody our core values and uphold our unique company culture.

Our engineering team encourages members to pursue full-stack contributions and expand their skill set. While it is not required or expected for a frontend or backend engineer to work full-stack, many do and we provide mentoring and support to this end. 


Competitive salary. We observe the same pay bands, regardless of where you live. For this role, our starting salary is $100,000 - $150,000 depending on seniority and experience.

● Health, dental, and vision insurance. We contribute 90% of the cost for our various medical insurance options and 85% for vision and dental. We contribute 50% for dependents.

One Medical. We cover enrollment in One Medical to provide all employees with convenient access to primary care.

Paid parental leave. Parents are eligible for up to twelve (12) weeks of fully paid parental leave after a year of service.

A 401k plan. Save for retirement with a fully managed plan and a 1% match.

Commuter benefit. Use pre-tax earnings on your commute through our managed platform.

Flexible, guilt-free vacation. Take guilt-free vacations with no hard limit. Most people take 3-4 weeks per year and are encouraged to take time off. This is not a vague policy where "unlimited" ends up meaning "hardly ever, it's too stressful to ask for time off." We actively encourage everyone to take off.

Half-day Fridays. We value work-life balance and observe half-day Fridays every week.


Since 2014, Albert has been powering feedback loops for students and teachers to improve educational outcomes. We do this by providing students with engaging, thought-provoking questions and feedback and teachers with actionable data and flexible instructional tools. We believe we can make the biggest impact by working through teachers, equipping them with the highest quality practice and assessment content possible.

At Albert, we don’t stop at creating a great product. We also obsess about providing delightful support, delivering impactful teacher training, and forging long-term relationships with our school partners. All of this starts with our culture. We stress freedom of opinion, think long-term, and empower people with autonomy and responsibility. We believe we do our best work when there are high levels of psychological safety, accountability, and a shared commitment to high standards.


Albert is proud to be an equal opportunity workplace. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity, or Veteran status. As we continue to grow, we do so with a focus on building teams representing the different cultures, backgrounds, ethnicities, and experiences of our users, students, and the world. We simultaneously strive to create spaces promoting personal growth, diversity, and inclusion.


We are a remote-first company. Most of our team is in Chicago, but you can live and work anywhere, but we are not yet set up to support international team members.


We look for people who are passionate learners, work well in teams, and take pride in their work.

The following are helpful:

● Professional experience writing services in functional languages using modern frameworks and infrastructure.

● Although helpful, experience with Elixir is not required for this position.

● Full-stack experience is a plus.

● Bachelor's degree in Computer Science or relevant professional experience working in a product-driven environment.

● Able to write well-documented, maintainable, and tested code.

● The ability to take a pragmatic approach to problem-solving and prioritization, always considering how to maximize value to users and the rest of your team.

● You're comfortable working in an agile environment and used to working collaboratively, participating in code reviews, and being a great teammate.

● You can be a leader in driving your team and the broader engineering team toward identifying and executing the best solutions.