Rachel Myers
  • Years in Tech

    7

  • Current Role

    Software Engineer, GitHub

  • Place of Origin

    Texas

  • Interview Date

    March 4, 2016

I studied Philosophy in Texas, and learned Ruby from a comic book and a community of amazing women who were also trying to learn. I worked for free at a consulting company for a several months to get my foot in the door, then was surprised when I started getting offers. Now I volunteer for workshops, and care about making engineering culture better, making it okay to ask questions.

Tell me a bit about your early years and where you come from.

Yeah, I’m from Texas. I went to Texas Tech, a Texas football school. I I studied philosophy and kept going through grad school; I don’t have a CS degree. I’m not one of the people who started programming when I was six because I wanted to make a computer game. I got into tech because I moved to California, and I couldn’t find a philosophy job. One day I helped someone who was programming reason through a problem and afterwards they said, “You should do this for a living. I think you’d be good at it.” I was looking for a job, so that sounded great to try to do.

There weren’t bootcamps at the time, so I read one of the few books. It was a comic book, it was Why’s Poignant Guide, and I worked through all the examples. So I would was programming and would get particular output on the screen, but lacked a larger context for how things fit together. It didn’t help me understand how, for example, web applications work because the examples were pretty silly.

I was frustrated, and wanted to do what I called “real programming,” and ended up at a RailsBridge workshop. That became my first opportunity to get feedback about how much I knew and what I still needed to know, and that was fabulous. I found out that I knew a lot more than I realized, because books don’t tell you, “Good job. You’re progressing well.” I also found out, there are a lot of things I didn’t know, because a book also won’t tell you, “You need to learn this, and this, and this.” That was my first entrance into programming. And I’m still involved with RailsBridge, because it was a great experience for me.

What were some of the things that came super easily, and then what were the things that became obvious, that you just didn’t know anything about, yet?

There were two things that came easily. One was, reasoning about business logic. The business logic of “Here’s a problem. How do you solve it?” If you don’t code, this is like word problems in math, where you take a problem, and translate it into something solvable. Translating a word problem into code was relatively easy, probably because the type of philosophy that I studied was very logic-centric. Transcribing an argument into symbolic logic is very similar to, for example, “If these conditions are met, grab these kind of things and sort these things in this particular way.” That wasn’t such a big jump.

I have to say, figuring out how to solve a well-scoped problem when I was working on my own was an entirely different skill than learning to write code that other people thought was good code; there are conventions that I had no idea about. And working in a way where I communicated out to others about what problems we were hitting, why it seemed important to prioritize doing particular things, and when people could expect us to be done. So finding out how to do things in a way that makes it easy for other people to work with you, that was also a fun, new skill.

There were other things. I was learning Ruby, but no one writes just Ruby. I needed to learn javascript, testing, weird browser fixes, and big things like how the internet works. And the point of all web apps  is to generate HTML, which is to say, generating a bunch of text. String manipulation, which sounds trivial, was a whole new world. RegEx-es took me an embarrassingly long time to understand. There were a lot of things that were not easy.

All right. You taught yourself to code, walk me through your first experiences with putting that to work.

The first time I tried to apply for an internship they said, “You know enough that you could do some things for us, but not enough that we will pay you for them. So I worked for free, and I can’t say I recommend it. I got tons of feedback about what my limitations were, about the difference between writing a small script or program, and write a mid-size web app that does what the client needs and other people want to work on. A lot of that was about learning to communicate.

After working for free for several months, it became apparent that that consulting company wasn’t growing in a way that would create space for me. So I started interviewing, and I was asked questions that I could not answer at all, the traditional algorithmic, computer science questions. My response was initially “Do you need a computer scientist or do you need a web developer because I might be in the wrong interview?” But I learned that this is the proxy that we use to interview everybody apparently [chuckles].

How have you adjusted to that or have you at all?

