NationBuilder

Senior Software Engineer

Job Description

Posted on: 
September 10, 2024

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.

Responsibilities

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.

Job Requirements

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.
Are comfortable with ruthless prioritization required to make sure we are always working on the most important thing
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.

Apply now

More job openings