Position

Software Engineer

We’re looking for a software engineer who enjoys crafting amazing user experiences.

We encourage applications from people who aren’t cis white men, who are currently over-represented on the engineering team at Thread.

As engineer number 7, you’ll work closely with the rest of the product team, and with people from styling, operations, and marketing in our office in East London to build the features that will help people dress well, and in turn improve their self-confidence and happiness.

You’ll take ideas from the whiteboard all the way through to them being live, tracking the results, and iterating to make them better. Beyond your engineering teammates, you’ll be working closely with a cross-discipline team to achieve shared goals.

You might work on…

  • Building a new format of recommendations from stylists for their clients. This will help our customers consider new styles and think about clothes in new ways.

    You’ll work with a designer and a product manager to figure out the details, design the experiment, and write code that integrates knowledge and experience from our styling team with our recommendations API to generate new content for our users. You might also write the frontend code for displaying the new format of recommendations, or you may work with a frontend engineer. Finally you’ll roll it out to users and track the results.

  • Our warehouse software that allows us to efficiently deliver items to our customers from a range of suppliers. Your work will enable our staff to work faster and with fewer errors, therefore having a tangible impact on our customer experience, and making the warehouse a great place to work.

    You’ll work with our process improvement specialist to design technical solutions to bottlenecks, and as reliability is so important for the warehouse, you’ll work with our supervisors to plan a rollout that minimises downtime and communicates changes to the staff who will use your software every day.

  • Improving the scalability of our recommendations process.

    As we grow our user-base to the next order of magnitude, and as we move from batch processes towards a schedule more tailored for each user, you will be involved in designing the architecture that allows for this and scaling out the services involved. You’ll take on devops tasks alongside work that directly interacts with the customer, and will test the scalability of the new design to ensure a smooth rollout.

  • Integrating a new delivery partner. Convenience matters to our customers, and delivery and returns are an area where we can have a positive impact on the ordering experience. New delivery partners enable new experiences, but require detailed integration work.

    You’ll talk to potential partners to estimate the cost of integration, liaise with their team to figure out the details, and manage building and testing on our end, including helping the warehouse to roll out the new partner and helping to plan and execute end-to-end testing before we go live. You’ll build a system that will be resilient to errors on both ends, and will expose tracking information to customers.

You may be a fit for this role if you…

  • Have experience with web development, relational databases, and deploying web applications to production.
  • Enjoy crafting great user experiences, not just in terms of design, but in every place a user interacts with Thread.
  • Want to work in a team that values clear and empathetic communication.
  • Enjoy learning technologies that are new to you. We use Python and Django but you don’t need experience in them.
  • Want to share knowledge and experience, to improve the code quality, practices, and processes across the team.

What is it like to work at Thread?

We have a relaxed working environment, and trust our employees to be productive on a schedule that suits them.

We have a flexible holiday policy. We don’t track or limit the amount of time you have off, and believe you should be able to take off the time you need, when you need it. Recently Thread employees have taken time off to spend half-term with their kids, taken a last minute long-weekend to go hiking, and taken a few days off to play video games and recuperate.

We are committed to a transparent working environment, and as a part of this all email that isn’t personal, goes to mailing lists accessible by anyone on the team. Our founders and team leads take questions on any subject at a weekly all-hands meeting, and most importantly we try to cultivate a culture where asking questions is encouraged and where responses will be clear and meaningful.

We place a high value on learning and personal growth. Everyone has regular 1:1s with their managers to discuss how they want to develop, we give and receive 360 feedback to direct our growth and are encouraged to attend conferences and share resources that will help us develop new skills. On a company-level, we host biweekly Lunch & Learn sessions, run blameless 5 Whys whenever something goes wrong, have an all-company offsite twice a year to go deeper on improving how we work together, and conclude most projects with a retrospective to draw out any lessons on how to improve.

We have a considered approach to our compensation. Twice a year we survey the market for every role, and ensure that we are paying at the top end for a startup in London. As the market changes and as your role and experience develop, so will your compensation. This is important to us as we want to create a company that proactively rewards your growth and experience, rather than rewarding those most comfortable with asking for a raise.

Our culture is important to us and so we spend time every week as a company reflecting on various aspects of our culture and coming up with experiments to improve upon it, we frame our project retrospective discussions with our values, and we recognise those who have a positive impact on it. We haven’t got everything right, but with these practices we believe we’re on a path to having an effective and enjoyable culture.

What is it like in engineering at Thread?

Within the engineering team we review everything that goes into production, both to improve the quality of our code and to share knowledge between team members. We automate the checking of style so that code reviews can focus more on architecture and maintainability.

This creates a natural tension with wanting to move quickly, which we try to address by reducing scope and maintaining code quality, rather than introduce code that will be a burden.

We maintain a backlog of tasks, based on user research, feedback and our vision for Thread. Engineers help shape the direction of a project from the beginning, and have input all the way through design, implementation and iteration.

We encourage those from outside the engineering team to contribute to the codebase, and our engineers have been involved in teaching Python, SQL and how to use GitHub to team members from all over the company.

Finally, every Wednesday afternoon we work on non-roadmap tasks. Examples have included contributing to text-editor plugins that we use, migrating to Python 3, experimenting with React Native, improving the tools used by our stylists, and mentoring contributors from outside the engineering team on pull-requests.

Apply

If this role sounds exciting to you, please apply below. If you're unsure, please still get in touch—we welcome applicants from different backgrounds and would love to hear from you.