Confessions from an Impostor

Rate this content
Bookmark

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.

46 min
16 Jun, 2022

AI Generated Video Summary

The Talk discusses imposter syndrome and reframes it as being a professional imposter. It emphasizes the importance of sharing and starting, embracing imposterism, and building inclusively for the web. The speaker shares personal experiences of being an imposter in various technical disciplines and highlights the significance of accessibility. The Talk concludes with the idea of building a collective RPG game to remove excuses for not making things accessible.

1. Introduction to Imposter Syndrome

Short description:

Let's get started. Thank you for having me. I'm thrilled to be back in front of people after two and a half years of looking at a Zoom camera. Today, I'm going to talk about imposter syndrome and reframe it as a concept of being a professional imposter. Imposter syndrome is a psychological occurrence that presents us with doubts about our skills. It tricks us into believing that everyone else is an expert except for us. I want to clarify that I'm not a doctor or psychologist, and I can't fully understand the lived experience of those who experience imposter syndrome more severely. But I have personally experienced it and believe there is a positive way to embrace the identity of imposterism.

Let's get started. Let's get started. Let's get started. 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. I'm 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 you feel that way, but I'm thrilled to be here. Thank you for coming out.

A quick PSA. I no longer use the Getify name on Twitter. I'm not on Twitter any more. People are constantly tweeting and trying to follow that account. It's just a dead account. I'm known as Getify everywhere else, but not on Twitter. All right. 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. So, automatically we assume that this is a negative thing if you are an imposter, you are trying to deceive people. There's a mal-intent 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.

2. Reframing Imposter Syndrome

Short description:

I found tons of fantastic information about imposter syndrome and almost doubted if I should even do this talk. But let me point out one particular resource by Louise Curtis, who identifies the idea of concert impostor syndrome. She relates it to the experiences we have in work and turns it into a positive. Another interesting word that caught my attention is 'empiric', which refers to someone who relies solely on practical experience. It unblocks us from feeling like we have to be experts before sharing our work. So, if you're waiting to be an expert before showing your work, you've waited too long. The journey is what's most important.

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 the research so much that I literally started to doubt maybe I shouldn't just even do the talk. Because you might be wondering, well, you know, or 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 is a blog post by Louise Curtis, and she identifies this idea called concert impostor 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 impostor 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 impostor, and we're going to pull out our thesaurus and look at a few words that are synonyms of impostor. 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 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. 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 said, 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 asked 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's because it is the journey that is most important. Think about it. If I had stood up here just a moment ago and I 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.

3. The Importance of Sharing and Starting

Short description:

When communicating, we relate to each other by sharing our journey. I encourage you to share early and often. Using an illustration of a shirt, I demonstrate that there is no right or wrong way to accomplish a task. We should aim to get tasks done and start without waiting for full understanding. Doing leads to learning, and learning leads to more doing. Being a professional impostor means being passionate, patient, curious, and always willing to ask how and why.

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. I Googled some of this, I have no idea what any of these things mean. 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 impostor, I want to redefine professional impostor in this positive way that is about us trying to move forwards 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 impostor, 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.

4. Embracing Impostorism

Short description:

I've launched an effort called Impostor Proud. You can be an imposter too. Check out the Professional Impostor Manifesto on my website. Over 200 people have already signed it. I'll also share the slides from my talk.

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 Impostor Proud. I'm an imposter. And you, too, can be an impostor. And if you're interested in reading more about that, this website has the Professional Impostor 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. And also, I'll have the slides from my talk today.

5. Confessions of an Impostor

Short description:

I am an impostor in nearly every part of the technical disciplines of our industry. Let's start with web design. These are the first two websites that I ever built. Oh God, they're awful. I still have a long way to go. On the left there you see Flash Math Cards. On the right is a game that I recently built called Dwordly. I wish that I had better design skills. Let's talk about HTML. I recently needed to survey the backers of my Kickstarter from back last fall. 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. I didn't let that block me from moving forward. I talked about the flash math cards. Here's some of the markup for that little equation part. There's no custom element or component here or anything fancy going on. On the game that I refer to, I have a light mode and dark mode selector. I wanted to figure out how to build this in an accessible way.

Alright. 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 impostor in nearly every part of the technical disciplines of our industry and I'm gonna show you exactly why I believe that to be true.

