Responsibilities
- Work across the full stack, from UI elements to backend services—including database tuning and performance.
- Build features from start to finish and back end to front end, covering architecture design, coding, automated testing, and supporting each implementation in production.
- Iterate quickly and adapt, working closely with your teammates in a fast-paced, agile environment—both within your pod and across Engineering as a whole.
- Tackle a wide variety of technical issues throughout our stack and contribute to every part of the code base and our shared documentation.
- Contribute to team-wide initiatives including coding standards, technical debt refinement, and system security monitoring.
- Share what you know—through code review, pairing, and mentoring engineers earlier in their careers.
- Participate in interviewing and onboarding new teammates, and help us refine how we interview.
- Support the platform on a rotational basis (team-based support and a paired 24/7 on-call rotation).
Requirements
- Three or more years of hands-on, professional development experience.
- Functional, real-world programming experience (vs. theoretical) in one of the following: Ruby, Python, or JavaScript/Node.js.
- Experience with MVC frameworks such as Rails, Django, or Pyramid.
- The ability to hold your own on the front end and the back end.
- Experience with modern front-end frameworks like React and Vue.js.
- SQL database experience (PostgreSQL, MySQL, SQLite).
- Experience with deployments to Heroku, AWS, or similar.
- Good judgment about balancing swift delivery against long-term code maintainability.
- Clear, proactive communication—you ask questions early and share progress often.
Nice to Have
- System design experience, with a focus on architecting solutions that can be implemented incrementally while keeping an eye toward scale and resilience.
- Deep expertise with Ruby/Ruby on Rails and RSpec.
- Experience with Postgres database administration.
- Shipped code that has supported tens of thousands of users, including enterprise and business customers.
- Operations experience and how it pertains to site reliability and speed.
- Familiarity with networking, caching, and databases, and how to triage performance and stability issues.
- Experience working on a fundraising or crowdfunding platform.
- Experience working on a fintech or payments technology product.
- A good eye for intuitive, user-friendly front-end design.
Benefits
- Real ownership of production work, with the support and code review to back it up.
- A say in the technical decisions that shape the platform, not just the tickets that come out of them.
- A fully remote team that's built for remote work, not retrofitted for it.
- The chance to help schools raise money that changes students' lives.
Additional Information
- Team members are expected to attend multiple company-wide and team-specific onsites throughout the year.
- Support the platform on a rotational basis (team-based support and a paired 24/7 on-call rotation).
- Participate in interviewing and onboarding new teammates.