Before you start the hiring process, you will need to decide spoke is right for you and decide how you want to deploy Spoke. This will dictate what skills you are looking for.
Baseline skills:
- Basic understanding of client / server architecture
- Basic familiarity with running a React app (the Spoke client)
- Basic familiarity with running a Node server (the Spoke server)
- Basic familiarity with background worker processes built in Node
- Ability to install, configure, and deploy a Node server
- Ability to install, maintain, import data into, and query a relational database
- Abilty to configure credentials for and troubleshoot dependent infrastructure, like Auth0 and Twilio
If you're going the Heroku route, you'll need:
- Ability to deploy websites, worker processes and databases in Heroku
If you're going our particular recommended AWS route, you'll need:
- Ability to setup, configure, and run RDS Postgres databases in AWS
- Ability to setup, configure and run API gateway and Amazon Lambda server containers
- Ability to setup, configure and run worker processes
Note how these are all phrased as "ability to" and not "experience in." The general category of work being done here is devops, and people with experience and interest in devops can learn to use a variety of different systems and tools more or less interchangeably. You also don't need a person who writes code in React and Node, just someone who can work with, configure, and install applications in these frameworks.
You're also not likely to encounter many people with prior experience specifically in deploying Spoke, because political tech is a small niche within tech, and Spoke is a small project within that. Don't filter for prior experience, but rather a track record of getting deployment work done on time and on budget.
There are lots of tech industry people interested in politics. They really want to work with you. But tech skills and tech costs vary wildly. You can easily spend $0, $100, $1000, $10,000 for the same work and functionality. Make candidates compete for your business so you can drive down the cost of your project, and make sure the person you bring on is the right fit for your org.
Please, please, please don't just hire your friends, or someone who looks like a tech person who happens to be sitting 100 ft from you in your coworking space when you realize you need a website. Most software contracting projects experience a 50% failure rate due to lack of skill fit and contractor capacity. Publish your job publicly and run a competitive process to find a person to ensure that you're getting the right person with the right skills and right availability for your job.
Decide on the terms of your job.
You may think you just need someone to set Spoke up for you, but you'll probably also eventually want someone to maintain your instance over time, do regular upgrades, analyze the Spoke data you gather, and troubleshoot problems. Think about how much you want to spend upfront and in an ongoing retainer basis. Think about whether this work eventually adds up to a full-time person or a contractor.
Write a job description or a vendor RFP.
You can start with this template if you like.
Advertise this job or RFP publicly Advice on how and where to advertise can be found here under "Advertising The Job." Spending $200 on an ad on a well-trafficked job board is less expensive than less-competitively hiring a person who doesn't finish the job.