Let's start with web design. I'm gonna, 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 gonna 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 flashmath.cards. 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, Dwordly 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 recently needed to survey the backers of my Kickstarter from back last fall. survey and get some of their information, and I tried to use some of the survey services that these, like Kickstarter 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 seven plus one 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 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 refer to, 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.

6. Inventing a Solution with HTML

Short description:

I googled and couldn't find a suitable solution, so I invented my own. I used radio buttons instead of checkboxes to represent two valid options. Although I'm not an expert in HTML, I can still express my ideas using it. Don't worry if you're not up to date with the latest web components standards; plain old HTML is perfectly fine.

So I googled and googled and googled trying to find a nice little... 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 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.

7. CSS, Responsive Design, and JavaScript

Short description:

I'm an imposter at CSS, but I can communicate my ideas. Storing colors with CSS variables. I'm an imposter at responsive design, but I hacked together an idea that scales the interface to the viewport size. Now, let's talk about JavaScript. I'll share the true story of how I decided to write books without knowing JavaScript.

Let's talk about the CSS. I'm most definitely an imposter at CSS and I'm embarrassed that this thousand of you are going to go and do a view source on my websites and look at how terrible my CSS is. 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 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. 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 is 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 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 in the decimal, the three decimals of RGB values, and then you'll notice on the first line there it 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. 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 impostor at responsive design. In fact, not even an impostor, 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 times three 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 recomputing 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 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, 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 ten years.

8. JavaScript, Imposter Syndrome, and Accessibility

Short description:

I realized I did not actually know the language. I decided to go and write a set of books, not from my preexisting 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. 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. The final area that I want to talk to you about being an imposter in, by a show of hands, how many of you believe you know what this logo stands for? 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 Andreas 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. This was on a Zoom call and right off the bat, the very first thing that Andreas said to me was, do you know, Kyle, that both of us have a disability? And I was like, what is he talking about? And he pulled off his glasses and he said both of us have a visual challenge that 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 were 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 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 like good suggestions but in some cases these are like legal requirements depending on your jurisdiction.

I realized 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 like made fun of me for like 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 had been paid to be an expert in it for ten 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 preexisting 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 impostor. 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. You'll notice that I'm using, like, 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, like, 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 suite alert and I dropped in the replacements for suite alert and I literally left the alerts like commented in the code but I dropped in the replacement with suite alert 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 twelve 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 Andreas 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. This was on a Zoom call and right off the bat, the very first thing that Andreas said to me was, do you know, Kyle, that both of us have a disability? And I was like, what is he talking about? And he pulled off his glasses and he said both of us have a visual challenge that 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 were 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 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 like good suggestions but in some cases these are like legal requirements depending on your jurisdiction.

9. Importance of Accessibility

Short description:

When building software and technology, it is crucial to consider the different ability challenges people may have. Perceivability extends beyond sight and includes touch, hearing, smell, and taste. Temporary challenges can affect anyone, and it's essential to make things accessible for all customers. Operability should account for motor challenges, and designs should be understandable, considering cognitive challenges. Responsive design is not just a preference but a fundamental aspect of accessibility. Treating accessibility as optional undermines our responsibility as builders of an inclusive medium. Push back and make accessibility a non-negotiable part of your work.

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 someday 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. 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. 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 tenet 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 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 bill 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. Push back on them and say, this is not a line-up 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. So 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.

10. Building Inclusively for the Web

Short description:

Doing just a little bit more than nothing is enough. Googled for attributes like ARIA atomic, role, and ARIA label. Added alt text to slides for potential visual challenges. Used a website by Lea Verou to compute contrast ratios. Encourage including tools like this in regular processes. Criticized Wordle for accessibility failures. Individual developers and companies have a responsibility to build inclusively for the web.

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. ARIA label. I Googled some of those. 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 of that work? 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 color theory, and I don't understand stuff. Last time I gave this talk, somebody came up to me afterwards and said, the whole thing about contrast ratios, they're throwing that on. It turns out it was all wrong. I'm an imposter. I don't even know. I used this website built by the fantastic and intelligent Lea Verou. She does a lot of stuff in the CSS and design space. She built the website to help you compute the WCAG way of computing contrast ratios between two colors. When I was designing the slides, I fiddled with 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 website tells me it meets the double A standard. And triple A is hard to attain. Double A 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 mention this. Some of you are familiar with Wordle. The story apparently from Wordle is that was 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, 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. 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.

