Impressions

I’m going to describe something that I have felt over and over since I started college. I think we’ve all experienced it at one point or another: that feeling of inadequacy and intimidation upon seeing a peer’s work and feeling stunned because it seems so far beyond our capacities. It’s especially present in computer science because everyone is at a different level of experience and because we, as a group, keep obsessing over the “child prodigy” archetype. I look at a friend’s project and feel overwhelmed because it looks so beautiful and advanced and I have no idea how I would have done it. I look at another friend’s resume and see that it lists twenty different programming languages — meanwhile I only feel vaguely comfortable with three (Java, C++, C, amirite). Everyone around me knows so much about topics that I don’t know about and I feel like I won’t ever catch up.

Only recently have I started to realize how wrong I am about all of this. It’s not that my classmates aren’t impressive people — they really are — it’s that I grossly miscalculate how difficult it will be to do something. I’ve seen so many people with personal websites and pretty blogs (hi Sophi, Sarah :)) that look difficult to set up and too confusing for me to figure out on my own. But when I finally sat down and said to myself, “I want to install WordPress on my website!”, it only took me about thirty minutes of fiddling around to actually get it working. The installation wasn’t difficult — it just looked so hard from the outside, from the perspective of someone who has never done web stuff on her own. And when I finally got around to doing it, I just felt so relieved for having tried. It’s easy to feel inadequate when you see what other people have done because you just assume you’d never be able to understand how to do the same. But sometimes just taking that little step forward and trying it out will prove to you that you really don’t need to be a genius to do these things too.

Strangely enough, this process has made me realize that I’m often unknowingly contributing to the problem myself. In the previous paragraph, I could have been really obnoxious and written, “It only took me about thirty minutes to figure out how to download an FTP client, SSH into my web hosting service (to edit something I’d already uploaded), set up the MySQL database, configure the installation files, and run the install script.” For some of you who have already done these things, it sounds pretty simple. I bet you’re wondering why it took me half an hour to figure out this stuff when even WordPress says it should only take five minutes to set everything up. For everyone else (myself previously included!), this is all a bunch of nonsense. What do those acronyms mean? What do they want you to do? How could all those things only take someone five minutes, let alone thirty?

I don’t think having these questions is a shameful thing to admit. I had no idea what I was doing, I had only ever vaguely heard of these terms, and it took me a huge amount of Googling to figure out what I needed to do. But when I finally did learn and wanted to describe what I did, I had already forgotten how confusing these things sound to someone who has never tried it. I had already switched to the mindset of “This is so simple!”, rather than “I had trouble with this, too.” In this way, I contribute to the general attitude of “everyone is doing things that I don’t know how to do.” that we’re all weighed down by.

In addition to careless behavior on my part, I’ve also had the incredibly strange realization that despite the fact that I generally have no idea what I’m doing, people around me think that I’m experienced and knowledgeable. I think they’re sorely mistaken about my abilities, but people, for some crazy reason, think I know how to do things! And I’m willing to bet that at least a couple of the people I admire greatly have had this realization and confusion themselves. You feel as though everyone around you knows more than you do, but they think that way about you as well.

Naturally, I’ve been thinking about how I can stop feeding this problem on both sides — as someone who feels so intimidated by everyone around her and as someone who is given unwarranted respect.

On the first end, I will stop assuming that foreign concepts are out of my reach. I have a lot of ideas for neat little projects, but many of them involve tools that I’ve never used before, such as SQLite. Rather than giving up on those projects immediately, I will dedicate at least a few days (or even weeks!) to learning about the topic — and hopefully I’ll realize that these things aren’t as insurmountable as I always think they are. And for people who are in the same situation as me, here’s a list of things I try when I’m stuck:

  • Reddit’s /r/learnprogramming. I can almost guarantee you that if you’re trying to learn about something, someone on Reddit has had the same question. Just do a quick search and you’ll be amazed by what you find!
  • Stack Overflow. Stack Overflow sometimes scares me because responses can be too advanced. Still, most questions can be answered just by Googling “[my question] stack overflow”. I’ve been on the front page of Stack Overflow about twice in my life, really, but I’ve still spent huge amounts of time on it just because everything I search ends up leading to it.
  • Check the documentation. I’d consider this more of a last resort because the documentation is usually hard to understand for beginners and it makes me feel overwhelmed with information. Still, sometimes you’ll be pleasantly surprised by how accessible some tools are!
  • Just ask. This one is probably the most important. Because I always feel so unconfident in myself, I tend to feel foolish when I ask my friends questions about their projects and how they do certain things. The other night, I was looking at my friend Stephen‘s project, which is part of what prompted this post. I asked him about how he was storing his data and how he had created the website, and I ended up learning a lot about SQLite from him. Your friends (if they are decent human beings) will not be annoyed if you ask questions. It’s often the case that they’ll be excited to teach you about it! This is a huge part of demystifying the “everyone is amazing except me” problem — rather than just being impressed and discouraged, learn from your peers. The word “peers”, after all, does imply that you are not beneath your classmates — you are just as capable.

