Confessions from an Impostor


You know what impostor syndrome is, right!? Most all of us have felt that nagging feeling that we're faking it and that we're sure to be found out by all the experts around us at any moment.

But before you go assuming this talk is the same ol' song and dance full of platitudes that encourage you to ignore that syndrome, let me clue you in on a little secret: there's no experts around you. Impostorism is not a syndrome at all, it's a pragmatic mindset and perspective, one we should all embrace and be proud of. In fact, it's vital to us getting our jobs done.



♪ Thank you very much for having me. I am so thrilled to be back here, not the least of which because Amsterdam is definitely the most beautiful city in all of Europe. I've been here many times and it gets more beautiful every time I come. But I'm also thankful to be back in front of people after two and a half years of looking at a Zoom camera. I don't know if any of you feel like that, but I'm thrilled to be here. So thank you for coming out. A quick PSA. I no longer use the Getify name on Twitter. I'm not on Twitter anymore. So people are constantly like tweeting and trying to follow that account. It's just a dead account. So I'm known as Getify everywhere else, but not on Twitter. All right, so I'm going to talk to you today about imposter syndrome, yes, but I'm going to try to reframe this discussion. And immediately when you think about imposter, you may be wondering, does he play the game Among Us? But no, that's just my kids that play that game. I'm going to talk to you about being an imposter and I'm going to try to reframe this because we can see from the definition a person who practices deception that this is a negative thing. Automatically we assume that this is a negative thing. If you are an imposter, you are trying to deceive people. There's a malintent involved. You're trying to deceive the people around you into believing something that's not true. And that's the assumption that we make. And I'm going to try to reframe from being an imposter like around imposter syndrome, I'm going to try to reframe this to a concept that I'm calling a professional imposter. And I want to say right off the bat that there is definitely a negative way to go about this. This is Frank Abagnale, the Catch Me If You Can, if you've seen that movie or read that book. He made a living literally being an imposter and pretending to be somebody that he was not. And I'm not talking about that at all. But I do think there is a positive way for us to go about embracing the identity of imposterism. So let's look at this imposter syndrome and compare it to the negativity that surrounds imposterism as we have come to know it. It's a psychological occurrence, so it's something that's happening in our brain and it's very real, but it presents us with these doubts and we fear that others are going to find out that our skills are not sufficient. In other words, we think everyone around us is an expert except for us. And I have a little secret for you. There's no experts anywhere. I'm not an expert. You're not an expert. There's no experts. Okay? We're all just at various different stages of figuring this out. But it is a very real thing that our brain tries to trick us into believing. So I don't want you to hear any of what I have to say today as diminishing this very real lived experience. I have some disclaimers for you. First of all, I'm not at all a doctor or a psychologist. And I'm not in any way, shape or form qualified to speak to you about the actual mental problems that come from this. Right? And don't hear me to be trying to refute anything that very smart doctors and psychologists have said on the topic. Secondly, I also want to recognize that there are many people, and I see many people out here in this crowd, that are from a people group where you experience this much more disproportionately severely than I would. I definitely have experienced and presently experience imposter syndrome. And as much as I would like to empathize with those of you that are in these different people groups, maybe underrepresented people groups, I can't fully understand that lived experience. And I don't mean to invalidate any of the real problems that you have perhaps dealt with on the topic. Lastly, I also want to say that in the research for this talk, I found that there was tons of fantastic information about imposter syndrome. And I literally started to think, well, maybe I don't even need to say anything about this, because there's so much great stuff out there. There's so many fantastic talks and blog posts that have been written. And I was impressed by that research so much that I literally started to doubt, maybe I shouldn't just even do the talk. And you might be wondering, well, you know, what does he have to say? So I want to point out one particular resource. This is among many that are out there. One particular resource. This is a blog post by Louise Curtis. And she identifies this idea called concert imposter syndrome. It's a great metaphor. Like, you're at a concert with your favorite band, and you're singing along to the lyrics. And then all of a sudden, you notice the person to the left or right of you knows more of the lyrics than you do. And all of a sudden, you feel like you're not a good enough fan. And she expertly relates that to the experiences that we have in work. And I'm not doing at all justice to it. Read it. Go watch the attached TED talk as well. I strongly recommend that you take it. But I wanted to pull out a couple of quotes here, because she turns this into such a positive at the end. When I feel imposter syndrome start to bite, I know this means I'm passionate about something, that I'm surrounded by the right people to help me improve. I love that mindset. If you're feeling like an imposter, you're probably in the best possible position to learn and grow. All you need to do is embrace the experience. And again, after reading this, I thought, maybe I don't have much else to say on the topic other than to point you to that. But I do want to take a different direction. I want to try to add a little bit to our discussion. So I want to take what we traditionally think of as a negative and try to see if we can spin this back into a positive. So I want to go back to this notion of imposter, and we're going to pull out our thesaurus, and look at a few words that are synonyms of imposter. In fact, I'm going to weed out all of those ones that are specifically about deceiving people, that have the malintent, that are about trying to create negative for other people. Throw all of those out and see if there's anything positive left over. And a few of these jumped out at me. Specifically, actor and imitator. When we think about an actor or an imitator, we think about that in a positive sense, generally. We think of that as entertaining and useful. But it's this third one that I want to call attention to, empiric. That's a word many of you probably don't know specifically, but you'll instantly recognize it as the root of the word empirical. It's a very old and arcane word, and I want to highlight what an empiric is. A person who relies solely on practical experience rather than on scientific principles. Again, as with most things that I'm saying here, there is a positive and a negative to this. If you are an empiric who uses your own observations, and when facts are presented that you don't believe in or you don't agree with, you just completely ignore those and you stay stuck in your own mindset for your entire life or your entire career, that's certainly not the right way to go. But there's another way of thinking about this. Because I think we can think about an empiric, someone who's relying on this practical experience, as unblocking us from feeling like we have to become an expert before we can share what we are doing with others. I hear this a lot. I get somebody will come up to me, and I've even heard it already today. Someone will come up to me and say, I'm working on this thing, and they fill in the blank. It's a project, it's a talk, it's something. But they say, but it's not quite good enough to show others yet. I don't know if any of you would identify with that, but I certainly have identified with those feelings like, oh, I'm not sure if I'm ready to show this off to the world yet. And I want to give you the same advice that I give everyone when they ask me this question. This is the advice I give them. If you wait until you're a quote expert, you waited too long. Why do I say that? It is because it is the journey that is most important. Think about it. If I had stood up here just a moment ago, and I'd said, here's why you should listen to me, and I'd listed off all of my credentials and all of my accolades and all of the books that I've sold and all of the great things that I've been privileged so beyond what I deserve privilege to achieve in my career, and I'd said, that's why you should listen to me. Would you relate to that? I think not. I think many of you would agree that you relate because you can find a journey that you can go on as well. When you're communicating with someone, not when you're just in an audience and listening to a talk, any form of communication, we as humans relate to each other when we feel like we can go on that journey with the person that we're communicating with. And so when you don't share that journey, when you keep that journey to yourself, and you only release it at the end and maybe never, you've robbed all of us of that opportunity to go on that journey with you. And so I encourage you to share early and to share often. Now I've got a little bit of an illustration here, and they're going to pop up the camera so you can see there in the back. I've brought along a shirt here. It's a shirt that I've got, and I wanted to just illustrate this for you because every week when I do my laundry, surely most of my shirts come inside out from the laundry. I don't even know how that happens, but somehow they get themselves turned inside out. And so I grab my shirt like this, and then I start to pull it through to invert the shirt. And some of you can probably relate to this if you've done laundry before. And so now I've inverted the shirt, and on the inside there it says, wrong way. But I want to ask you a question. Did I invert the shirt wrongly by going through this neck hole? Because it's true that I can also go through the sleeve. I can pull the entire shirt all the way through the sleeve, and I end up inverting it that way as well. So which one was the right way or the correct way? Is there a right and a wrong way? If I'm able to get the shirt correctly turned out so that I can hang it up, is that not good enough? In fact, we know that the easiest way is to turn it from the bottom. It goes so much easier when you pull it through the larger hole at the bottom. But all three ways accomplish the same task. They all invert the shirt. Now it turns out, we can go back to my slides now, I'm done with the demonstration. It turns out that there's some fantastic math, it's really interesting, there's math around why you can pull a garment like this, or any kind of 3d sort of thing, through the different holes. And I googled some of this, I have no idea what any of these things mean. Okay, so I can't teach you the math behind it. But yet without understanding the math behind it, I intuitively know how to invert a shirt. And if I do it through one of the holes versus one of the other ones, it might have been slightly easier or slightly harder, but did I not accomplish the same outcome? And is perhaps that not just good enough? And that's kind of one of the things I want you to think about through the rest of this talk, is maybe we've been putting too high of a standard on things. And maybe we should be saying, when I'm able to get a task done, maybe that's good enough. Maybe it's good enough to start. Now I want you to hear me because it is true that doing is often the best way to learn, but don't forsake that word learn. Don't feel that what I'm saying is just do, do, do, and never learn, never try to improve. I've spent my whole career trying to encourage people to improve, and it is preferable for you to eventually understand better what it is you're doing. That's much better. But maybe we don't have to wait for that full understanding just to get started. So I have this really complicated graph for you, so be prepared. If you do, it leads to learning, and if you learn, it leads to doing. That's it. That's the whole science behind this entire talk, is that we can start with doing, and that can lead to learning, and then the learning can lead to more doing, and so on and so on. It's not actually any more complicated than that. So I want to redefine this notion of imposter. I want to define professional imposter in this positive way that is about us trying to move forward in our career, and I'm going to suggest to you this is not just a nice-to-have, maybe a good thing. This is critical, that nothing would get done in our industry or anywhere in the world if people did not actually inherently do before they have become an expert at it. So a professional imposter, I define this way, passionate enough to do early and often, patiently evolving, observed experience into expertise, and always curious and willing to ask how and even why. And I don't know about you, but that is the identity that I want to strive towards. That's what I want somebody to say about me when I'm long gone, is that that's the mark that I left. And so if you're like me, and if you believe the same thing that I do, I've launched this little effort that I'm calling Imposter Proud. I'm an imposter, and you too can be an imposter, and if you're interested in reading more about that, this website has the Professional Imposter Manifesto, and you can sign on to that. A little over 200 people have already signed it, and I encourage all of you to go and visit that and read more about what I'm talking about. Also, we'll have the slides from my talk today. All right, so that sets us up then, because you're surely wondering at this point, this is supposed to be about confessions, and it is time for some confessions. I am an imposter in nearly every part of the technical disciplines of our industry, and I'm going to show you exactly why I believe that to be true. Let's start with web design. I'm going to, just as a kind of a little bit of a trigger warning here, this is about to be some really terrible design that I'm going to show you. These are the first two websites that I ever built. Oh, God, they're awful. Somebody paid me to build both of those websites back in like 2000, and I went and found them on the web archive, and then I was like, oh, God, why does the web archive have to keep all of my previous mistakes? Now, I hope that in the ensuing 20 years since this, I hope that I've gotten maybe a little bit better at doing design, but I still regularly get people telling me that I ought to just hire a designer instead of designing my own stuff. I'm not very good at this. Here's a couple of more recent things that I've built. Maybe it's a little bit better, but I still have a long way to go. On the left there, you see Flash Math Cards. That's literally an app that I built for my kids to practice their math. You can go and see that at It's a free little app to use, and they practice their math with that. On the right is a game that I recently built. Anybody in here like to play the game Wordle, the word-based games or Wordscapes or other games like that? So I hate those games that are based on luck. I do not like luck-based games that also pretend to be about skill. And so I wanted to build this different game, and briefly, Dwerdle is the name of the game. You start with a word, and you make a move with one of three things. Either you add a letter, remove a letter, or change a letter, and it has to make a new valid word, and the goal is to get down to the shortest word, A or I. That's it. And I built this game, and there was a lot of complex algorithms and fun stuff, but you can see that the design is just kind of like so-so. I wish that I had better design skills. But I'm an imposter at that, and that's okay. Let's talk about html. I had recently needed to survey the backers of my Kickstarter from back last fall. I needed to survey and get some of their information, and I tried to use some of the survey services that these, like, Kickstarters and others have, but it wasn't going to work for my particular situation. So I just threw quickly together, I threw together a little survey microsite and sent it out to my backers. And here's some of the markup from that site. And I want to show you that I just used plain old boring html in an actual file with a.html extension. There is no fancy JSX. There's no custom elements. There's no web components, none of that stuff, because I don't know how to do any of that. But I did know how to get something done just enough that I could get the information I needed from the backers. So I put some of this markup together. And I'm just using, like, paragraph tags and the dreaded BR line break tag, because that's the level of sophistication that I have with html. It's enough. And I didn't let that block me from moving forward. I talked about the flash math cards. I just wanted to show you some of the markup for that little equation part, the 7 plus 1 part. Here's what that markup looks like. There's no custom element or component here or anything fancy going on. I just did some divs and some spans together. And then I used a little bit of css to maybe make it look a little bit nicer. But that's it. That's the sum total of my knowledge of html. On the game that I referred to, the Dwerdly game, I have a light mode and dark mode selector. And I wanted to figure out how to build this in an accessible way. I wanted to build a selector there. And I was like, surely somebody's already built this. I don't want to go reinvent this wheel. So I Googled and Googled and Googled trying to find a nice little one. And everything that I found for these little toggles was using a check box underneath. Because they treat the semantic as off versus on. And that's not the semantic that I wanted to communicate here. Because these are two valid options. It's not that one is on and one is off. So I felt like that semantic would be communicated incorrectly if I did it with a check box. And try as hard as I could, I couldn't find somebody using radio buttons to do this sort of thing. So I just invented something. And it probably is terrible. But it works. It was just enough. I have two radio buttons and then I have that little color mode selector track div there. That's what draws the little thing, you know, behind the thumb. And we'll talk about the css in just a moment. But that's it. So I'm an imposter at html. But I'm able to get some html just enough to get my ideas out into the world. And I'm learning little as I go. And if you're like me, don't feel bad because you're not up to the latest bleeding edge standards on web components. It's okay to just use plain old html. Let's talk about the css. I'm most definitely an imposter at css. And I'm embarrassed that this thousand of you are all going to go and do a view source on my websites and look at how terrible my css is. Okay? I'm using a few things like css grid and stuff that I don't even exactly know how they work. But I pulled it off of tutorials and hacked some stuff together. There's that color mode selector that I referred to. That's what it looks like when you're in dark mode. And I was thinking, oh, well, I need to have basically just flip the colors when I'm going from light mode to dark mode. But it turns out it's way more complicated than that. Way beyond any of my expertise to understand, like, color theory and stuff. So I just had to, like, tweak these different colors. How did I do the color mode selector? Well, I did, again, I did use a little bit of css grid, but basically I'm just doing I'm hiding the radio button. And then you'll see on the next slide, I'm just selecting the checked radio button, having a pseudo element and making it visible. So one of the two pseudo elements is visible depending on which thing is checked. There's probably, like, a million better ways to do that. But this was the most sophisticated css that I could come up with. And here's what some of those colors looked like because I was doing light on dark and I thought I could just flip them. But it turns out when you flip them, you're going to have to choose different color schemes here. So I had to pick a yellow so that it looked better. And I had to do a different light that's not the FFF white. It's a different light because it looks better on this dark background. So there's probably tons of color theory behind this that tells you the right way to do this stuff. I just fiddled with these colors until it looked kind of good. Ish. Okay? So I'm not very good at css, but I'm able to get just enough of it done that I can communicate my ideas and get them out there. Let's talk about how we store colors for just a moment. This is probably terrible css. But what I wanted to do was be able to define a color, and I'm using a css custom property, a css variable. I want to be able to define a color and in different places apply a different alpha to it. And if you store it as, like, a hex code, you can't really do that, or at least I couldn't figure out how to do so. But I accidentally stumbled on the fact that if I store it in the decimal, the three decimals of RGB values, and then you'll notice on the first line there that says color orange 2, that's just defaulting to alpha 100%. But then a couple of lines down, I'm using the exact same orange color and I'm applying an 80% alpha to it. So I define the color once and then use it in multiple places, applying different alphas. This is because I, as a programmer, do not want to repeat myself over and over again, and this is the best that I could figure out. It's probably terrible, but it was just good enough. Let's talk about some css as it applies to layout design. I'm sure all of you are familiar and probably nearly experts at responsive design. I am very much an imposter at responsive design. In fact, not even an imposter. I'm just going to go out and tell you I don't know anything about responsive design. I am not clever enough or intelligent enough to figure out at different screen sizes and orientations what should be hidden and shown and what should flow to the next column and all of that stuff. And I'll also be honest with you that most of the time when I see that done, that drives me nuts. When I've been used to using something on an iPad and then I use it on my phone and the menu that used to be visible on the iPad is not even visible on the phone and I can't even figure out how to get to that particular option. So I am not sophisticated enough to figure out design-wise how this should look different at different screen sizes, but I absolutely want the stuff that I'm building to look different enough that it fits into these. So basically I hacked together this idea which was that I'm just going to scale the entire interface to the size of the viewport. It's the exact same interface. There's a lower and upper bound, but it's the exact same interface depending on orientation and viewport size. How did I do that? Well, I just set up a couple of css properties, one VH and one VW, and then everything else is a computation off of those css properties. All font sizes, spacing, margins, everything. It's all a computation of like times 3 divided by 19, whatever, and I just fiddled with it until it kind of looked okay. I did need to fix this up because there are some older browsers like Safari and stuff that don't really calculate the VW and VH quite correctly. So in the javascript, I'm actually recalculating that and setting those css properties, and every time there's a browser orientation change or a browser size change, I'm re-computing and resetting that css variable, and then everything else just flows. This might be an absolutely terrible idea. I'm not suggesting that you go and do this, but this was my best effort at trying to do some responsive design, and it was enough that I was able to get something out there and get some ideas in front of people. All right, so we've gone through a whole bunch of things that I've declared to you, and I'm proud to say that I'm an imposter app, that I can just barely get just enough of it done. The next topic that I want to share with you is javascript, and I know this is going to surprise you because some of you are going to say, wait a minute, I've had people come up to me and say, after the talk, before they've come up to me and said, I don't believe you, I don't believe that you're an imposter. And I want to tell you the true story of how I decided to write these books, because I did not know javascript at the time, even though I had been employed as a javascript specialist for almost 10 years. I realized that I did not actually know the language. I was having a conversation with a friend of mine who knew a little bit more about javascript, and I said something totally wrong, and he made fun of me for an hour at how bad I was at this thing, because I had mistaken it was something to do with a prototype chain. And I realized, I don't know javascript. I've been slinging this around and been paid to be an expert in it for 10 years, and I didn't know it. And I got told on a job interview, you don't know enough javascript. So I decided to go and write a set of books, not from my pre-existing knowledge of the language, but from what I was going to go learn over the next several years. So all I did was just start asking a whole bunch of questions about javascript, and then I wrote it down. And that's what I mean by being an imposter. Don't wait until you've already attained all the title and all the accolades of being an expert. It's enough to just put those ideas out there and try to refine them in front of everyone else. The more public you are, the better all of us will be, as we all learn together. So here's some javascript that I'm proud not proud of. This is from the Dwerdly game. And you notice that I'm using regular function declarations here. I'm using the dreaded var keyword and a basic for loop. There's no typescript here, because I don't even know how to write typescript. So this is javascript that gets the job done, but it's not something that most of you would show off to other people and say, I'm proud of. And yet I'm here to tell you I'm proud of the fact that this was enough code to get a game working. I didn't wait around until I had learned all these newfangled things. By the way, some other code in that survey that I did for my Kickstarter backers, I had these placeholders, not really placeholders, but I had all these alerts for all the different error messages and things like that. And just before I sent it out, I had a bit of that imposter syndrome kick up, and I was like, oh, man, I'm going to send it out to all these backers that have bought my books thinking that I know something about javascript, and then they're going to see that I'm using the alert keyword and they're going to make fun of me. So I quickly went and Googled and I found this little library called SuiteAlert, and I dropped in the replacements for SuiteAlert, and I literally left the alerts commented in the code, but I dropped in the replacement with SuiteAlert and said, okay, well, that's probably going to be good enough. And then I realized maybe I shouldn't have been doubting myself with the alert keyword, because if it's good enough for the developers on Google Calendar, where they actually use the alert keyword on Google Calendar, maybe I should have been proud to stick with the alert keyword. The final area that I want to talk to you about being an imposter in. By a show of hands, you don't have to yell this out, but by a show of hands, how many of you believe you know what this logo stands for? Ouch. I got like 12 hands that I can see here from the stage. It's kind of bright, so maybe there are more than that. This is the international logo for accessibility. And, yeah, I'm going to talk about accessibility, and, yeah, this is going to get a little bit uncomfortable for a few minutes, okay? I did not save accessibility to the end of my talk because it's the least important. I saved it to the end of my talk because it's the most important. It's the most important thing I have to say to you. I was having a conversation with this fantastic developer named Andres Lopez. I reached out to him because I found out that he was an expert specifically in accessibility and game design, and I was doing some research for this talk, and so I had a conversation with him. We got on a Zoom call, and right off the bat, the very first thing that Andres said to me was, do you know, Kyle, that both of us have a disability? And I was like, what? What is he talking about? And he pulled off his glasses, and he said, both of us have a visual challenge and we are privileged enough to have an accessibility tool that we can wear on our face to make up for that disability, that ability challenge. And that just totally blew my mind. I had never thought about this topic that way. And maybe some of you are in this same boat because accessibility so often is thought about as an us versus them. There's all of us who are normal, and then there's them over there who are somehow not normal because they are disabled. And I'm here to tell you today, disability challenges affect all of us. Every single person in this room at one time or another has had an ability challenge that we're either more or less successful at figuring out how to overcome. Every one of us. There is no such thing as those people are not our customers. That is total bullshit. Everyone in the world, if we choose to build for the web, has some kind of ability challenge. Some are permanent and some are temporary. But the fact that we choose to other them, we put them in this other bucket that's less important. And more importantly, we allow stakeholders to do that. The truth is that we have a responsibility, if we build for the web, to build for everyone. Some of you may know about WCAG, others may not. This is a blog post that talks about the WCAG principles, the accessibility guidelines. Sets forth not only good suggestions, but in some cases these are like legal requirements depending on your jurisdiction. And I pulled out a few of these. This perceivable. They use the icon with the eye as if it's about can you see things, but it's more than whether you can see things. Because there's all kinds of other senses. We have touch and we have hearing and we have smell and taste. Maybe we're going to have VR headsets some day that are giving us smell and taste. I don't know, that would be cool. But when you build something in software, when you build something in technology, it needs to be perceivable. People have different ability challenges with their different senses. And we can't forsake this and we also can't reduce this to saying that's only about whether somebody is blind or not as if that's a binary thing. Because it's not. And it's also not a permanent versus never thing. And there's so many things that can become temporary challenges for people. So somebody who was your paying customer last week is now having a temporary visual challenge. They're still your customer. And they would appreciate it if you gave a little bit more attention to making things accessible. Operable. There are motor mechanics involved in different types of technology. We have our fingers and our arms and sometimes it involves more of our body. And people have different motor challenges. And we need to be designing at least asking the question, if someone has a motor challenge, what is the way that we can help them? What's the affordance that we can help them to work around that? It needs to be understandable. Not all disabilities are completely visible. Some disabilities, some ability challenges are much more invisible. But we have cognitive challenges that some of us face. And if there's too many things on the screen or things are changing too quickly, it can cause confusion for people. We need to be asking, are we making this understandable? And the last one I love, because I already talked about responsive design, being robust to different screens is not just a nice to have for the designers to be happy. It has a fundamental tenant of being accessible. Because I'm privileged enough to choose between a phone and an iPad and a desktop. But some people have to choose a different device based upon their ability challenges. And if I don't do the work to make it accessible to them, then I think I've violated one of my responsibilities to the rest of humankind. And if you're feeling a little bit seen and a little bit uncomfortable right now, that's okay. That's on purpose. Okay? I want you to feel like, wait a minute, is he, like, attacking me a little bit? I'm not attacking you individually, but I'm attacking us collectively, saying that we are not doing enough here. Because why is this an optional thing? Why is it a line item on a budget that some stakeholder who has no idea what they're talking about gets to say, we don't really have time to make this accessible, so cut that from the budget. Let me ask you this question. When was the last time any of you went to one of your stakeholders, your bosses, your clients, whatever, and had a conversation with them where you said, we really need you to add some extra time and more money into the budget because we really need to work on getting all of our docker containers set up and we've got to get all of our linters and other build tools set up just exactly perfect the way we need them to be. Can you make sure to give us that time? The answer is none of you have ever had that conversation. Because you don't treat those things as optional, do you? They're just part of how you do your job. If you want me to do my job, well, this is how I do it. But yet we're so quick to say, oh, but accessibility is not part of my job. That's an optional thing that somebody gets to take off. And my challenge to you is stop making it optional. I don't care how uncomfortable that's going to make your stakeholders and clients and bosses. It ought to make them feel bad. And push back on them and say, this is not a line on the budget anymore. I build things accessibly, period, end of story. Because that's our responsibility to our fellow humans. We are the builders of the most inclusive medium of information and content exchange that mankind has ever built. It's our responsibility. Here's some markup. I was talking about being an imposter at this stuff. I'm not very good at accessibility. And a lot of times people don't do any accessibility because they're not a certified accessibility expert. But from the rest of my talk, you can tell that doing just a little bit more than nothing is probably enough. So I Googled for some of the attributes that I'm supposed to put on my markup. Like ARIA atomic and role and stuff like that. And then I just tried to make my best effort to put that into the markup. And by the way, it's not just when we build for the web. It's all forms of our technology. When I made these exact slides that I'm presenting to you, I spent an extra about two hours, I would estimate, going through every single one of these images and putting in some alt text. None of you are going to view the alt text. Why did I do all that work? Because maybe someday somebody is going to download a PDF export or something like that of my slides and maybe they're going to have a visual challenge and maybe that alt text might help somebody. That's my responsibility. And I feel like it's our responsibility. Let's talk about colors for a moment. I'm not an imposter at any kind of color theory and I don't even understand stuff. When I gave this talk, somebody came up to me afterwards and they were like, yeah, that whole thing about contrast ratios, they're throwing that on. It turns out it was all wrong. See, I'm an imposter. I don't even know. But I used this website built by the fantastic and intelligent Leah Verou. She does a lot of stuff in the css and design space. She built this website to help you compute the WCAG way of computing contrast ratios between two colors. And when I was designing these slides, I fiddled with some different background and foreground colors until I got a good enough contrast ratio because I wanted the slides to be accessible. So I don't know what 4.93 is, but this fantastic website tells me that it meets the AA standard. There's like three. And AAA is like really hard to attain. It's like the best of the best. AA is good enough. And it's not actually that difficult if we just spend a little bit of extra time Googling and using free tools like this. I encourage you to include this now in your regular processes. Include tools like this. And Chrome developer tools and others have things like that, too. Let's talk about Wordle for just a moment. I mentioned this. Some of you are familiar with Wordle. The story apparently from Wordle is that one guy built it for his girlfriend. It was a sweet, touching story. He built it because she was, you know, wanting to have some entertainment, and he thought he could delight her by building this thing. And when I have criticized Wordle in the past on social media because it's failing all of these basic things of accessibility, people have been quick to defend this guy Josh and say, hey, you shouldn't be picking on him. He just built it for his girlfriend. Why did he need to worry about any of these things? So maybe we want to give a pass to an individual developer who was building it for his girlfriend, and he was, I guess, I'm inferring, I don't know. I hope he's not in the audience and really offended at me right now. I don't know Josh and his girlfriend, but I'm guessing that he did not consider the fact that maybe his girlfriend might have a temporary visual challenge at some point in the future or some other kind of ability challenge because he didn't put any effort into that. And I would guess that if she had, he'd put more effort into this. But let's excuse Josh for just a moment because he's an individual developer. What excuse does the New York Times have? They've owned Wordle for three months, almost four months now. And they were very quick to put their logo in there and dozens of trackers in there, and yet every day I check Wordle and every day it's still the same basic failures on accessibility. And they have thousands of smart developers, I know many of them, and millions and millions of dollars of budget. What is their excuse? And my suggestion to you is that the responsibility that I think Josh had is actually the same responsibility that the New York Times has. It's on a spectrum, but it's the same responsibility. If you build for the web, you are automatically saying I'm going to build this inclusively. And when you don't, you have messed it up. The web is inherently accessible, and then we go and mess it up. And by the way, it's not just color ratios. You dig into their markup and they've got all these fancy web components and shadow root DOMs and stuff. And I know people love this technology, but there's not a single ARIA attribute anywhere to be found. So how is a screen reader going to make sense of these 15 nested levels of DOM elements and shadow roots and stuff like that? Can we put just a tiny bit more effort? That's all I'm asking is could we put a little bit more effort? Could we all agree that we can be imposters at this? We don't have to be experts at accessibility, but a little bit more than none is infinitely more than none. And most of us have never spent any time worrying very much about accessibility. I'm going to close with this thought experiment. How many of you do this for me? Just in your mind, if I asked you what would be the piece of software, the piece, you know, the software that you could write that would be the most nearly impossible or impossible to make accessible? What kind of software do you think is just, like, impossible to make accessible? And if you're like me, my brain goes to live action video games. Thinking about making those accessible for visual challenges and motor challenges and cognitive challenges and all those other things, that seems, like, damn near impossible to me. Now, side note, Andres told me that these platforms like Microsoft and Sony's PlayStation, they actually have a lot of really good stuff, and many of the good game makers try to take advantage of it, but he said it's better than nothing, but it's not very good. It's not as good as, like, trying to play one of those live action, you know, first person shooters or something when you are reliant upon these accessibility tools. So I have a bit of a challenge for us. I want you to consider this game idea that I have. I call it Empow RPG. I don't know how to pronounce it. But I want this game to exist. I want us to build collectively as a community a live action and RPG game where the players select differently abled characters to tackle different game objectives. When I stop just right there, that should sound exactly like every other RPG you've ever played because we know exactly how that works. But what's different with this game is that we're going to put to the forefront different abilities like human abilities, like visual differences, motor differences, things like that. So there are going to be different characters in the game that have to deal with different challenges, and here's where it gets really interesting is that when you select that character for that part of the game, you have to use that type of accessibility tool. To play the game. My thought is if we could make the ‑‑ I do not have the skills to make this. This is just a game that I want to exist. But my thought is if we could build a game like that, if we could make that come into an existence, then it would remove all the excuses for why we're not making anything else accessible. Because that's the hardest thing that I can imagine to do. But I am absolutely confident that just in this room the requisite skills exist if we would commit ourselves to build something like that and bring it into existence and finally eliminate the last of those arguments, oh, it's just too hard. You can't make a game or a 3d model render. You can't make that accessible. And that's why people have been justifying not making things accessible for the entire history of computing. So I'm wrapped up now. I want to finish by reintroducing myself. Hi, I'm Kyle. I'm a professional imposter. I don't know what I'm doing, but I'm trying to get a little bit better every time I do something and every time I share something. And my question to you is how about you? Thanks very much for thinking about these guys. So who did anything in the last week without checking stack overflow? Exactly. I see no hands. Well, hold on, let's take a picture. So I guess we're all agreeing with you, Kyle. I have a question from Anonymous, how to distinguish between being an imposter or really not having a progress in improving skills, et cetera. The way to distinguish for yourself is what is your intent? If your desire is to try to make things better and to make yourself better, then you're not a negative malintent imposter. You're a professional imposter. But if your intent is like I'm going on a job interview and they say they want angular and I've never done any angular before, but I'm going to pretend that I know angular, that's different. And I'm not in any way or shape or form endorsing trying to deceive people. Okay, thanks. Next question also from an anonymous user. The elephant in the room. How do you expect to present excellence only and how is it okay to be vulnerable in that context? I think we need to rewire those expectations by not making these things optional. I think we need to stop allowing those people who don't actually understand how this works to make all of those decisions. So we need to push back on them. When they say, well, wait a minute, this thing is not perfect yet, you need to push back and say, nothing that we've ever built is perfect. That's why we keep fixing bugs from last month and last year. Nobody is actually an expert at this stuff. And we need to tell all of those stakeholders that have the wrong conception about this, we need to rewire that entirely. And it starts with us pushing back and saying, no, that's not how this works. Yeah, it's something that I noticed also that companies used to be looking for specific, let's say a frontend, they look for a react developer or an angular developer. Now it might also be just because there's not enough developers, but they're looking for a developer. And you need to have framework experience, right? Or the full stack developer for some definition of full stack. Next question from Amin. As an imposter, how do you talk about your skill levels in a job interview? Great question. How do you talk about skill levels in a job interview? So here's my suggestion. When you look at a job description and they have like ten different bullet points, a lot of people think, and this is especially true of certain groups, women tend to feel this way more than men, which is very unfortunate. They think that's all of the minimum requirements that I have to have all these things or I shouldn't even contact them. And then there are other people who look at that and say, all those are nice to haves, right? So here's what I want to suggest. Go somewhere in the middle. Take five of the ten of those, and if you can match five of the ten of those, apply to that job. And when you're on that interview, I want you to ask questions about the other five, and I want you to say, tell me how in the first six or twelve months that I work here that I'm going to learn to get better at this bullet point. Put it back on them and say, in this work environment, how are you going to help me to learn more about these things? I think that's being transparent about what we know and what we don't know and saying we expect for the employer to help us learn and get better. That we should want to work for places like that. That would be great, yeah. Last question that we have time for, from Daryl. For those of us just starting with javascript, when we do not know more than the fundamentals, how do we actively fight our beginner imposter syndrome? Yeah, so the fighting of the imposter syndrome is very difficult, and I don't mean any of what I said today to be dismissive of that. It is very difficult. So one of the reasons why I'm taking the word imposter and trying to redefine it is because imposter syndrome is tricking our brains into something that's not true. So if we can trick our brains into thinking something different about the same word, maybe we can fight that. That's why I'm not just saying be like an apprentice or a journeyman or some other word. It's why we have to reclaim the word imposter, because we have to re-trick our brains into believing something positive instead of something negative. That is very difficult, but I would say find people around you that are committed to the same things and pair up with them and say, hey, we're both imposters together. Can we help each other get better? Find somebody else. Don't try to go at it alone. All right. Well, thanks a lot, Kyle. If you want to continue the conversation about imposter syndrome, Kyle is going to the speaker booth but also on SpatialChat. Yes, I'm going to be in the speaker booth. And by the way, if you want stickers for the I'm Imposter campaign, I've got stickers, so come visit me in the booth. All right. Well, thanks a lot, Kyle. It's been a pleasure having you. Let's get a big round of applause for Kyle, everyone. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.
46 min
16 Jun, 2022

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career