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
- Define and advocate for best practices in our Typescript codebase
- Work closely with the product manager and engineers to define product requirements
- Own and develop key features of the client application
- Collaborate and contribute to the development of wireframes, prototypes, or other design artifacts
- Present concepts to various stakeholders, clearly explaining your decisions and how they address real user needs, and incorporate feedback in subsequent iterations
- Regularly connect with other product designers at Thorn to ensure concepts are in-line with overall product design standards and strategies
- Engage in our culture of growth, learning, and knowledge sharing with your fellow engineers
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 and are comfortable working in Typescript
- You have experience taking ideas from wireframes to production in a Node/React stack application.
- You have an interest in and some familiarity with UX best practices and can build out usable, maintainable, tested components with or without high fidelity design specifications
- You enjoy building web applications that are not only functional, but beautiful and professional
- You are comfortable with a fast-paced and fluid environment and can collaborate with both internal and external stakeholders
- You are comfortable triaging issues and debugging and are able and willing to take occasional on-call rotations.
- 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
What to expect your first six months
- At 30 days - You’ll have familiarized yourself with the product codebase and our practices and participated in building a feature in our client application
- At 90 days - You’ll have taken a deeper dive into how we build, contributing to our component design/implementation/documentation and learned more about the issue space and how we prioritize our work for powerful impact.
- At 180 days - You’ll have learned our full stack, building independently and supporting our applications in production
Technologies We Use
You should have non-trivial experience with at least a few of these technologies, but we’re excited about teaching folks that have the desire and ability to learn the rest.
- React / Node (critical)
- Typescript / GraphQL (preferred/helpful)
- PostgreSQL / Elasticsearch (or similar experience)
- Modern DevOps i.e. Docker/K8s/AWS (helpful)
- Research/Design skills and knowledge of tools like Sketch or InDesign (bonus)
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.