Yeah, after getting my first real job, I had the space to start trying to learn things that I would have learned in school, including algorithms. I still brush up on algorithms before I interview, but also, I’m really skeptical of those types of interviews now. It seems like a bad shortcut. A better interview tries to evaluate what we actually need this person to do? For example, instead of asking about quick sort, which you probably don’t need me to know, ask me to spot and solve an “N + 1” query. Not designing a practical interview is a red flag to me now.

It doesn’t seem so practical given that more and more people are teaching themselves to code.

Exactly and you would miss out on amazing developers! Are those not the people that you want working with you because those are the people I would want working with me.

Interesting. Walk me through some of the most exciting things that you’ve  worked on, or exciting things about working in Silicon Valley, things you’re proud of?

The things that I’ve been proud of have been getting to the point that I can push back on the received wisdom. If you think about the industry practices that everyone pushes for, for example, building mobile first (that you should always have a web experience that works for mobile), responsive design, how to track the performance of your website (which used to be server-focused and now is more browser-focused). I was focused on understanding and implementing a lot of what people said was best practice. And as an example, building service-oriented architecture was became orthodoxy for a little while. And I assumed that if that’s what all the blogs say, that must be right.

But when I started giving tech talks, that practice of being reflective and explaining to others what went wrong in projects I was on, and why, has been so wildly useful. So, the thing I think I’m proud of is I’ve gotten to a point, both in understanding the technology, and in my confidence level, that I feel comfortable challenging orthodoxy, challenging and pushing forward the conversation about how we should do things.

As an example, I helped write a mobile web experience (built on backbone), and I unintentionally broke the way that we were doing our performance monitoring. And diving into what went wrong, it was obvious that this wasn’t just a problem for me and my team; this is an implication of building single page web apps. Everyone is having this problem, and if we like single page apps, we need to figure out a better way to do performance monitoring, because all the existing tools were built for server-side rendering. So in diving, I was at first horrified, and then really proud to have helped identify and propose solutions for this huge blind spot we had as a whole community.

Yeah, I love that.

Making good arguments and pushing forward how we build our apps.

Yeah, solving a good problem. I love that. When did you turn your focus to improving culture?

I was very hesitant to talk about culture. I worried that it would undermine my credibility as an engineer to not talk about strictly technical topics, which sounds ridiculous, but seemed real when I felt like I was struggling for credibility. When I joined an engineering team as the only woman (because it hadn’t occurred to me to ask in interview if there other women engineers at this company!), it was a little isolating. Okay, it was a lot isolating, and one thing I did to cope, was to do my best to pretend that I wasn’t a woman. I would wear the hoodie, wear the t-shirts, drink beer, and pretend that I’m just one of the guys. Then maybe I would have some kind of community. So I was really hesitant to stand up and say, “We have some major problems.” If I stand up and say, “This culture’s fucked,” then you’ll notice that I’m a woman, and you’ll notice I don’t fit in. Maybe you’ll kick me out.

So I’ve never given talks about culture, but I’ve tried to change it. And I felt pushed into it. I was at a company where the majority of employees and all the customers were women; when I started I was the only woman engineer. After we hired three more women onto the engineering team, and we had all been there for a while, we found out that all the women engineers were being underpaid and under titled. When it was just me, my first assumption when I realized like I was getting paid a little bit less than all the guys was that maybe they’re all better than I am. But when it became a pattern and I knew for sure that the other women were just as good as the men, that was a push. So in every single meeting we had with an engineering manager, or a director, or VP, I would just bring this up. I would ask them what they were going to do about this, and when. I did my best to be loud and annoying to everyone in power at the company.

But months went by and no one did anything or even had an answer for me. That changed when we got a new CTO, and in the intro my team had with the new CTO, I did the same thing “Hi, I’m Rachel. Nice to meet you. You should that you have three amazing women on this team, and we’re all being under-titled and under-paid. This is your opportunity to do something about it.” And he did. He dumped money and titles on all of us, which was the right thing to do, but organization had already ruined the trust with the women engineers. So within six months we all left. That was my first push, knowing that the problem won’t solve itself. You can’t rely on the company to look out for you; it would be great if you could focus on doing great work because you knew the company would treat you and the other women fairly. In practice that doesn’t usually happen. And that was my radicalization.

