Request for Proposal: Speakout Maintainer
The OPEN community is looking for an experienced developer to act as a maintainer for a mission-critical, public-facing web application called Speakout. The Maintainer will merge pull requests, help organisations implement new features and fixes, triage issues, and work with other developers around the network who've offered time to support the collaboration.
We expect this job will require 1-2 days per week of work, potentially with a more intensive period at the beginning for onboarding. We are particularly interested in proposals from independent contractors who do most of their work in the social / activist sector, or who are attempting to move into this space.
Please submit proposals to email@example.com. We are an equal-opportunity and anti-oppression organisation: Women, people of color, migrants, indigenous people, religious minorities, LGBTQ people, people with disabilities, and others from traditionally marginalised backgrounds are strongly encouraged to apply.
Speakout is a call-to-action tool used by 10 non-profit activist organisations. It's a code base we all share, and a tight-knit community of practice. The teams involved in this collaboration have anywhere from less than one full-time engineer up to four developers working on this and other tools that keep their organisation running, each doing cutting edge, hard-hitting advocacy in our respective countries.
The tool performs a number of critical functions for our groups: it hosts petitions, donation forms, and surveys (among other things), and is the main web property that many activists interact with while taking action online to pressure legislators and other decision-makers.
Ruby/Padrino application, (Padrino is based on Sinatra), using Postgres, ActiveRecord, Redis and Sidekiq.
Different groups host Speakout either with Docker on a VPS, or on Heroku, often with a managed Postgres solution like Amazon RDS.
Git skills are a must. We work actively with the community to help people stay close to master, merge PRs, and work with devs to clean up big or messy PRs.
The front end styles / themes are Bootstrap/SASS compiled with Gulp.
Interactive features use a lot of jQuery built up over time, which has become a bit chaotic. (Experience with refactoring, and insights into how to coordinate an incremental refactor without major breaking changes could be very helpful.)
We use CircleCI, running Rspec and Cypress tests. (But the Cypress tests are broken since we upgraded to CircleCI 2.0. Can you fix them?)
Benefits of the Job
Work from home! No location requirements as long as you can make periodic calls with folks on EU time zones.
Build your network -- work with 10 progressive activist organisations and join a community of over 20 organisations building and using shared tech to do activism in dozens of languages and countries.
Supportive community: The OPEN community gets together on Slack and email, and at occasional in-person events like summits and hackathons. We help each other understand the code base, learn new skills, scope out features. People really help each other out, and it's a lot of fun!
Serious impact: These organisations occupy a critical space in their local contact: strong voices for a progressive society, not beholden to party interests, using the internet to achieve national scale on a tiny fraction of the budget of the older NGO giants. We run people-powered campaigns, build local leadership from the grassroots to overarching media narratives, fighting the rise of fascist governments and winning campaigns that change people's lives for the better.
Links and References
www.the-open.net/network for a list of some of the groups in our network. Click around for more info on how OPEN facilitates collaboration between them, and on the core DNA of how these independent advocacy groups operate.