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.”