What you're really there to learn in computer science
Posted: - Modified: | geek, teachingYou 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!
9 comments
Marcin Borkowski
2014-02-28T16:44:57ZGreat, great post! Even though I'm not a computer scientist, I'm going to show it to my students (also not studying computer science).
sachac
2014-02-28T20:08:31ZI'm glad you like it, Marcin! It's funny how the real lessons get obscured by course titles and curricula. I'd love to read your perspective on what you're really teaching your students. Would you like to blog it, or maybe e-mail me at sacha@sachachua.com?
Mylene Sereno
2014-03-01T01:36:39ZOMG! 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. :)
sachac
2014-03-01T20:12:55ZI'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.
2014-03-01T01:46:28ZThis 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. ;-)
sachac
2014-03-01T20:10:47ZI 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...
JyBy
2014-03-03T06:13:41ZGreat 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".
sachac
2014-03-03T22:32:44ZThanks! 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?