11. Challenges of Accessibility

Short description:

How is a screen reader gonna make sense of these 15 nested levels of DOM elements and stuff like that? Could we put just a tiny bit more effort? We don't have to be experts at accessibility, but a little bit more than none is infinitely more than none.

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 gonna make sense of these 15 nested levels of DOM elements and stuff like that? Could 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 impostors 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.

12. Building an Accessible RPG Game

Short description:

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 you select that character for that part of the game, you have to use that type of accessibility tool to play the game. If we could build a game like that, it would remove all the excuses for why we're not making anything else accessible. The requisite skills exist if we would commit ourselves to build something like that and bring it into existence.

I'm gonna 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 of those other things, that seems like damn near impossible to me. Now, side note, Andreas 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. Trying to play one of those live-action 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 impal 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, and 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 know, like you 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.

QnA

Closing Remarks and Q&A

Short description:

Hi! I'm Kyle, a professional imposter. I'm trying to get better every time I do something and share something. Companies expect excellence, but we need to rewire those expectations and push back. In job interviews, match some requirements and ask how they will help you improve. Fighting imposter syndrome is difficult, but redefining the word imposter can help.

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. My question to you is how about you? Thanks very much for thinking about these things. Thanks, Kyle. Thank you. Good night, everyone.

So who did anything in the last week without checking stack overflow? Exactly. No hands. Well, hold on. Let's take a picture. So I guess we're all in agreeing with you, Kyle.

I have a question from Anonymous. How to distinguish between being an impostor or really not having a progress in improving skills, etc. 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 impostor, you're a professional impostor. 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.

OK, thanks. Next question also from an anonymous user. The elephant in the room. Companies expect you to present excellence only. And how is it OK 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 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 on the frontend they look for a React developer or an Angular developer. Now they just, 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 have, 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. But 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.

Overcoming Imposter Syndrome

Short description:

To overcome imposter syndrome, reclaim the word imposter and believe in something positive. Connect with like-minded people and support each other's growth. Join Kyle at the speaker booth or spatial chat to continue the conversation and get stickers for the imposter campaign.

That's why I'm not just saying be like an apprentice or a journeymen 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 this speaker booth, but also on spatial chat. Yes, I'm going to be in the speaker booth. And by the way, if you want stickers for the 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. Thanks.

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

React Summit 2023React Summit 2023
32 min
Speeding Up Your React App With Less JavaScript
Too much JavaScript is getting you down? New frameworks promising no JavaScript look interesting, but you have an existing React application to maintain. What if Qwik React is your answer for faster applications startup and better user experience? Qwik React allows you to easily turn your React application into a collection of islands, which can be SSRed and delayed hydrated, and in some instances, hydration skipped altogether. And all of this in an incremental way without a rewrite.
GraphQL Galaxy 2021GraphQL Galaxy 2021
32 min
From GraphQL Zero to GraphQL Hero with RedwoodJS
We all love GraphQL, but it can be daunting to get a server up and running and keep your code organized, maintainable, and testable over the long term. No more! Come watch as I go from an empty directory to a fully fledged GraphQL API in minutes flat. Plus, see how easy it is to use and create directives to clean up your code even more. You're gonna love GraphQL even more once you make things Redwood Easy!
JSNation 2023JSNation 2023
28 min
SolidJS: Why All the Suspense?
Solid caught the eye of the frontend community by re-popularizing reactive programming with its compelling use of Signals to render without re-renders. We've seen them adopted in the past year in everything from Preact to Angular. Signals offer a powerful set of primitives that ensure that your UI is in sync with your state independent of components. A universal language for the frontend user interface.
But what about Async? How do we manage to orchestrate data loading and mutation, server rendering, and streaming? Ryan Carniato, creator of SolidJS, takes a look at a different primitive. One that is often misunderstood but is as powerful in its use. Join him as he shows what all the Suspense is about.
React Day Berlin 2022React Day Berlin 2022
22 min
Jotai Atoms Are Just Functions
Jotai is a state management library. We have been developing it primarily for React, but it's conceptually not tied to React. It this talk, we will see how Jotai atoms work and learn about the mental model we should have. Atoms are framework-agnostic abstraction to represent states, and they are basically just functions. Understanding the atom abstraction will help designing and implementing states in your applications with Jotai