Yes, understandably. I remember having a moment realizing this guy who worked with me in our tiny 7-person startup, who had a very similar role to me, was being paid $50 thousand more than me.

That’s terrible!

I eventually rage quit that company. But yeah, it’s absurd. Okay, where do I want to go from here? So tell me more about the culture work itself and the things you’ve been doing, the things you’ve been learning, working with other people on this. What have been, kind of, the big revelations?

The number one revelation I would say is that the problems of white women are not the most important problems, which took me too long to figure out. When I was the only woman on the team, that seemed like the biggest problem to me. The larger problem, looking back on it, is that yes, we had one woman, but we didn’t have any black engineers. So trying to be aware enough of what all my biases are that I’m not standing in the way of other people has been pretty revelatory. Finding people who talk about their experiences, and being good at listening, that’s what I’m learning to do today. And I’m sure I fuck it up on a very regular basis, and I’m very practiced at apologizing as well.

Let’s see. Other then that primary experience, what have been your other biggest struggles or biggest challenges in your work?

I talk more and more about how to build teams and scope work, because that’s been a pain point at my current job. I work at GitHub, and the first week that I was there, I set up my dev environment, and I waited for someone to tell me what they needed me to build. And that didn’t happen. Instead of having a plan for what they wanted people to work on, they told everyone, “You’re smart. Figure out what to build and build it.” Which in retrospect, is so silly. It means that no one’s thinking about a long-term plan, coming up with where the company should be in, say, five years. If no one’s doing that, then every single person is trying to pull the product in a different direction.

I found it to be really challenging. I spent a long time wondering if I was contributing in a way that is valuable and meaningful, because no one ever communicated about that. Eventually I just forced myself to believe that I was doing valuable work, even if no one else noticed or ever told me so. When someone happened to notice and appreciate what I did, I had to make a huge effort to remember that, because there was so little feedback. At the time we didn’t have managers. No one was walking around saying “This is really valuable to the company. It’s great that you did this.” Because I don’t think many people knew what was great for the company. So knowing that I was doing a good job was up to me. That’s a hard place to be. I want to be good at my job. I want to be successful at this. And knowing I’m on the right track would have been really valuable.

I didn’t experience quite that way but somewhere like working in a tiny, tiny startup, and you’re like young, and you aren’t totally sure if you’re right. Eventually realize that no one knows what they’re doing, but you don’t know what you’re doing, and when you don’t have anyone telling you where to go, it’s kind of like, “Okay. Well, we’re going to work in this vacuum, and hope that it works.” And then it works. Or like – and I think that the downside of that is that some people, they think it’s going well,  they think it’s going well. The only feedback you ever get, that could be negative. Like, we’re not very good at saying, This is marvelous.” right? So, I think that’s probably a larger problem than just our company, but it’s especially bad.

Yeah. And it’s such a negative oriented feedback trade, because it’s problem-solving, “There is a problem, there is a problem, there is a problem.” And it can affect you emotionally.

Yeah, I attach so much personal importance to my work, and to just be told that it’s wrong, not that it could be better.

Yeah, for sure. Where did you find your support networks early on/where you find them now?

The support network has always been women at the places that I’m working at and women at other companies that go through similar things. It’s really valuable to have friends at work. If you’re in a meeting and someone talks over you, it’s great to ask a friend “Did you see that? Were they talking over me or was that in my head?” They can also boost you up, I have a friend, Lara Hogan, and she has a blog post called, ‘You Are An Amazing Beyoncé Dragon”. It’s a phrase her friend texted her before she went on stage to give a huge keynote. Lara was terrified, and her friend text her, “Lara, chill out. You’re an amazing Beyoncé dragon and you’re going to kill it on that stage.” And her response was “Oh, right! I really am an amazing Beyoncé dragon.” No guy is ever going to tell you that; only women friends who know what you’re up against and know how fucking amazing you are, can tell you. I have a few friends I talk to every day, some at work, and some I don’t work with any more, particularly Emily Nakashima, and they’re my go-to for reality checks. When things are good or things are fucked they are there to say like, “Yay!” or “fuck all that!”. That’s the support network, and it’s amazing.

