At NationBuilder we create software for leaders. We work with advocacy groups, nonprofit organizations, political candidates and parties, community organizers, and anyone else trying to make something happen in the world. Our customers come in all shapes and sizes, from small town organizers trying to win their school board election, to the largest political parties, candidates, and NGOs around the world. To learn more about NationBuilder, read about our mission, beliefs and values.
We believe the best products are built by teams rich in diversity and aligned in mission and values. That means creating an authentic culture where people thrive and grow. It means building a team where different perspectives are valued through real listening, and assumptions are challenged through healthy and necessary conflict. It means building a team diverse across race and gender. It means constantly striving to build the best and to be the best.
Our engineering team dedicates itself to continuous learning and improvement. We optimize for rapid, agile development with engineers deploying to production many times a day. To find and build the best solutions, we expect our teams to iterate. From the introduction of minimum viable products to the release of more mature features, Engineers must actively seek feedback from customers and internal stakeholders, gather data, and continually improve both the product and development process.
The role of Software Engineer is to build and maintain the software powering NationBuilder. You contribute to the effectiveness of the team through constant collaboration, efficient use of available resources, and writing software that is easy to reason about and modify in the future. You think critically to find the best solutions, technologies, and processes. You are capable of implementing significant portions of code and investigating issues in a complex codebase, while following standards of quality for software, testing, and documentation.
Looking ahead at some of the potential things you’ll be at the forefront of:
- Innovating and moving the backbone of our platform forward
- Driving creative approaches in how we instrument and maintain key performance metrics
- Have the opportunity to innovate on future job patterns for our background processing
- Ensure we stay on edge of Ruby on Rails through a continuous upgrade process
- Looking at innovative ways to ensure the best performance of our page loads and rendering
- Developing creative solutions to how we can create an even tighter integration between our ActionButton product and the NationBuilder platform
You:
- Have a growth mindset and are eager to learn.
- Get excited when you have the chance to pair.
- Enjoy being responsive to customer feedback.
- Are a pragmatic problem solver, knowing how to find the middle ground between “perfect, but takes forever to code” and “fixes it now, but nobody will ever be able to understand what I did.”
- Are developing your skills to communicate about technical solutions with both engineering and non-engineering stakeholders.
- Work well in small teams with a clear mission.
- Have the insight to know what’s important and the dedication to get it done.
- Are comfortable with ruthless prioritization required to make sure we are always working on the most important thing.
- Bring at least 1-3 years of professional software engineering experience.
Skills required:
You are enthusiastic about working with Ruby on Rails, have a strong technical background, and professional experience with Rails. We value the willingness to learn our technologies and our environment. An open and disciplined approach to your work is as important to us as years of experience with any of the technologies in our stack.
We use Ruby, Rails, PostgreSQL, MongoDB, Redis, HTML/CSS/SCSS, and JavaScript (React/Redux/Bootstrap).
To apply, Tell us why you're a good fit for the job! Include contact details, resume, that sort of thing; sites you’ve worked on recently; Github account (or other online code) if you have it.