Senior Software Engineer

Thorn

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 passions 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.
Last year, we took the stage at TED and shared our audacious goal of eliminating child sexual abuse material from the internet.
About The Role
A key aspect of our work is partnering with the tech industry. Our latest product, Safer, is designed to proactively identify, remove, and report child sexual abuse material from our partners' platforms. As you join our small but mighty team at an early stage of this product, you will work together with our team to implement and ship a world-class product.
What You’ll Do
  • Collaborate with other engineers on your team to build backend systems & client applications from end-to-end.
  • Work closely with the product manager and engineers to define product requirements, and collaborate to devise optimal engineering solutions.
  • 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.
Skills We’re Seeking
  • You have a commitment to putting the children we serve at the center of everything you do.
  • You have proficient software development knowledge, with experience building, growing, maintaining a variety of products, and a love for creating elegant applications using modern technologies.
  • You have experience prototyping, implementing, testing, and deploying code to production.
  • Preferred: You have experience working on data pipelines with machine learning elements, using Python.
  • Preferred: You have experience with DevOps (Docker, AWS, microservices) and can launch, maintain, and scale new services. 
  • Preferred: You have experience developing, deploying, and monitoring software and systems on infrastructure outside of your control.
  • Preferred: You have experience building software for other developers.
  • You can work with shifting requirements in a fast-paced and fluid environment, and collaborate with both internal and external stakeholders.
  • You have empathy and can be a strong advocate for our users while balancing the vision and constraints of engineering realities.
  • You enjoy teaching and mentoring other engineers on your team.
  • 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 a couple of these, but we’re excited about teaching folks that have the desire and ability to learn the rest. 
  • Python 3
  • Node / TypeScript
  • Docker / Kubernetes
  • AWS / Terraform / Google Cloud
  • PostgreSQL / Elasticsearch
  • 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.
Subscribe Now