Similar but different – have you had mentors or people that you’ve looked up to or like people who have kind of been pivotal in your life along the way.

I think there are two good chapters of “Lean In”, and they’re the two things that Sheryl Sandberg actually knows about. One is about salary negotiation, and one is about mentorship. I really appreciate her view, but in my experience, it paints this very rosey picture of mentorship as something that everyone is constantly getting things out of. And that has not always been my experience with mentorship. I’ve experienced mentors who really, really want to mentor me, but it sometimes feels like clipping my wings, keeping me from trying things and maybe flying a bit. The best mentors have been people who are just like one step up from me in their career. They’re not a hero exactly but they’re, just far enough ahead that they can be a great example, they can give really good direction.

So I think I’ve gotten more out of those relationships than I have out of working with the aspirational, amazing heroes who don’t have the problems that I have. I know that organizationally it can be great to have someone that is looking out for your career in that organization and I don’t  think I’ve had quite that experience. Someday I’ll corner Sheryl Sandberg and ask her if her mentorship experience has really always been so perfect.

One day. What are your biggest motivators, what drives you in your work?

I have two main motivations. I want to build things that help people. And, a subset of that is that I want to help people who need help. So it’s one thing to build things for everyone, for example, I could probably get a job at YouTube, and build something for everyone. But I especially want to work on projects that will help people that need help. The project that I’m working on at GitHub is to make GitHub a more welcoming, accessible, helpful experience to people that are learning to code. And these are people who we have traditionally not gotten a lot of help; it’s been a tool for developers, by developers. If you are not yet a developer, we don’t do a great job helping you or optimizing for your workflow.

For example, if you create a repository without initializing it with a readme, we show you commands to copy and paste into the terminal. If you’re learning JavaScript, you can get pretty far doing things in the browser, without the terminal. So you could see that, and decide this tool isn’t for you. And that will limit you. You’re not going to feel welcome in the community. You’re not going to feel like you can create issues on projects you’re using. In a world (lazy?) recruiters think a GitHub profile fully captures a developer’s potential, it’s important that we break down those barriers, and make a better experience for people learning to code. The ripples on that change hopefully go out for a while.

Cool. That’s really awesome. Similar question, but different. What is important to you in a job today versus when you started?

I don’t have to prove myself anymore. I don’t want to prove myself, because I’m confident that I’m doing good work and building good things. I want to be picky and work with people who want to go in the same direction.

Everyone says they don’t want to work with assholes, but sometimes they don’t have a clear idea what an asshole is, so it’s an empty statement. I have a lot of  clarity on that now and I’m not interested in spending my time on people who don’t want to learn.  Everyone has their off days and good people sometimes have bad behavior. But on the whole, I’m not going to spend a lot of emotional energy being a babysitter to my teammates. I want to work with grownups and prefer projects that help people who need help.

Cool. How do your friends and family from home feel about the work that you’ve done? You’re from Texas. I’m from North Carolina. Are they just like, “What is a startup? We don’t understand.”

Yeah. They’re mostly like that. I’ve tried to explain version control to members of my family and  I’ve had different degrees of success there. I overheard my mom tell her friends what I do, and it was “She writes code.”  Her friends had questions and she was like, “She writes code. Ask her any further questions.”

My brother’s a mechanical engineer, and we have conversations about things like when to change jobs, or perks like working from home. My current company is remote friendly, and that’s a huge perk. Last week a friend and coworker who lives in a different state was feeling down; I went to see her and we co-worked together for two weeks. My brother thought that was pretty crazy.

I kind of want to go back to thing that we talked about where you were hiding your femininity for early years of your work. Now that you’ve kind of going into your career and you’re confident. You don’t give a shit about proving yourself to people. How have you changed how you portrayed yourself?

