Rewired is hiring a back-end or full-stack engineer to help us build the next generation of grassroots organizing tools for the left.
The ideal candidate will have experience with PostgreSQL and TypeScript as well as experience working with electoral campaigns or social movements.
Please try to get applications in before March 15th, 2021!
Rewired is a small worker-owned cooperative designing and building solutions for organizers, enabling them to focus on what they do best: build systems and relationships. We work with political campaigns, unions, and movement organizations, with a deliberate emphasis on supporting Left insurgents and building independent Left infrastructure.
As a worker owned cooperative, all employees who stay at the company will become co-owners and share in profits and decision-making.
The Role and Team
As a full-stack developer, you’ll be part of a small team of software engineers and will work closely with everyone in our organization and our clients. You will be building the back-end of our Assemble product suite: a powerful general purpose data management tool, and an API for quickly building extensions that easily integrate with users’ main databases.
This position is designed for an individual contributor and does not require managing other developers.
We are 100% remote during COVID-19, but most of us are in the greater New York City area.
Full time employees — base rate of $5k/month ($60k/year) with health, vision, and dental insurance. We cover 100% of premiums on a low-deductible plan. Additionally, members receive shares of quarterly profit distributions.
The salary is at $60k because that’s what the current members have decided allows them to live comfortably while spending our client’s money responsibly and staying oriented towards the long-term growth and survival of the company. If this is an issue for you, let us know!
Assemble is a powerful new way of interacting with organizer data, providing the flexibility and ease of use of Airtable or Google Sheets in building custom workflows backed by the scale, data-integrity, and extensibility of PostgreSQL.
What sets Assemble apart is its robust access controls and extension system, through which the full customizability of PostgreSQL’s security model (including row-level security) is exposed to the end-user. This enables organizations to enforce the access model that best suits their workflow, allowing them to grant organizers access to just the data they need.
The extension system will allow any developer to write additional voter contact applications that use the core database. This enables organizers to easily build contact workflows across applications without shipping data back and forth.
Tech you’ll encounter at Rewired
The core Assemble API is written in PL/pgSQL. This is exposed as a GraphQL API by the Postgraphile NodeJS library. Additional server-side scripting is done in TypeScript.
As an engineer at Rewired, you’ll encounter technologies including but not limited to React, GraphQL, Postgres, NodeJS, Express, RabbitMQ, Kubernetes, Python, and more. Your primary responsibility will be web application development but, as a small team, you must be comfortable occasionally engaging with other tasks when required, including customer support and client outreach, among others.
Challenges that we’ll have to solve in the near future include: coming up with a scalable way to determine if a PostgreSQL query’s results are invalidated from a changelog; developing a type-safe compile-to-SQL DSL; and bringing higher order programming concepts from functional, object-oriented, and aspect-oriented programming to the database.
For this position to be a good fit, you must:
- Have significant experience with SQL databases
- Have experience working with and designing GraphQL APIs
- Have strong git skills, e.g. understanding the value of branching and knowing when and where to rebase
- Have significant experience with the command line
- Have an interest in grassroots organizing/building the progressive movement
- Be excited about being a co-owner and cooperative member who participates in company decisions
For this position to be a good fit, you should:
- Have experience with TypeScript or other statically typed languages
- Have experience with (or at least a general understanding of) Docker, Kubernetes, and microservice architectures
- Have experience with agile development
- Have experience with continuous integration (Circle CI, Jenkins, Travis CI, etc.)
- Be located in New York or not too far away (slightly preferred)
How to Apply
To apply for this position, send a resume that includes links to previous work, a short cover letter, and the name, email, and contact info for two past work references to email@example.com. These could be a previous boss or co-worker, or someone that you’ve worked with on an organizing or open-source project with.
Rewired is an equal opportunity employer. We highly encourage applications from all backgrounds, and don’t discriminate on the basis of sex, gender, race, class background, or otherwise. We believe that the most impactful work—and the best work environments—include and foster a range of diverse perspectives. Any applicant who requires an accommodation in order to apply for or perform the essential functions of the job should contact us at firstname.lastname@example.org with the subject line “Application Accommodation” to request such an accommodation.