Senior Software Engineer


Job Description

Thorn is a non-profit focused on building technology to defend children from sexual abuse. Working at Thorn gives you the opportunity to apply your skills, expertise, and passion to directly impact the lives of vulnerable and abused children. Our staff solves dynamic, quickly evolving problems with our network of partners from tech companies, NGOs, and law enforcement agencies. If you are able to bring clarity to complexity and lightness to heavy problems, you could be a great fit for our team.

In 2019, we took the stage at TED and shared our audacious goal of eliminating child sexual abuse material from the internet.

What You’ll Do

  • Prototype, implement, test, deploy, and maintain stable engineering solutions
  • Collaborate with other engineers on your team to enhance and maintain a data pipeline, backend systems, and infrastructure
  • Work closely with the engineering manager, engineers, and product manager to define product requirements
  • Present possible technical solutions to various stakeholders, clearly explaining your decisions and how they address real user needs, incorporating feedback in subsequent iterations
  • Play a critical role in day-to-day coding, code reviews, and troubleshooting production issues
  • Drive technical innovation by researching and incorporating new technologies and tools into our core system

What We’re Looking For

  • You have a commitment to putting the children we serve at the center of everything you do
  • You have experience prototyping, implementing, testing, and deploying code to production
  • You have experience building and maintaining microservice infrastructure, ideally with one or more of: AWS, Docker, Kubernetes, Terraform; and can launch, maintain, and scale new services
  • You are experienced with distributed data storage systems such as Elasticsearch, PostgreSQL, Redshift, etc
  • Bonus: You have experience developing, deploying, and monitoring software and systems on infrastructure outside of your control
  • You are comfortable with a fast-paced and fluid environment and can collaborate with both internal and external stakeholders
  • You have a passion for innovation and an aptitude to work in a collaborative environment, can demonstrate empathy and strong advocacy for our users, while balancing the vision and constraints of engineering realities
  • You communicate clearly, efficiently, and thoughtfully; we’re a highly-distributed team, so written communication is crucial, from Slack to pull requests to code reviews

Technologies We Use

You should have non-trivial experience with Python 3, but we’re excited about teaching folks that have the desire and ability to learn the rest.

  • Python 3
  • Elasticsearch / PostgreSQL
  • AWS / Terraform
  • Docker / Kubernetes
  • Typescript / Node / GraphQL

Thorn is a strong and flexible team because of the diverse backgrounds of our staff. This includes professional background, subject matter expertise, culture, race, ethnicity, sexual orientation, gender identity and expression, language, hobbies, etc. We strongly encourage women, minorities, and people from underrepresented backgrounds to apply. Your skills are needed here.