Software Engineer - Backend

At Civil, we are passionate about building a community-owned marketplace for ethical, independent journalism. We are committed to products that sustain free press, civil discourse, and public accountability. If you are passionate about these values and want to build leading-edge applications, we are looking for conscientious, team-oriented software engineers to join our world-class engineering team.

As part of the team, your responsibility will be the design, implementation, testing, and maintenance of our APIs and backend data systems that power many of Civil’s products and offerings. You will collaborate closely with your fellow engineers and with product, operations, and design to build consumer-first products with global reach. You will learn, grow and thrive with the support of the company.

Civil believes deeply in a culture based on transparency, inclusiveness, and curiosity. 


  • Proficiency in designing, implementing, testing and debugging production-grade code.
  • Proficiency with Go.
  • Proficiency with writing unit tests and working in a test-driven environment.
  • Proficiency with SCM/git and working collaboratively via code reviews and technical design sessions.
  • Proficient written and oral communication skills.

These are plusses, but are absolutely not required

  • Knowledge of relational/SQL databases like Postgresql.
  • Proficiency with Typescript/NodeJS.
  • Knowledge of Ethereum and/or blockchain technologies.
  • Knowledge of Solidity smart contracts.
  • Experience deploying production applications to Google Cloud (Kubernetes, PubSub, etc.)
  • Experience in DevOps and/or SRE.
  • Experience working in an agile environment (Scrum/Sprints/Stories).

We are a remote-first company and while our team is spread around the world, our headquarters are in Brooklyn, NY.  Competitive salary, medical/dental/vision, flexible minimum vacation policy, parental leave & more.

Want to apply later?

Type your email address below to receive a reminder

Apply to Job

ErrorRequired field
ErrorRequired field
ErrorRequired field