And on the side of being someone who only found out recently that she intimidates people, I will not trivialize the things that I’ve learned and I will not (knowingly) make them seem more difficult than they are. It’s easy to think that being modest and saying things like “This was really simple, anyone could figure it out” are appropriate, but they actually — for me, at least — contribute to an overall sense of incompetence. When I hear “anyone could figure it out,” I end up thinking, “Then I guess I’m not just anyone, because I don’t get it.” When I learn new things, I’ll try to document what I learned to delineate exactly why I reached the conclusion that it was simple. Installing WordPress, for example, is only simple after you do it. (In fact, when I set up my second WordPress blog, it really did only take me five minutes because I had already done it before!) I hope that if I explain how I learned certain things more clearly, other people will be encouraged to learn as well. And rather than letting people think that one of my projects is a lot more impressive and intimidating than it seems, I will be more forthright about which parts were, in reality, really simple once I got down to it.

More importantly, I will not ridicule anyone’s lack of experience with statements such as “But that’s so easy!” or “How could you not know that?”. To be clear, I don’t think I’ve ever done that (it’s a pretty huge part of tutoring), but it’s incredibly easy to unknowingly make someone feel inadequate with thoughtless statements like this. It would be really easy for my more experienced friends to make me feel silly every time I tried to learn something new and easy-in-retrospect, like setting up WordPress, but they don’t. Hopefully, I can teach other people about the things I’ve learned about and help them realize that they can do those things too.

Finally, this leads me to a project that I am starting on now. I’m a section leader for my school’s introductory computer science courses and I’ve realized that we really need some sort of system for studying only the topics we’re foggy on. It can be a waste of time to do an entire practice exam when you’re rock solid on most of the concepts and only one of the problems actually benefited you. I know that I, personally, fall into the trap of doing only problems that I already understand because it’s a confidence booster. I’m hoping to create a small page where people can say, “I have no idea what HashMaps are. Can I do some problems related to that?” without having to wade through four other unrelated test problems that just waste their study time. This also ties together a lot of things that I’ve always wanted to learn about (Python, databases, creating websites) into something that will hopefully motivate me to keep learning.

So far, I’ve finally gotten around to learning about what Bootstrap is. I had avoided it before because “I don’t know about all that web stuff,” but it turned out to be another thing that literally took minutes to set up once I actually sat down and tried it. And now that I’ve set up a really basic page with it, I know that I really was just overestimating how complicated it was. The next step will be to learn how to store practice problems in some way so that people can query for whatever tags they want. In order to show that these things won’t be as difficult as they sound, I’ll take my friend Sophi’s lead and document the learning process in later posts.

I’m still struggling to convince myself that I’m competent. Most of the time, I end up thinking that everyone around me knows how to do incredible things because they’re just smarter than I am. I don’t think I’m alone in feeling this way (and if you’ve never felt this, geez, I want your confidence!). But it doesn’t have to be like this. We don’t have to keep perpetuating this attitude. We don’t have to separate topics into “Things I know, which must be simple because I understand them, of all people” and “Things I don’t know, which are too complicated to learn”. Instead, let’s throw the latter into the broad category of “Things that I could learn about, if I’d just give it a shot.”

