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.

As a Senior Software Engineer you will build and maintain the software powering NationBuilder, while acting as a role model for the engineers around you. 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 don’t just solve the problem you were asked to solve, you think critically to understand the broader context, and you have the experience to identify the best solution, technology or process. You are capable of breaking down and implementing complex features. You are able to investigate difficult and deeply technical issues while setting and following standards of quality for software development, testing, and documentation. 

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 diversity thrives everyday. 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.


  • are always interested in learning new things.
  • get excited when you have the chance to pair with other engineers.
  • practice test-driven development and judicious refactoring.
  • 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.”
  • clearly 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.
  • bring at least 3-5 years of professional software engineering experience.
  • have insight into how things can go wrong and you actively work to prevent that from happening.

Skills required:

Parts of our technology stack are written in Ruby on Rails and parts are in C#. The ideal candidate is enthusiastic about working with one or both, has a strong technical background, and brings professional Rails or C# experience. 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, C#, PostgreSQL, MongoDB, Redis, HTML/CSS/SCSS, and JavaScript (React/Redux/Bootstrap).

NationBuilder is an equal opportunity employer and we value inclusion. We are committed to finding talent that is not determined on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status. If you are someone who is in search of a place to thrive and grow, we really want to hear from you!

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.

Apply for this Job

* Required
resume chosen  
(File types: pdf, doc, docx, txt, rtf)
cover_letter chosen  
(File types: pdf, doc, docx, txt, rtf)