NationBuilder is looking for a software engineer with experience designing and implementing distributed software systems. We are building the future of NationBuilder’s core platform using distributed streaming platforms (Kafka/Kinesis), message queues (SQS/RabbitMQ), APIs (GraphQL/REST/gRPC), and last but not least, services (Ruby/NodeJS) running in the cloud (Lambda/Kubernetes). Experience with those technologies is preferred, but other relevant experience will not be discounted.
NationBuilder creates software for leaders of all kinds - political candidates, nonprofit organizations, anyone building a community of people to make something happen in the world. To learn more about NationBuilder, read about our mission and beliefs.
As a member of the Platform team, you might work on:
- Refactoring and re-architecting our software to enable multi-region deployment.
- Bringing thread safety to our core, monolithic Ruby on Rails application.
- Enhancing our automated system to provide SSL certificate for all of our customer’s websites using Hosted DNS and Akamai APIs.
- Evaluating and prototyping with new technologies like GraphQL, gRPC, and Kafka to enable the rest of the engineering team to solve problems in new ways.
- Responding to incidents, performing service restoration tasks, and contributing to improving our software to reduce the frequency and impact of incidents.
- Expanding our existing Public API to make new integrations with our core application possible.
- Introducing Internal APIs that enable a resilient service-oriented architecture.
- Enhancing our Public APIs to allow 3rd party developers to build innovative applications.
- Extracting non-core functionality from our monolith into modularized components or services, leveraging the same APIs that we provide to our customers.
As a Software Engineer, your experience and qualities should match the following:
- 3+ years of professional software engineering experience
- A firm grasp on Computer Science fundamentals: algorithms, design patterns, data structures, database design, operating systems, and computer networking.
- Eager to learn best practices for writing web software “at scale”
- Enthusiasm to solve real problems for internal and external customers
- A quiet work environment conducive to remote pair-programming
Candidates may be local to Los Angeles, CA; Amherst, MA; or remote (US only), and are expected to work overlapping with morning Pacific Time/afternoon Eastern Time.
NationBuilder is an equal opportunity employer and we value diversity. We are committed to finding talent that is not determined on the basis of race, religion, color, national origin, gender, gender identity, sexual orientation, age, marital status, veteran status, or disability status.