Coraline Ada Ehmke, Principal Engineer at Stitch Fix
(Also: Code witch, Ruby hero, speaker, writer, podcaster, activist.)
Tell us a bit about who you are, and what you do now. What does your day-to-day look like? What’s your favourite thing about it? Least favourite?
I’ve been doing web development for over 20 years, and I’ve been active in open source for the past 15. I’m most well known for creating the Contributor Covenant, a code of conduct for open source projects. It’s been adopted by over 40,000 projects including all of the open source efforts at Microsoft, Google, and Apple. I’m really proud of my work on that.
Right now I work at a fashion retailer called Stitch Fix. I started out writing desktop, mobile, and web apps for use in the warehouse, but recently I moved to a team that’s working on migrating our systems to a microservice architecture. It’s really challenging, requiring not only technical skills but also a lot of collaboration with other teams. It’s been great.
Is this where you expected to find yourself when you were a kid? If not, where did you think you’d be?
I started programming at 7 or 8, on a Radio Shack TRS-80, and my first programs were really primitive games that were sort of like interactive stories. Even then I liked the intersection of storytelling and technology. I was pretty sure that I would write games for a living. From what I’ve seen of the games industry today, though, I’m glad that my path took me in a different direction!
I also had aspirations to be a professional musician. Music has been a consistent thread throughout my life. Although I never broke into fame as a musician, I have a home studio and I’ve written and recorded four albums in the past three years. Music is a great creative outlet for me.
You started a computer science degree, but have said that writing software for an ATM in C killed your interest in programming. Why?
It didn’t kill my interest in programming, but it killed my desire to work as a programmer. That course showed me just how boring and not challenging programming could be, and I thought that that was going to be my future if I continued down that path. But I never stopped programming, and I never stopped teaching myself new things.
After that, what was your ‘eureka' moment—the one that, if you look back on it now, re-ignited the interest in working as a programmer?
When I was a little kid my dad worked as an engineer for a manufacturing company. They had a mainframe there, and in his free time he would play a text-based game called Adventure. The mainframe didn’t have a display, so all of the output went to this green striped tractor-feed paper. He would bring the printouts home, and I would spend hours reading through his game.
One day in summer I was inspired to create my own game. I took a pack of index cards and a ball of yarn and set to work recreating the game he had been playing. Every index card was a room, and the exits from the room or actions that you could take there would lead to another index card that I connected with tape and yarn. When my dad came home from work he found me in the middle of this network of cards and string that had taken over the entire living room. That’s when he decided we needed a home computer.
I spent endless hours growing up playing and programming games. In my post-college years I got a hand-me-down computer from a friend and it had a modem. I started hanging out on BBSs and in 1993 got on the internet for the first time. I discovered MUSHes, which are like text-based MMORPGs (Massively multiplayer online role-playing games), and started programming games on them.
When my dad came home from work he found me in the middle of this network of cards and string that had taken over the entire living room. That’s when he decided we needed a home computer.
A pivotal moment for me was when I read a book called “Gödel, Escher, and Bach”, by Douglas Hofstadter. The book deals a lot with artificial intelligence, and this really sparked my interest. So I started conducting AI experiments in the MUSHes that I ran. For example, I built an expert system that could answer questions about Egyptian mythology. It was set up like an interactive museum and the curator was the program that players interacted with. But objects that you can interact with in a MUSH, like a book or a car or a telephone, are limited in size, for both code and data, and there wasn’t enough room to make the curator smart enough to understand and answer questions. So I cheated by storing code and data in the various artifacts scattered throughout the museum, and wrote a networking protocol that allowed them all to talk to each other. Basically a distributed neural net. I was pretty proud of that.
I also created programs called ghouls. Since MUSHes are all text-based, human players interact through emotes and typed text. My ghouls posed as fellow players. They would wander the world until they came upon a group of two or more human players, and they would listen to the interactions between them. Then they would go off in search of other players, and selectively play back bits of the conversation, things like saying hello and asking what you were doing or whatever. When they got an interaction in return, they would score a “point”. Those points were like food: too few points and a given ghoul would die. If two ghouls with enough “points” came across each other in the world, they would reproduce and spawn a new ghoul with their collected memories. Essentially I was writing code to solve the Turing Test. They were primitive but they were interesting.
Describe your career path, either from or around that moment. What events, random or connected, brought you to Stitch Fix?
I was an early adopter of the internet. In 1994 I was working for an engineering company in Austin, Texas. The job was pretty boring, tracking press releases for the marketing department. But I knew all the other geeks at the company and we would spend our breaks together just chatting. One day a guy that I knew came up to me and said that the company was thinking about building a web site and was putting together a team to work on it. “That’s cool,” I said. “It would be great for the company to be online.” He smiled and said, “What do you think that will do for your career?”
That was the first paying software job of my career. I remember being really stressed about the interview, studying HTML to make sure that I wouldn’t mess anything up in the evaluation. It turned out to be really easy. The web project was great, too, because we ended up setting up a lot of automation between our technical writing team and our web content to publish data sheets on our products. So it wasn’t just straight HTML, it was much more involved development work.
Do you ever feel pressure to be a mentor, an example, or a role model for other underrepresented folks in tech?
I don’t feel pressure exactly, but it’s something that I’m passionate about doing. There have been people in my life who helped me get where I am today, and without whom I would never have had the chances that I’ve had. I hope that I can be that person for someone else, too.
Tech careers can be so transformative. The work is interesting, the potential for personal growth and development is huge, and the pay is ridiculous. Marginalized people especially deserve to have access to this kind of life-changing career. We face a lot of hurdles and we have to be 150% better than our peers just to survive. If I can help someone not just survive but thrive, I’m going to do everything in my power to do that.
I have a lot of privilege, owing to being white and upper-middle-class and very well established in my field. I try to leverage my privilege to make things better for other people.
At some point there’s a scaling problem, though. I can only mentor so many people one-on-one. That’s why I look for other opportunities to give marginalized people a hand up. I have a lot of privilege, owing to being white and upper-middle-class and very well established in my field. I try to leverage my privilege to make things better for other people. Some of that comes from just being a visibly successful woman (and a queer transgender woman at that.) Some of it comes from working within my company to improve our culture, to make it more inclusive and welcoming. Some of it is in the community, through my volunteer efforts with nonprofits, or my side projects, like the Contributor Covenant, the Post-Meritocracy Manifesto, and Open Source for Women. And some of it is taking my Silicon Valley money and giving it to organizations like Black Girls Code who are working to make a difference in the lives of marginalized people.
You’re prolific when it comes to building those initiatives and side projects — not to mention the Greater Than Code podcast and open source contributions among others. Where do the ideas come from?
It might sound weird, but my main motivation is guilt. I feel blessed to have achieved what I have, to have this position in the community, and to have the kind of influence and opportunities that I do. I want that for everyone, and if I’m not actively working on making that happen then I start to feel bad and look for new ways to change the world. I try to understand the challenges facing people getting into our field, struggling to stay in it, and think about ways that I can leverage my privilege to help them.
I also think that I have a responsibility to make other people with the same or more privilege than me aware of their responsibilities to the community and the industry, to the impact that they can have on other people’s lives. I’m a born problem solver, and there are so many problems that we face today that I’m never short of inspiration.
How do you continue to find time for those things, especially when it comes to balancing a family life and maintaining your mental health?
I’m by nature a very disorganized person, so over the years I’ve developed systems that help me remember things, track my goals, and answer the question “what do I do next?” I even open sourced it! My system keeps me organized and ensures that I always have a place to jot down an inspiration or idea, and not lose it. It makes me very efficient, which is what lets me work on so many things at the same time: a challenging job, my music, open source, advocacy work, nonprofit board responsibilities, my D&D campaign, and the book that I’m co-authoring.
If you could do everything all over again, do you think your journey would be the same? Would you want it to be?
I made some serious mistakes along the way. Until the past few years I didn’t have good boundaries between work life and personal life. I was an overachiever and I would regularly work 60 or 70 hours a week. I missed out on a lot of time with my daughter, my friends. And I really regret that.
So much of my success was luck, I don’t know if I could be that lucky twice.
In terms of my journey, so much of it was serendipitous that I’m not sure that I would end up in the same place if I did it all over again. So much of my success was luck, I don’t know if I could be that lucky twice.
Is there anything about the internet or technology that you feel nostalgic about? What has changed most for you since those early days?
When I first got on a BBS and used an email client to send messages to someone on a completely different BBS, I thought it was pure magic. Then I got online and experienced the web and IRC and news groups. For the first time in my life I was able to find and connect with people who were interested in the same sorts of weird things that I was. And I started learning a lot about my internal struggles with gender, that I wasn’t alone. I really wonder how different my life would have been if I had those kinds of connections and access growing up.
How do you see your next five to ten years? What are you most excited about? Perhaps most afraid of?
As I mentioned I’m currently writing a book with my friend Naomi Freeman. It’s called The Compassionate Coder and it’s a guide to practicing empathy in software development. That’s taking up a huge amount of time and effort. Once that gets published, I’m looking forward to getting back to one of my side projects, an AI program called Sophia. My goal is for Sophia to be able to understand and create metaphors and similes, and as a side effect I think she will learn how to pun. I’ve been fascinated by AI for twenty years now, and I’m looking forward to learning and doing more of it.
Aside from that, I hope to continue speaking at conferences (maybe with more keynotes?), keep learning new things, do my advocacy work, and find new ways to help people. Because that’s what I care about more than technology-- people.
I want to thank Coraline for her endless patience, perseverance, and thoughtfulness. Follow her on Twitter; you’ll be glad you did.