Yeah, my self-presentation is very different. A really common form of self expression in tech is the stickers people put on their laptop, and I didn’t put any tech companies on mine. I went to etsy and bought feminine and feminist stickers for my laptop. I have one that says “bad bitch”, several Lisa Frank stickers, a cat, a batgirl, etc.

literally talked about Lisa Frank a few hours ago in another social scenario.

In my little corner of tech, and I hope it’s more widespread, there’s been a big change. Five years ago, as a group, we hid our femininity and pretended we were just one of the guys. Now we’ve embraced it, we have `#nailcomf` and :nail_care: emoji as a symbol. I don’t have to wear tech shirt everyday. And I like wearing nice clothes at work; I spent a lot of time not dressing up to fit in, and that’s not really who I am. I enjoy wearing cute shoes and sweaters with animals on them. It doesn’t mean I’m less good at my job. When someone trivializes me because I’m wearing a dress, which doesn’t happen often, I’m in a place where I can explain how absurd that is.

That’s really exciting. I feel ten years younger, now that I work for myself. It’s just so cool to see how people change once they don’t feel like they have to be a certain way.

Yeah.

Let’s see. What do you think about the state of tech in 2016? What is exciting to you? What frustrates you?

It seems like tech is in a much at not blindly listening to heros. Conferences have talks with diametrically opposed positions. Culturally, it’s exciting that people want to talk about getting better. For example, I’m glad lots of places are doing the work that does into publishing diversity numbers. I’d be much more interested in blog posts about how companies define their diversity problem. Given what they see as their biggest problems, what are they trying to fix it, and what is working and not working? Tell me about those things. The dashboard reporting isn’t proposing new ways of doing things. A lot of people are on their heels and are focused on getting good publicity. And I hope that soon we can move past that. It’s cool that we’re talking about diversity as opposed to not talking about it, but there are some deeper conversations we could be having.

Yeah, for sure. How do you think your background and life experiences impact the way that you approach your work now?

My background completely impacts my work right now. If you are self-taught, and learning, I want the product I’m working on to help you learn. My background very much informs wanting to be on this team; wanting to be on this project, and help it go  

Yeah. What are you working on right now – you’ve talked about for work – but like for yourself? Anything in particular?

I have a lot of attempts at just side projects. Every time a friend has a problem, we start brainstorming a technical solution. Our immediate response to a lot of problems is “Let’s make an app.” I have lots of repositories of just trying to figure out what a rough draft could possibly look like. Most of them I drop, but some we make, just poking at the problem.

Where do you see yourself in five or ten years? Do you think you’ll still be here?

Tech can be really exhausting. Everyone’s learning on the job and that can be really frustrating. Engineers learning to be managers marginalize, under-title, and underpay people of color and women, and I see that happen over and over again. That’s exhausting. I don’t think I can put up with that forever; at least I don’t want to. I like to code. My hope for five or ten years is to find a way to spend my time coding and work with people who aren’t going to climb a ladder by pushing other people down. That’s the dream. And I don’t think Silicon Valley helps me toward that.

Hopefully, in five years I’ve figured out how to do  build cool things and worry less about  industry problems.

My last question for you would be what advice would give to folks from similar backgrounds who are just getting started in tech or hoping to get into it. What would you wish you would have known?

I felt a lot of pressure to try to prove myself very quickly and I think if I could go back and talk a younger me or someone who is getting hired today I think I would say that’s not really necessary. You can move at your pace. I went to meet ups every night when I was getting started because there might be some new thing I need to know about. I would wake up early and read text books. I worked during work, but I felt like there was so much to catch up on that I worked all the time out of a sense inadequacy, because I was self-taught. So if I could go back, I would say, there’s no need to do that. Find a steady pace that works for you. Find jobs where you will be supported in learning and learn on the job.

And this is a thing I still do. I feel so much pressure to figure out things out, instead of asking. But when I have the good sense to ask, people are often, if not always, helpful. I’m not a bad programmer because there’s something I don’t know. That’s not true at all. I was really bad at asking question, imagining that I would be making all women look bad. If I could wave a magic wand, I would like every woman who’s starting out to feel like she can ask any question that she wants to.