What you’re really there to learn in computer science

You know that feeling of struggling to learn something that everyone else seems to have an easy time with? The one that makes you think, “Maybe this isn’t a good fit for me.” Or worse, “Maybe I’m not smart enough.”

That one.

Embrace it. Learn how to deal with it. This is the real hard work in a degree in computer science or IT or whatever. The rest is just implementation.

You see, there will always be more to learn. There will always be challenges to pick apart and overcome. If you’re not running into them, you’re not pushing yourself enough. There will always be those moments when you think, “How on earth do I even begin to learn how to solve this?”

You aren’t learning a computer language or a platform or a system of abstract concepts. You are learning a way of thinking. You are learning how to break down a big challenge into smaller pieces. You are learning how to try different approaches to understand and solve each small part. You are learning to set aside your worries and fears so that you can focus. You are learning how to adapt, even as changes come quicker and quicker. You are learning how to organize your thoughts. It just so happens that you’re organizing them in a way a computer can understand.

What can help you build your confidence? Start by building a small base of things you know well. Celebrate that. Expand through practice and curiosity. Ask for the help you need. If you don’t get it, fight on anyway. All learning feels weird in the beginning. It only becomes natural through repetition.

If you’re taking a course, learn what you have to learn, but leave yourself room to learn what you want to learn at your own pace. You don’t have to learn everything the first time around. If you know it takes you several tries to understand something, start before you take something up in class. That way, you’ll have better questions. Continue afterwards, too. Computer science lessons build on each other, like the way mathematics lessons do. They assume you understand the previous material. Practice and questions pay off.

There will always be people who have learned what you want to learn, or who will pick up things faster than you can. Most of these people are awesome. They know that your questions can help them learn even more, and they’re happy to pay it forward because people helped them too. Pay them back by writing about what you’ve learned and sharing that with them and others. Other people who are also learning will find your questions and answers useful, too. This is true whether you’re learning in class or on the Internet, so go ahead and share your journey.

There will always be some people who haven’t quite figured out their own insecurities – people who want to establish their position by putting you down. You can learn how to recognize what they’re doing. That makes it easier to ignore them. Don’t mind them if they try to make you feel bad for asking stupid questions. It just means they’re missing out on opportunities to learn how to ask and learn how to learn. Don’t partner with them. Look for people who help others up, not tear them down.

It is not easy to wrap your mind around new topics or break down a complex unknown. If you can get good enough at it, you may come to enjoy that excitement when a problem looks like it’s solvable. You’ll learn how to tell if you’re going in roughly the right direction. You’ll be able to celebrate even the tiniest progress. If you can do that, you’ll do fine.

Besides, the real world is little like the classroom. Even if you never get the hang of the artificial projects you do for education, you may find that you like working with technology. Don’t count yourself out just yet!

Sometimes I hear from students who find computer science intimidating. I hope this makes the big picture a little easier to see.
  • Marcin Borkowski

    Great, great post! Even though I’m not a computer scientist, I’m going to show it to my students (also not studying computer science).

  • Mylene Sereno

    OMG! I can totally relate Sacha! When I read your post, it was like already reading what I was planning to write. Haha. Brilliant post.

    The one that makes you think, “Maybe this isn’t a good fit for me.” Or worse, “Maybe I’m not smart enough.”

    I had those thoughts yesterday!!! As you know, I am working here onshore and those crappy thoughts are creeping in my mind whenever I encounter a roadblock or when it’s getting some time for me to process a requirement, build code, or implement some changes. I had some insecurities… doubting if I really deserved to be here. Those crazy moments.. especially when the younger guys are doing better and I feel that the boss is losing confidence in me. But that was just me. And that was my feelings. Lol. Last night I realized that I am the one making it hard for myself.

    I realized that I have to be patient. Patient with myself because I am new and I have a lot of things to learn. Which is actually good!! “leave yourself room to learn what you want to learn at your own pace. You don’t have to learn everything the first time around”

    I figured out that the root cause of my feelings is that I am afraid to FAIL. To fail in what I do and to fail people. I didn’t want to let people down. But I realized that I should not be afraid. I just have to keep on learning and enjoy what I am doing. =)

    I’ve also learned to filter out comments/noise that don’t help me. Yeah, and the art of ignoring bad vibes. Hehe.. “Look for people who help others up, not tear them down.”

    And “There will always be people who have learned what you want to learn, or who will pick up things faster than you can”. I’ve learned to accept that it doesn’t matter if I am older or more senior than anyone. I don’t have to feel bad if I’m the last one who “gets it”. It’s normal.

    Whew. Thanks Sacha. :)

    • http://sachachua.com sachac

      I’m glad this resonated with you! =) Learning can be scary and ego-deflating, but as you get better at working despite the fear, you’ll build up a little confidence, and it’ll get better and better. You might always feel that impostor syndrome (goodness knows I still get it from time to time), but at least you can remind yourself that you’ve figured some things out before, so you can do it again. Good luck! =D

  • Judy T.

    This was awesome to read. Instructors of just about *any* topic should consider including this in their syllabus. I’d like an infographic designed for the principles you wrote about to put on a wall. ;-)

    • http://sachachua.com sachac

      I hope instructors of other topics put together similar perspectives on what it is they’re really teaching. =) Thanks for the encouraging words! Yes, it would be good to draw it someday – a reminder that people can look at or carry with them so that they don’t get discouraged by the details…

  • Pat Thomasson

    This makes perfect sense to me. My friends and family tell me I am smart, but my test scores say otherwise. What I am is curious and I just like to learn which means I have no fear of difficult subjects and a lot of tenacity because to me it is fun to stick with a tough subject. I have a friend who described his love for reading William Faulkner in a similar manner. He admitted to me once that he got mad at Faulkner the first time he read Absalom, Absalom because he was a college graduate and could barely understand it and it was written in English, his native language. Note: He read it again with joy. Few would have. But more than learning I love getting something done. The feeling of accomplishment is the real dopamine rush for me. So I keep tinkering, finding new things that need doing that I don’t know how to do already. Perpetual learn, do, accomplish.

    Unfortunately, very few of my teachers in life understood this about me and at times it soured me on formal education, but did not stop me from getting my engineering degree. My high school math teachers were all stunned that I went in to engineering (“all that math”), but my history and english teachers were not. Funny.

    • http://sachachua.com sachac

      Formal education is a funny thing. =) Fortunately, passing exams has very little to do with learning in real life, and I’m glad that learning is something you enjoy. As you tinker on things, please share! =)

  • JyBy

    Great post, which conclusions apply to many other fields beyond computer science, too. What triggered such an epiphany ?

    A minor correction : I think “It’s good practice in ignoring them, too. ” should rather be “It’s good practice to ignore them too”.

    • http://sachachua.com sachac

      Thanks! Added an author’s note. =) I received an e-mail from a computer science student who felt intimidated, and I wanted to give her a sense of the bigger picture.

      Tweaked that part to make it smoother. I meant that it’s a good opportunity to learn how to recognize those behaviours and ignore them, so I specifically chose that wording. =) Does “You can learn how to recognize what they’re doing. That makes it easier to ignore them.” make that clearer?