Remote
MoveOn.org

Senior Software Engineer

at MoveOn.org

Anywhere in the Continental U.S.

Full-time • Competitive Pay • Excellent Benefits

About MoveOn

MoveOn is a community of millions of Americans from all walks of life who use innovative technology to lead, participate in, and win campaigns for progressive change and push back against right-wing policies while pursuing economic, racial, and social justice. For more than 20 years, the MoveOn family of organizations has used online tools to lower the barriers to participation in our democracy. MoveOn pioneered mass online petitions, some of the first mass-distributed online-enabled house parties and remote phone banks, and continuously innovates and optimizes online campaigning and tech-powered mobilization models.

MoveOn has a particularly important role to play in the Trump era. We are working to defeat Donald Trump and the GOP in 2020 by building a powerful, multiracial, and economic populist movement that will give voters something to vote for, not just against—and we’re also working to defend communities that are on the front lines of Trump and GOP attacks, including immigrants, people of color, the LGBTQ community, and women.

To enable this work, we are hiring a passionate problem-solver who will take our technology platform to the next level. Do you have great ideas and the enthusiasm to build them? Join our team! Together, we will brainstorm, collaborate, design, build, and ship code that runs at massive scale.

About MoveOn’s Systems

MoveOn’s millions of members generate site traffic that would make most startups jealous. We have terabytes of data that drive ambitious analytics, fundraising, and engagement programs. At MoveOn, making decisions with data is a core part of how all work gets done. Like many nonprofit tech teams, we’re a small, scrappy team, wear many hats, and work across the software stack.

While we often split up who is working on which projects, everyone on the team works on all parts of our systems. We have ~10 production systems—and two systems running at significant scale—getting thousands of requests a minute during spikes of member energy. We believe in choosing the best language, platform, and tool for the job and are not language zealots, but we also recognize the switching cost of straddling too many languages.

We do a lot of work in Python and Javascript and deploy most systems to AWS (check out our GitHub) but believe good programmers don’t need to come in with an exact match of experience and can learn our systems and software stacks. We are deeply collaborative and spend lots of time pair-programming over Zoom video. We have a “no stupid questions” policy and encourage egoless collaboration. We build and maintain infrastructure that powers the organization and amplifies the work of the analytics and mobile teams. We’ve created software management processes based on Agile that let us work in a flexible, all-remote environment and empower us to embed with organizers and work on tight political deadlines.

Responsibilities:

  • Write code and lead projects that span the entire software stack, including prototyping, front-end development, API development, high-performance back-end applications, database design, and system architecture.
  • Debug, analyze, and resolve scaling problems across a variety of web applications, with tactics such as architecture simplification, adding caching layers or queues.
  • Create and contribute to open-source projects that share MoveOn’s innovations back with the larger developer community.
  • Contribute to system architecture and build-vs.-buy decisions and make hard decisions about complexity.
  • Contribute to team discussions on building an equitable working environment.
  • Come up with ideas for new, innovative distributed organizing applications.
  • Learn, grow, and succeed in your career.

Note: “Senior” doesn’t = a particular number of years. We understand everyone gets to a senior engineer level at different rates and through different experiences. The skills list below is intended to encapsulate what it would take to be successful in a senior engineering role at MoveOn.

Required skills and experience:

  • Currently fluent in at least one programming language and web development platform, with significant prior development experience in at least two programming languages.
  • Experience carrying a > sixmonth-long project over the finish line.
  • Experience debugging and resolving a major production problem.
  • Proven ability to fearlessly tackle complexity.
  • Interest in technical leadership and in building a software engineering environment where everyone can thrive.
  • Passionate about mentoring and coaching other engineers.
  • Interested in learning and diving into new languages, tools, and frameworks.
  • Experience on both front-end and back-end development and the interactions between the two, including HTTP, CORS, and CDN caching.
  • Experience scaling applications with caching and troubleshooting bottlenecks at the database and application layers.
  • Determined and thorough—can see a project through from idea to prototyping, design, production, scaling, and beyond.
  • Familiar with agile software development methodologies.
  • Ability to be effective in an organization whose staff all work remotely.

Location: Position may be based anywhere in the continental United States.

Classification, Salary, and Benefits:

Full-time, competitive salary including benefits such as 100%-employer-paid premiums for medical, dental, and vision insurance for all staff and their children; employer-paid premiums for life insurance for all staff; four weeks accrued paid vacation time per year; 12 weeks of paid maternity or paternity leave, 10 days accrued paid sick time; and reimbursement of home office expenses.