It's Dangerous to Go Alone: Battling the Invisible Monsters in Tech
I created a google group for us to continue these conversations. I will also use it as a place to organize some google hangouts in the future.
- Impostor Syndrome - http://en.wikipedia.org/wiki/Impostor_syndrome
- Dunning-Kruger effect - http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
- All The Things! - http://hyperboleandahalf.blogspot.com/2010/06/this-is-why-ill-never-be-adult.html
- Hacker School Social Rules - https://www.hackerschool.com/manual#sub-sec-social-rules
- Aaron Patterson at SCRC12 - http://www.confreaks.com/videos/1137-scrc2012-open-source-how-to-give-back
- Road barrier from the noun project
- Conversation designed by Anna Weiss from The Noun Project
- Ghost designed by Emily Haasch from The Noun Project
- Bed from noun project
- Group designed by Benny Forsberg from The Noun Project
- Handshake designed by Marc Nadue from The Noun Project
- Scale designed by Stephanie Wauters from The Noun Project
- Ruby Rogues #107 Syndrome with Tim Chevalier
- Geek Feminism Wiki
- Kicking impostor syndrome in the head: lessons from AdaCamp DC and SF
- Overcoming Impostor Syndrome
Apologies for ad libbing the idiom "low end on the totem pole" in my talk. I should know better and will make sure I do not repeat this if I give the talk again.
Alright. So hi! I'm Julie Pagano. I'm a software engineer from Pittsburgh, PA. I currently work at the Google offices there. And I'm here today to give you a talk entitled "It's Dangerous to Go Alone: Battling the Invisible Monsters in Tech."
I'm here to talk to you today because I love coding. For me, it's not just a job. It's something I've been doing since middle school, but I'm involved. I do the Girl Develop It chapter in Pittsburgh. I help organize Steel City Ruby Conf. I'm constantly learning because that's something I really enjoy. And I suspect that most of you feel the same way. You're at a conference right now wanting to learn.
So we come to these conferences talking about ways to improve. Things like: testing, design patterns, software craftsmanship, tools, and more. But we're missing something. It's hard to focus on your love of coding when you're regularly battling invisible issues like insecurity, anxiety, and lack of confidence.
These issues create hurdles to success. Not just for the individuals who are immediately impacted by them, but for the community at large. People love to joke that programmers are introverts who work alone in the dark in the basement never talking to each other, but that's not the reality. What we do is incredibly communal. We work on teams. Most of us use open source tools, languages. Many of us contribute to open source. And when things go wrong there, we file issues and pull requests. Most of us do code reviews when we write new code. We pair program. We go to user groups. We're at a conference right now. We do mailing lists and irc. What we do is exceptionally communal. And when individuals in those communities are held back from their love of coding, aren't able to reach their potential, the communities aren't reaching their potential either.
So we need to talk about this. Ignoring it makes it worse. It's like the adult version of the monsters under the bed. It's scary and isolating because those around you don't understand or actively deny what you're going through. So I'm here to talk to you today because I want to shine a little bit of a light on this, so we can talk about it and help those people.
So today I'm going to focus on two main things. I want to focus on one of the main issues that impacts people. And then we're gonna talk about tools they can use to help themselves, and for those of us who don't have those issues to help them.
So lets start out with the issues. What are we talking about here? The issue I want to focus on today is something called impostor syndrome. Impostor syndrome is a psychological phenomenon in which people are unable to internalize their accomplishments.
I want you to think for a second about how that impacts somebody who is a software engineer, a computer programmer. Coding involves regular failure. Most of us fail on a weekly, if not daily basis. We break things. We create bugs. We hit problems that we have difficulty solving or maybe that we can't solve at all. Regular failure. Most of us, we try to even it out by also focusing on our successes, our achievements. So we create a bit of an equilibrium, so that that constant failure doesn't become a drag for us. For people with impostor syndrome, the failure feels larger and the successes dimish, so they lose that equilibrium. They have too much focus on the failure, and that can be really hard.
One of the people I interviewed in preparation for this talk described it thusly. "Victories diminish in importance. Failures loom large." This is what it feels like to suffer from impostor syndrome.
Impostor syndrome can impact anyone. I interviewed a bunch of people to prepare for this talk, and they cross-cut pretty much every different demographic. There was no specific group that was clearly "the group" that was impacted by impostor syndrome. There were men. There were women. There were people that had been programming for a year, and people that had been programming for 20, and all sorts of other different groups. I guarantee that most of the people in this room know at least one person who suffers from impostor syndrome. I'm also pretty sure that there's people in this room that themselves suffer from impostor syndrome. There's at least one. I have impostor syndrome. ::raises hand:: I've had impostor syndrome probably for as long as I've been a computer programmer, so about middle school. I only learned the name for it about 2 or 3 years ago. That made a really big difference for me because I was able to recognize what was going on and find ways to work through it. It's why I'm here talking to you today.
So how do you identify people who have impostor syndrome? Most people don't come up to you and say "Hi, I'm Julie. I have impostor syndrome." It's not that simple. There's some common things you'll often hear from people, particularly when you talk to them about their achievements. The achievements which they can't internalize. You'll hear things like: "I was just luck" or "I'm not that smart" or maybe even "I'm not a good programmer." You might hear these things and think that this is modesty, and for some people, it is. But for people who have impostor syndrome, this is not modesty. It is honesty. They mean what they are saying. And the thing that they often don't say out loud, but they think to themselves quite often. "I'm a fraud." This is really the core of impostor syndrome. People who have these issues believe they're frauds, impostors. It's where the name comes from. Not only do they feel that way, but many of them are very afraid of the people around them finding out.
So you may be saying to yourself "but Julie, everyone feels that way sometimes." And that's true. Your average computer programmer probably has a little bit of an up and down with insecurity throughout their careers. Especially when you start a new job. Low end on the totem pole - you don't know as much as everybody else. You feel a little insecure, but it usually levels out. But I want you to understand that there's a difference here between this and what it looks like for people with impostor syndrome. For them it tends to be heightened. There's still ups and downs, but it's always really high. It's a systemic problem. It tends to be long-lasting for them, and it tends to have a lot of negative consequences.
One of the negative consequences is that people with impostor syndrome tend to hold themselves back. They often don't share knowledge. Things like speaking at conferences or even just a local user group. Writing blog posts. Because they don't believe that they are good enough. That they have the expertise that's worthwhile to share. They're also very afraid of sharing and getting something wrong and everybody finding out what a fraud they are.
Likewise, they often don't collaborate. A really good example of this that came up is pair programming. If you don't believe you are a good enough programmer, and doubly you're afraid of somebody finding out, imagine how scary pair programming is for you. Having somebody watch you all day long coding. For a lot of people with impostor syndrome this can become a self fulfilling prophecy. They're so anxious about being put in that position that they're focusing a lot of their energy on that anxiety instead of the immediate problem at hand, so they do program not as well as they would have if they were coding by themselves because they're not able to focus.
People with impostor syndrome often do not contribute to open source. Again, they feel they don't have the expertise because they devalue their own skills, and they're afraid to contribute in such a public way. We've all seen those pull requests where somebody decides that whatever the person did was stupid, and everybody jumps on them and makes them feel crappy. People with impostor syndrome have seen that too, and they're terrified of that. That's the case where everybody finally finds out what a fraud you are. So a lot of them don't contribute at all.
Lastly, some people with impostor syndrome don't apply for jobs. Several of the people that I interviewed described being in a position where they were at a dead-end job. They weren't progressing in their career. Or they were being demoralized to the point where they didn't even really like coding any more. And they weren't looking for an exit strategy. They weren't applying for a new job despite there being tons of engineering jobs right now. Because they felt they weren't good enough. That they didn't deserve better. This one hits really close to home for me. I mentioned I work at Google. I've worked there for about 9 months, but I've been wanting to work there since I graduated from college in 2007. At the time, I looked at Google, said "This looks like a sweet place to work. I'd really like to work there." I never applied because I felt I wasn't good enough despite having good grades and work experience. I never tried. Then I got a job somewhere else. After a few years, I became unhappy at that job for a variety of reasons, and I wasn't really looking for a new job for a long time because I felt I wasn't good enough to work elsewhere. Throughout this time period, every few months I would look at Google's job listings and say "This looks awesome. I wish I had this job," and then I would close the window and never do anything about it. Because, again, I wasn't good enough to work there. So, how did I get the job at Google? A recruiter in Mountain View contacted me, and she spent a good 30, 40 minutes on the phone with me talking me down from my impostor syndrome. Convincing me that it was a good idea for me to interview. That it would be beneficial to me. That they thought I had a good shot. From there, I worked hard, I studied, I got the job, and I've been working there for 9 months. But the reality is it took 5 years longer than maybe it should have. If the recruiter hadn't contacted me, maybe it would've taken another 5 years. Maybe it would've never happened at all because my impostor syndrome had convinced me that I wasn't good enough.
Another person I interviewed said "You shouldn't feel like you have to slay a dragon to get a job." That sounds like hyperbole, and to some degree it is. We all get nervous about interviewing with jobs, but for people who suffer from impostor syndrome, it can feel like it reaches heights of mythical proportions. It's so impossible for them.
Another person I interviewed perfectly described the end result of all this holding yourself back. They said people with impostor syndrome "start small." All programmers start small, but they "remain small" because they hold themselves back in all these different ways because of their impostor syndrome. And they "end up small" because nobody helps them push past it, and they continue to hold themselves back. This is a little bit scary.
So you may be saying to yourself "But Julie, are some of these people you're talking about, maybe they're just bad programmrs. Why do we care?" I want to clarify, most people fall roughly along this line. Their perception of their abilities and their actual abilities are roughly in line. It's not perfect, but it's close. If they were bad programmers and they thought they were bad programmers, they'd fall somewhere on this line. People with impostor syndrome, they actually fall somewhere over here. They're actually good programmers, but their perception of their skill is very low.
What's interesting is there's another group of people that exist in the programming industry that also have a broken perception of their abilities. They suffer from something called the Dunning-Kruger Effect. The Dunning-Kruger Effect is a cognitive bias in which unskilled individuals suffer from illusory superiority, mistakenly rating their abililty much higher than average. Those folks live over here.
Both of these groups of people exist in the programming industry. It's interesting to think about how these impact us. The folks with Dunning-Kruger. They think they are hot shit. They think they're awesome. The reality is their abilities are actually fairly low. They often don't know when they make mistakes. They don't realize what they don't know, but they're promoting themselves. On the other side, people with impostor syndrome actually have a decent amount of expertise. They know what they don't know, and they're very clearly aware when they make mistakes, but they hold themselves back because they devalue their skills. I'm curious how these two groups of people interplay in our industry and which is actually better for us to have on our teams. I don't have any straightforward answers, but I think it's something people should start to think about.
So I mentioned that many people with impostor syndrome hold themselves back. Other people with impostor syndrome push themselves too hard. They believe that they are behind their peers because of their diminished understanding of their own skills, so they try to play catch-up. They start taking on more hours at work, learning more languages, doing more projects, contributing to more open source, going to more conferences, and suddenly they're doing ALL THE THINGS. ALL THE THINGS. And this is not sustainable for any duration of time. When you try to do ALL THE THINGS for an extended period of time you hit something called burnout. Burnout is described as long-term exhaustion and diminished interest in work. When you hit burnout, you no longer love coding. In fact, you kind of hate it. When most people get to this point, they stop learning. Stop doing the activities they were doing outside of work. Most of them get to the point where they basically do the bare minimum not to get fired, and that's all they can manage. For a lot of people this is kind of game over.
This hits a little close to home for me. Earlier this year, I hit burnout after a year and a half of trying to do all the things. Let me tell you, a year and a half is too long to do ALL THE THINGS. I'm amazed it took a year and a half. It was really terrifying when this happened. I withdrew from the activities I was working on. I was doing ok at work, but that was pretty much all I could manage, and I was terrified of how long it was going to last and what the impact would be. Now, I got support, and it lasted about a month. But I've seen this happen to other people where it lasted 6 months, a year, 6 years, permanent. And when it's permanent or it lasts as long as years, that's game over. Those are people we've lost. In the industry. In our communities. This is the end result if we let impostor syndrome run rampant without talking about it. Without helping people. This is what we're trying to avoid. This is why I'm talking about this today.
So now that I've depressed you a little bit, I'm going to move on to giving you some tools we can use to talk about this. To help people. To help ourselves. I'm only trying to depress you a little, so that you understand how important this is because it is dangerous to go alone. We need tools to work on this.
The biggest piece of advice I can give you is "build a party." Create a support system of people you care about, that you trust, that you respect. That care about you. These people are your support system. When you have a bad day with impostor syndrome, these are the people you're going to talk to. Another important thing they provide is objective feedback about you. When you have impostor syndrome, your internal evaluation mechanism is broken. You love to look at the things you do wrong. You focus on them too much. You can't focus on what you do well, so you need people you can respect who can give you both positive and negative feedback, but that is constructive. This is criticial to success. I don't believe that anyone with impostor syndrome can fight it alone. My party was critical. It's the only reason my burnout only lasted a month because I had an incredibly great support system.
Another thing that's really important is tracking measurable progress. If you ask us subjective questions like "are you a good programmer?", a lot of us will be like "No, I'm a shitty programmer." So sometimes you need data, and I know most of us as programmers, we love data, charts, maybe even spreadsheets. If you want to, you could write a ruby app to store all this information. But storing this data, finding progress for yourself, can help you find positive things that you wouldn't otherwise. One of mine this year was I'm going to speak at one conference. This is my third conference this year. By that measure, I'm doing pretty well.
Another thing that's really important on top of that is starting to look for positives. When you have impostor syndrome, again, your internal review is broken. You focus on negatives perfectly well. Positives are harder to find. Start out by getting positives from your party. Move on to tracking your data and getting positives there. And then from there, you need to move on to looking for positives yourself. This can be really hard, but you need to retrain your brain - build a good habit. Maybe you start out once a month. You wite down one thing you do well as a programmer that you consider positive. And then you do it once a week and once a day. Eventually you retrain your brain to do something that many people take for granted. Eventually you can get back to an equlibrium that most people have that you have to work for.
For those of you who don't have impostor syndrome, you can help others find those positives. We're really really good as programmers at pointing out when people do things wrong, when they break things. Reminding people of the positive things they do that you appreciate, that have helped you, that are just good code. Tell them. It's great for everybody, but for people who have impostor syndrome, it's amazingly effective and important.
On the reverse side, you need to avoid some negatives. We all know "that person." There seems to be one in almost every community. The "hostile geniuses" who we keep around because they write good code, but who tend to bring down everybody around them. They have no positive feedback. It's always negative and rarely constructive. These people are like kryptonite for people with impostor syndrome. If you have impostor syndrome, you're already fantastic at putting yourself down. You really don't need people to help. If you have impostor syndrome, identify these people and avoid them if you can. If you can't avoid them, at least identify that they are invalid sources for data about you. You have plenty of good sources: your party, maybe your boss, good coworkers you trust and respect. But these "hostile geniuses", they're bad news.
On the other side, all of us need to work on avoiding creating negative spaces. This is less malice, and part of it is just our culture. The Hacker School User manual has a really fantastic list of four behaviors that they discourage in their spaces because it creates a bad environment for learning. I think these also create a bad environment for people with impostor syndrome. It makes it hard for them to thrive. Things like no feigning surprise (e.g. "Oh my god, you don't know that programming technique that everybody should know. What's wrong with you?"). No well-actually's (e.g. "well actually, that thing you said is a little bit wrong, and I have to tell you how right I am even though it's completely irrelevant to the discussion"). No backseat-driving (e.g. sitting on the other side of the room going "No, do it like this. You're doing it wrong! You're doing it wrong!"). And lastly, no subtle sexism (or racism, homophobia, etc.), and I think that last one is self-explanatory. A lot of these things, particularly the first three, they're just kind of built into our culture. We all do it. I know I'm especially guilty of the well-actually-ing. I totally do it, but the thing is we get no positive value (or very minimal positive value) from these behaviors. But reducing them, we get value from that. It creates an environment where people with impostor syndrome are more likely to thrive, so I really would recommend all of you think about when you behave this way, and try to reduce it if you can. It helps other people.
Another thing people with impostor syndrome can do once they've kind of gotten some of the basics down is helping others. Mentoring, teaching, tutoring. This is good for a couple reasons. One of them is if you have impostor syndrome, you may believe you have nothing valuable to give. You believe you're below your peers and everyone else around you. When you start to help beginners again, you're reminded that you do have something of value to give. You see people learning from you. You see that you can help, and the excitement in them when they're learning how to program and you're helping with it. That can give you a positive that you didn't have before. Another useful thing is that sometimes you get to see what impostor syndrome looks like from the outside early on.
When I started teaching classes for the Girl Develop It chapter in Pittsburgh, I saw this in my students. I would be teaching a beginner HTML & CSS class with brand new beginners who've never done coding before, and they were doing an amazing job for their first class. I would have them look at me and in very serious words say "I can't do this", "I'm a bad programmer", "I'm not smart enough", "I'm stupid", and it would break my heart because they were actually doing really well. I realized that that's what I look like sometimes when I have my impostor syndrome, when I put myself down. It gave me a change to be vulnerable with those students. To talk about how I'd dealt with these issues, and that it was ok. That they were doing really well. It also made me be a lot more thoughtful about my own impostor syndrome. About how harmful it can be, and that maybe I need to stop putting myself down all the time.
A slightly controversial piece of advice I have is "kill your heroes." Not literally. If I catch anybody chasing the other speakers around with a sword later, you're violating the code of conduct. Don't do that. What I mean by kill your heroes is killing the imaginary version of them that we have created in our minds. We do this in the programming community. We definitely do it in the Ruby community. We start to look at certain members of our community kind of like celebrity god heroes. These magical people who never write bad code. Who were like birthed fully formed with a MacBook writing amazing Ruby code. They have magical powers. It's imbued in them. They never worked for it. When you have impostor syndrome, and you look at people like that, you feel like an ant - maybe even tinier than an ant. You feel like you are so incapable in comparison, and you don't see a path where you could be cool and awesome like them because it's a magical power and you clearly don't have it yet, so that must be it for you.
So I really recommend killing that imaginary version of those heroes. Leave the human being that's actually there behind. Cause then you get to see people who actually write bad code. Even our heroes create bugs, break things, make mistakes, and none of them have magical powers. They all started small like the rest of us did, and they worked hard to get where they are. They should be rewarded for working hard, but we should recognize that there's a path there. Maybe you're not as awesome as them yet, but you could be if you worked hard enough. That it's not impossible. That it's not magic.
Now, I have my own story about this starring Aaron Patterson, one of our own Ruby heroes, also known as Tenderlove. He's definitely one of those people we look at that way, right. We have all this trivia about him. We know about his cat, Gorbypuff. Some of you probably have stickers of his cat on your laptop. Anybody willing to raise their hand because they do? Yeah, yeah, you guys totally have stickers of his cat on your laptop. He's definitely somebody we look at this way, right? He's a hero. For a long time I really looked at him in that way, as like this magical hero. In particular, about public speaking. Aaron speaks at conferences all the time. He's often one of my favorite speakers when I go to a Ruby conference. He's great. I saw him speak at Steel City Ruby last year, and before he spoke he said something that really meant something to me. He said, "I get insanely nervous when I give presentations." This feels really small, but it humanized Aaron in a way. He speaks all the time, and he's a great speaker. Despite speaking all the time, he gets insanely nervous. This was really meaningful to me because at the time, a year ago, I was starting to decide "do I want to speak at conferences?", "can I speak at conferences?" I was terrified of public speaking. Incidentally, I'm still terrified of public speaking. I decided because I was so nervous maybe I couldn't do it because most of these other speakers, it looked like it just worked for them. I hear Aaron say that he gets insanely nervous, and it really humanized him and reminded me that I can speak too. Aaron gets nervous, doesn't stop him. I'm not going to be as good a speaker as he is when I start, but maybe some day. It really helped for me.
The last piece of advice I want to give you I heard from just about every person I talked to about impostor syndrome. That's "fake it 'til you make it." Don't do this for your technical skills. Putting stuff that you don't actually know on your resume ends badly for just about everybody, but this is fantastic for confidence. For things you're not quite sure you can do. That list of all the ways that people with impostor syndrome hold themselves back. Faking it can help you push past those. You're afraid of public speaking? Maybe you do a 5 minute lightning talk at a local conference or at a local use group. It's five minutes. Even if your talk is terrible, it's only 5 minutes. Nobody will die, and there's a good chance the talk will be fine. Things like applying for jobs. Why not try? What's the worst that could happen? You don't get the job, and you stay at the dead-end job you were already at? That's going to happen whether you interview for other jobs anyway, but if you interview for jobs and pretend that you're confident enough to work there, maybe one of them is going to believe you. The reality is that it's not that you're not qualified, it's that your impostor syndrome tells you you aren't. So sometimes when you know you have it, you just have to push yourself.
One of the people I interviewed said "the secret to life is pretending you know what you're doing." I really agree with this. I think it's critical for people for people with impostor syndrome. We're always going to have that little nagging voice that says, "you can't do that." Sometimes you just have to pretend. Fuck it, I'm gonna try. What the hell?
So I just want to leave you with a few points. Please talk about this. It's really important. Talking about impostor syndrome openly shines a light on it. It makes people who suffer from this feel like they're not alone. If you have impostor syndrome, please help yourself. Try to start using some of the tools I've talked about. Build a party. Get help. You don't have to stay small. You can work past it. For those of you who don't have impostor syndrome, please help those around you. As I said, the community as a whole is harmed when people are held back this way. If you care about the software community being great, helping people (many of the ways you help them are easy) is beneficial for everyone. And please everybody enjoy coding. I love it. I want you to keep loving it to. I would love feedback about this talk. You can get me on twitter (@juliepagano) or find me in between and I will tweet my slides some time when I'm done. That's it.