10 thoughts on “Impressions

  1. pengie

    It’s so easy to look at other people and be in awe of what they are capable of. It’s even easier to dismiss something because it seems “too hard,” and because those people — the genuises — picked it up quickly, meaning you don’t even have a chance. But I try to remember that we all have our strengths, and I’m glad to see that you are realizing this, too.

    It’s so strange to me to read this blog entry and fully realize that the budding little blogger I once knew has grown up into a mature, intelligent, introspective young woman who isn’t afraid to try new things, acknowledge her weaknesses, and work on growing those into strengths. I’m so proud of you, Amy. Reading this actually brought a tear to my eye.

    Keep at it!

    Reply
  2. Sophi Newman

    Amy!! This is an awesome post. It’s seriously *so* intimidating to be new (or new-ish) to something and be surrounded by smart people who have been doing it for years and don’t try to tailor/calm down their jargon at all. SQLite is a great tool, and a pretty easy one to use since it’s serverless. That said, SQL querying is often tricky, and learning a new *anything* requires time and effort. It’s that piece – the time and effort piece – that I feel like people so often overlook, and that really contributes to the sense of inadequacy one can feel because something isn’t coming immediately or naturally. As far as I know, I don’t have a knack or innate ability for programming. It’s something I’ve chosen to develop actually *because* it’s challenging. Learning to program has absolutely been about proving to myself that I’m capable of becoming adept at things that scare me and are new. Your project for 198 sounds fabulous! It would also be really helpful for SLs since we obviously forget stuff or need refreshers too :)

    xx

    Reply
  3. Sophi Newman

    Oh PS, I wasn’t sure how to route the wordpress blog to a different URL like you did. I wanna do that! I just sort of jimmyriggged a solution, and I could use your help :)

    Reply
    1. amyn Post author

      I alluded to this in the post, but that’s why I had to set up WordPress twice! I did it on http://www.amynguyen.net because I was confused, and then I had to figure out how to do it on amy.dev. It turns out that my hosting service (https://www.nearlyfreespeech.net/) treats these two pages as entirely different websites despite the common domain name. I had to make the domain as a separate website, and then it gave me a different login thing for FTP-ing. I’ll show you when spring break ends! And you can teach me about SQLite magic!

      Reply
  4. Grant

    Hey Amy, I really appreciate your post. It’s something I had (and still have) difficulty talking about because I don’t want to admit how incompetent I feel. But the thing you’re describing is actually so common it has a name: impostor effect http://en.wikipedia.org/wiki/Impostor_syndrome. Like you guessed, a lot of my friends have the exact same problem.

    For me, just knowing that impostor effect is a (very) common problem, especially at a place like Stanford, is not enough. I still felt like I knew nothing. So what I eventually decided was that it doesn’t matter what experience other people have, or how much everyone is smarter than me. What actually matters is what I actually do. (Not in a competitive sense – when I finish something, I sit back and think about if I should be happy that it was something I made.)

    All these things we think are important, like knowledge of esoteric programming languages, or Twitter Bootstrap :-), are just stepping stones that will get us to our actual goal, which is to make great things. But knowing a lot doesn’t necessarily mean that the things you will make will be great. And we don’t really need those stepping stones. This blog is great, and you didn’t even have to know 5 esoteric programming languages in order to make it.

    I’m not sure if this will help, but your post described the exact same problems that I’ve been dealing with for a while, and this was the way I eventually dug myself out of the hole.

    Reply
    1. amyn Post author

      Hi Grant! You’ll probably facepalm at this, but I’m surprised you feel that you’re incompetent! Though I don’t know you very well, I probably would have characterized you as someone who knows what he’s doing. :) And the weird thing about impostor syndrome is that even though I’m aware of it, I still convince myself that it’s not referring to me, it’s referring to other people. I just end up concluding that what they’re describing can’t apply to me because I actually don’t know what I’m doing, whereas other people just don’t realize that they know so many things. I know how illogical this sounds and yet I can’t break it!

      You’re right about the learning thing. I think I’ve been in a weird mindset recently because I realized yesterday that I’ve only been studying computer science for four quarters (started in CS106A in winter 2012). There are just too many things that I don’t even have a handle on because I’m just taking intro courses right now, which is why I feel like I’m always in a rush to learn a new thing. The funny thing about Twitter Bootstrap is that I decided to learn about it because I actually have very little interest in making pretty layouts! I don’t have much of an eye for design, so I thought I would like having something that handled the aesthetics for me — otherwise, all of Practice Pal (the project) would be in Times New Roman font… It really did take a load off my mind so I can focus on doing the backend now! I hope I’ll have something nice to show for it soon.

      Really, thanks for reading and replying! I think one of the best results of me writing this has been seeing everyone say, “Me too!” (including a huge amount of section leaders). It’s nice to know we’re not alone!

      Reply
  5. Emily C

    Thanks so much for sharing all your thoughts, Amy — I greatly enjoyed reading this. I definitely feel the same way. The funny thing is, the people I admire claim that they feel the same inadequacy compared to someone else that they admire, and the chain continues on and on and on.

    This also reminds me of my epic struggles to get the scpd scraper script to work with all of its dependencies. There was a suggestion to use apt-get to install mimms, which I didn’t have, but then apparently there isn’t apt-get on Mac, so I tried installing it with something else, which required installing something else, which didn’t work, etc. etc. So much jargon, and I was boggled that something so seemingly simple could be so confusing for me.

    Ultimately I think it’s the excitement of realizing your creative ideas and to just *create* things that results in a willingness to put a lot (lot lot) of effort into learning the tools needed to successfully build the said thing that you’re so enthused about — that is a common theme for a lot of great programmers. After reading your post I was motivated to update my own website after months of setting it aside. Dedication and drive — you seem to have those qualities :-)

    Reply
  6. Pingback: I moved to amy.dev | amy nguyen

Leave a Reply

Your email address will not be published. Required fields are marked *