I wear a few hats as CTO and co-founder, but my primary goal is to build a great engineering team and create an environment that allows everybody to do their best work, maximise their personal growth, and enjoy the journey together as much as possible.
Each week, I review my high-level goals and ensure the projects I’m working on ladder up to these. I believe connecting day-to-day work with a purpose is vital to maintain motivation and ensure you’re working on the right thing. If I can’t connect what I’m doing in my day to ultimately helping people feel more self-confident through dressing well, then I review how I make prioritisation decisions.
Every day is different. Currently, I’m spending a chunk of time iterating on our career progression framework. This is a system we introduced last year to give everybody in the engineering team clarity on their progress, alignment on what they need to achieve to progress, and concrete tactics to achieve these goals. We have separate tracks for contributors and managers. This means if you’re an engineer you don’t need to move into management to progress—we see the roles as very different—although we designed the framework to support contributors who want to explore management.
I’m also part of the product leadership team, and recently we’ve been reviewing some of our product practices, particularly Test & Delivery, a process we introduced to enable us to iterate quickly on our product to learn as fast as possible without sacrificing code quality and control of technical debt.
As we grow the iOS team at Thread and approach feature parity with the website, we need to be considerate about how we structure the product team so that we consider the app user when thinking about product improvements. Do we create a separate app pod or do we embed iOS engineers in other pods? Or some kind of hybrid? I suspect we won’t settle on a solution immediately but we’ll iterate on this over time. I’m so excited to work on it.
I’m really keen to start testing new ideas on the app. Currently we do our A/B and idea validation testing on the website first. However, if we want to test something that may only make sense on the app, how do we do this in a quick, frictionless way? On the web we have our A/B testing framework, Jacquard, as well as feature flags, quick and easy release and rollback ability and other battle-tested processes to limit the blast radius of failed tests and give our team confidence to try new things. How we do this on the iOS app in the future is to be defined and again, I can’t wait to see what this looks like.
On the infrastructure side, our data warehouse powers a huge amount of reporting and analytics, which is relied on across the company. We were using a third party for the replication of data from our primary database to our data warehouse but it had a few issues including a replication delay which meant data could be up to a day out of date. This limited the usefulness of the data warehouse somewhat, so we’re in the midst of moving to a new in-house system to accomplish the same replication but with much less lag (15 minutes instead of 1 day) and with much more monitoring and control.
Engineers are part of the product team and work in cross-functional pods (similar to Spotify’s “squad” model). These pods work autonomously towards a goal aligned with the company’s strategy, with the makeup of each pod varying depending on their goal. Currently, we have pods working on improving womenswear recommendation quality (a pod that has data scientists, stylists, and engineers!), one pod working on optimising our growth & improving our on-site features, another working on creating super-personalised emails for our customers, one looking at how to give customers arriving through Google Search the most relevant experience, amongst others. We have other pods which aren’t working on directly user facing changes: we have a pod working on our inventory systems, maximising range from our hundreds of partners and helping maintain and develop our operations and fulfilment tooling; we also have a systems pod whose job it is to improve our infrastructure and supporting services.
Some of our particularly interesting in-flight projects: the Recommendations pod are experimenting with different ways of showing you items from brands we think you might like (affecting the ranking of items in the Shop); the Growth pod are working on adding a new type of component you see on your ideas feed — showing you multiple “ways to wear an item”. The Operations pod is working on a way to automatically categorise all the items from a large new third party we’ve just signed (normally items go through manual review, however with thousands of new items landing, automatically categorising them will help get the items live for our users faster).
I started Thread not only because I wanted to solve a problem that I, and millions of other people, had: that dressing well and feeling happy about how I looked wasn’t possible for me. But regardless of the mission, I wanted to build a company and team in a specific way. It was important to me that we created a team that’s fun to be a part of, that provided an environment for people to master their craft, and to be able to do so with as little friction and toil as possible.
Personal growth, the autonomy and freedom to do your best work, and an understanding of how your work ladders up to a higher mission is vital for people to be happiest and as motivated as possible. At Thread, we’ve structured the company so this is possible.
I’m so proud of the quality of our team. Surrounding yourself with people who care about their craft and the output of their work is the best way to ensure you’re always able to improve and learn. This isn’t enough on its own, even more critical is an environment where people can come in and feel safe, where there are no stupid questions, where code reviews and feedback are given candidly and compassionately, with the goal of helping people get better at what they do. We’ve worked hard at this, and have embedded psychological safety and compassion into our career progression framework to emphasise how vital it is.
With such an environment comes autonomy, the freedom and safety to experiment and put your ideas out there without any fear. We aim to remove things that prevent engineers from solving our users’ problems: we automate as much as possible and encourage pairing to get up to speed on a new part of the codebase, or to maximise learning.
I value personal growth highly, and am naturally drawn to people who are curious about things and want to understand how things work. At Thread we’ve created an environment where learning is at the forefront of how we work and believe you’re never too experienced or knowledgeable to learn something new.
In addition, we benefit from having millions of users and a fast, continuous deployment process so engineers can focus on building new things and seeing how they’re being used almost immediately. This quick feedback loop allows us to get closer to our users and understand if what we’ve built is doing what it should, and iterate and improve on it at a rapid pace.
I love the people. I’ve missed being in the office and hanging out with the team. I love our flexible hybrid working approach and being able to spend time at home with my 10-month-old baby, but I also treasure the time I spend chatting with the team in the office about all sorts of things. We have a value at Thread: “Enjoy the journey together” which I love because it reminds us that life is about relationships and people. Of course we want Thread to be as successful as possible, and that gives us huge motivation and satisfaction when we ship winning features and hear from delighted customers. But we have fun along the way and enjoy our time working together, and it’s something I’m really proud of.
We have 6 other values that we regularly discuss and interleave into our working life in a huge variety of ways. Our culture is unique and drives a lot of our decision-making and rituals. It’s a lot of work to keep it front of mind and as co-founder it’s a huge part of my work, but it’s well worth the effort.
And of course I love the reason Thread exists. I used to regularly feel awful when I left the house, or saw myself in photos. No matter how hard I tried, the clothes I wore didn’t match how I felt, nor did they seem to sit well on my body. I wanted to look in the mirror and feel happy about how I looked, to get on the bus and stand up tall instead of slouching and trying to hide. The great thing about Thread is that we’re fixing this problem for millions of people like me who want to feel good about themselves by dressing well, but don’t have the time or ability to sift through millions of clothes, or learn about what clothes work well together. We’ve changed peoples’ lives: we’ve had stories of our users meeting new partners after divorces, of having the confidence to ask somebody out for a drink when before they hated how they looked. When you ship something that changes somebody’s life for the better, it feels really good.
Originally published on LinkedIn