Software Engineer - 6 to 12 month contract
Free to start · No card · 5 credits the moment you sign up
Job description
We're looking for a mid-level Software Engineer on a contract basis to help build and extend the platforms that power our programs. You'll work alongside our senior engineers on well-scoped features across the stack, contributing production-quality code from early on and working with a high degree of independence as you ramp up.
About Unify America
We’re on a mission to replace political fighting with collaborative problem-solving. Yeah, we know it sounds audacious. It is. But we’re doing it—by creating civic experiences that reduce polarization, teaching essential civic skills, and inviting Americans to use their differences to better solve common problems together.
Where we work:
Higher Education (Civic Gym): Over 50,000 college students have engaged in meaningful cross-partisan conversations. Think of it as training for democracy—reps, sweat, and all.
Cities (Democracy Leagues): We partner with communities to run Civic Assemblies, where residents—across the ideological spectrum—solve shared problems together. Our first pilot is in Akron, with more locations to come.
We're a small, mission-driven team of about 30 people, and our engineering team is small enough that every engineer has a real voice in how we build. Civic Gym has a more mature technical product that our existing Dev Team is in the process of re-factoring. Democracy Leagues is just at the beginning of building a product suite to prepare us to scale our deliberative democracy work in Ohio and beyond. That’s why this is a 6 to 12 month contract gig - we’ve got a lot of immediate needs, but still have a lot to learn about what our future needs will be.
About the Role
You'll ship features end to end, shape technical decisions, set a high bar for code quality, and mentor other engineers. You'll work closely with our CTO, product manager, and program teams to turn real-world civic engagement needs into reliable, thoughtfully designed software. More specifically, you’ll:
Build and maintain features across our TypeScript/Node.js backend and Vue.js front end
Design and update data models for your features in MongoDB and PostgreSQL, with review from senior engineers
Work with AWS services such as Lambda, S3, Aurora, DynamoDB, and IAM in developing and deploying your work
Write clean, tested, maintainable code, and participate constructively in code review
Help build out our new civic assembly platform, including modules within a plugin-based architecture
Communicate progress, blockers, and questions clearly and proactively
Required Skills & Experience
3+ years of professional software engineering experience
Solid experience with TypeScript and NodeJS
Experience with Django and Python
Experience with VueJS (preferred) or React
Working experience with PostgreSQL and MongoDB, including the ability to design sensible schemas for well-scoped features without relying on AI tools
Experience working with AWS services such as Lambda, S3, Aurora, DynamoDB, and IAM
Experience using AI-assisted development tools (e.g., Claude, GitHub Copilot, ChatGPT) judiciously. You treat them as helpers, not substitutes for your own understanding, and you verify what they produce
Clear communication skills and comfort working asynchronously on a distributed team
Initiative, reliability, and a commitment to quality over volume
A degree in Computer Science, Software Engineering, or a related field is preferred. Relevant certifications, bootcamp credentials, or equivalent professional experience are also welcome.
Nice to Have
Experience with NestJS
Familiarity with Terraform or other infrastructure-as-code tools
Experience in nonprofit, civic tech, or education technology
We hire for character and collaboration as much as technical skill. We look for people who communicate openly, treat colleagues with respect, take initiative without waiting to be told, and care about doing things well rather than doing things fast. Given our mission, we especially value people who can engage respectfully with a wide range of perspectives.
Pay and Term
$50-75/hour, depending on relevant experience
This is not an employee role, and therefore does not include employee benefits like medical insurance, 401(k), etc. but it does give you the chance to work in a healthy, appreciative, feedback-driven workplace
We anticipate this role requiring 30-40 hours of work for 6 to 12 months
Ready to Apply?Great, we look forward to hearing from you! Your application materials should include a cover letter that shares three reasons why you’re right for this job (and why it’s right for you) and your resume in one, combined PDF (there will only be one field for Resume in the application, and we are looking for a combined Cover Letter/Resume in that field).
This is a contract role: please let us know if you have a history of working as a contractor and if you usually contract as an individual, as an LLC using your own social security number for taxes, or through a corporate entity with an EIN.
Let’s build something extraordinary together!
Salary: 50 - 75 USD an hourOriginally posted on Himalayas
Prepare your application
Use the description above to assess your fit for Unify America. This checklist is guidance from Resumize, rather than additional requirements from the employer. Imported listings can be shortened or change after collection, so confirm the complete description and current availability before sending an application.
Match requirements to evidence
Identify the responsibilities and skills the employer explicitly names. For each important requirement, choose one example from your work, education, training, or projects. Explain what you did, how you did it, and what changed as a result. Include a measurable outcome when you can support it. If you lack a requirement, describe related experience accurately instead of adding an unfamiliar skill to your resume.
Put the most relevant examples near the top of your resume. Keep job titles, dates, qualifications, and contact details consistent across your application materials. Use the employer’s terminology when it describes your experience accurately; a copied list of keywords does not explain your contribution. A short, specific bullet is easier to review than a paragraph that mixes several unrelated duties.
Check the working arrangement
Confirm the location, schedule, employment type, and any eligibility requirements on the employer’s site. A remote label does not establish worldwide eligibility or flexible hours. If compensation, benefits, equipment, travel, or contract duration are missing from this listing, write down your questions for the recruiter. Do not assume details from another opening at the same company apply to this role.
Review before submitting
Follow the employer’s requested file format and application instructions. Open your exported resume and check that its text is selectable, its sections read in order, and its links work. Proofread names, dates, and contact information. Share confidential work samples only when you have permission, and use an anonymized example when necessary.
Submit through a trusted employer or recruiting destination. If the original listing has disappeared, search the employer’s careers page for the title rather than assuming the vacancy remains open. Save the application date, job reference, and the version of your resume you sent. Those details help you prepare for a later conversation and avoid submitting conflicting information through several job boards.
Review your resume for writing and readability feedback, or browse other openings if this opportunity is unavailable.