Looking Back At What I Learned At College

Posted May 9, 2011 under General

I meant to write this a while ago but got side tracked and ended up writing a completely different post. My graduation was Saturday and marked a significant accomplishment in my life. I’d like to go back over some of the things I’ve learned and experienced. Apologies for such a long post, but hey, this was 4 years of my life we’re talking about here.

Freedom And Living On Your Own

My freshman year was not the greatest. I lived in the dorms. We played Call of Duty 4 at least 8 hours a day. Hide and seek across the ENTIRE campus started at 11pm. I don’t remember studying. I don’t remember being awake during class. I don’t remember learning a thing. The freedom of living on your own and spending every moment of the day with your friends was something else. You’ll have some great memories to look back on.

However, I quickly realized this wasn’t for me. I wanted to work. Keryx was just starting out and, while it was a lot of fun to make people feel like idiots while we played COD4, it wasn’t satisfying. Happiness for me is bringing a smile to someone’s face. Living in the moment like this wasn’t the right thing for me. My grades slipped and I failed Calculus 2 on my first try. To be fair it was over a year since I took Calc 1 in highschool (which wasn’t college level at all), but I’ve spent the rest of college trying to recover my GPA from my poor performance.

General Education

These courses are crap. Sometimes I wish I went to a technical school. A lot of these courses were a waste of time. Intro Chemistry, Intro Physics, English 101, the list goes on. I learned nothing, I met a bunch of people but nobody’s heart is in it.

If you’re like me, you love to work on your own things. It’s very disheartening to spend time with a bunch of people who don’t care. I always felt out of place and never really enjoyed it. Looking back, of course, you only remember the high points.

Not all Gen Eds were bad. You get to meet people and if you’re lucky, you find a new interest of yours. For me, this happened in English 102. The course was about writing research papers and the teacher loved movies. We just watched movies, discussed topics, and wrote research papers about the films. It was wonderful. I rediscovered my love for writing and had a unique viewpoint in the class. Almost everyone in the class would agree on a viewpoint but I would come from another direction (often because that’s how I felt, but sometimes simply because there was no diversity). It was great. Use college to explore your talents.

Find Teachers You Like And Stick With Them

Sometimes you can’t avoid them, but some teachers are just bad. Your first impression is going to pretty much be how it ends up being the entire semester. Do they seem disorganized? They probably are. Have a hard time following them? You’re going to go through the entire semester like this.

One of my CS professors was fairly hard to understand with her accent. I gave her the benefit of the doubt, but soon realized that what I found hard to understand was how she explained things and not her language. Coming from an entirely different culture, she was strong in math unlike US students. What came naturally to her she was unable to explain to us in a manner we could understand. This was a huge mistake. You can usually tell after a week of class whether your teacher will be like this or not. Unless it’s required, don’t waste your time in these courses. You’ll hate every moment, you won’t try your hardest, and you would have been much better off with a professor you did like.

When you find a professor you do like, stick with them. The current chair of the department is one of my favorites. My first course with him I loved, it was on Assembly programming with the MIPS architecture. One of the hardest classes I have had and I loved every moment. I slaved away for hours trying to write the programs. Everyone complained but me and a couple other students. We were the ones who cared. I learned an incredible amount in that class and wish I knew programming at the assembly level much more than I do.

After that class I swore to take as many courses with him as I could. Keeping in close contact with him throughout the years, I landed a part time job with him, got to do some awesome research on my own with him overseeing me, and he helped me get a part time job with another professor looking for a Rails developer. Work closely with faculty you like and you will be presented with some incredible opportunities you wouldn’t have received otherwise.

Pay Attention In Class

Things might seem boring. Algorithms and Data Structures? I know how to use integers and arrays. This stuff is boring. That’s how I felt during the class. I had it with a professor I didn’t like and didn’t try very hard. It turns out this kind of thing is incredibly important later on. If you’re interviewing at most companies (startups are usually excluded from this) you’ll be asked these theoretical questions. What is the Big O of MergeSort? You should know these things no matter what.

It’s things like these that are very hard to learn on your own. You don’t even know they exist, so how can you know to go look them up? At best, you’ve got Hacker News to pay attention to and google every little thing you don’t understand. Then you’ve got to find websites that can explain it to you in a manner you can comprehend. That’s hard. That’s why you need to go to college.

That’s not to say you can’t learn these things on your own, but they will affect your design and implementation of projects. This can be good and bad. You are aware of how things may potentially bottleneck. At the same time, you lose your naivety and put things off because you’re too worried about building something inefficient. If you don’t know about these kinds of things, you jump in immediately and start building.

The complicated topics are where you will learn best in college. They’ll challenge you unlike your gen eds. Algorithms and data structures, networking, operating system implementations (memory, disk, threading, etc), low level programming, the list goes on. These are all very interesting topics and quite hard to learn unless you have a mentor. The toughest topics are the ones I remember the most fondly.

Know What You Want From School

I wanted to grow my network of contacts and get real world experience. Because my focus wasn’t on grades, I struggled to get a 3.0 GPA. The companies I want to work for don’t care about grades as much as they care about getting things done. That’s what I wanted, that’s what I got.

Maybe you want to work at IBM. Grades will certainly matter a lot more for you. Several places at the career fairs initially blew me off when they asked for my GPA. They took my resume anyways just to make me feel better but guess what? I got calls back from almost all those places. “Wow, you worked for Google one summer?” Yes I did. In CS, grades matter the most when you’re a new grad. Switching jobs later on in life, nobody is going to care about your GPA. Knowing this I chose differently than other people about my experience at college. Whatever you do, make sure you know what you want to get out of college. It’s too expensive to waste your time.

Things I Use Daily That I Got From College

A lot of people think graduates are so much different from those who didn’t go. That might be the case, but I’ve seen several people who did just fine. The worst thing about not going to college is feeling that your knowledge is incomplete compared to graduates. Don’t think that. Ever.

Honestly, there are only a handful things I use on a daily basis that I have learned in school. I never took a course on databases, they were the focus of my interview for the job I took, and I passed it with flying colors. I remember someone making the remark that it “Looks like we need to make this harder.” My database knowledge is entirely self taught and I’m doing just fine. Sure I don’t understand more complex things about databases, but from what I can tell, our database course didn’t teach much real world experience anyways.

Algorithms and data structures are things I DO use on a daily basis, but they vary by programming language. What may be efficient in C isn’t in Python or vice versa. Get to know your tools and work with them accordingly.

In all honesty, I think the goal of college isn’t to produce excellent job candidates. The goal is to expose them to the concepts in a bunch of different areas so they can be familiar with the topics, figure out what they like the most, and know where to go from there. Most programmers I’m graduating with can’t program. I’m not even joking. What they DO know is a bunch of concepts.

The problem with things is that the job market expects graduates to immediately be able to come in and start implementing new features. If they never programmed outside of the classroom in college, you can’t expect them to be able to do it in the real world where you’re not running around in a room with padded walls. If you screw up badly enough in the real world it can cost you your job. In school? You just take the class over.

Learning to do things on my own, without help, was probably the best thing I have ever done for myself. It sounds stubborn, but you can do anything. You don’t need anybody holding your hand. It might take a while, but you’ll look back on it and wonder what your life would have been like had you need been a self starter. That dream job isn’t so far out of reach at that point. Some might think they have to work their way up the ladder for 20 years to get where they want. Why wait? Just go snatch it up right now.

If you liked this post, follow me on Twitter or subscribe to my RSS feed.

Discussion

  • http://astonj.com AstonJ

    Thanks for the post Chris – a great insight into what to expect.
    Could you add a list of skills/topics that you learnt? Such as languages and what you covered – perhaps rate by which you think were most valuable?

  • http://excid3.com Chris Oliver

    Definitely, the post was getting long so I started to get distracted on what specifics. :)

  • http://twitter.com/angelcasado Angel Casado

    Great article but do you think you could have learned the things you needed without college? or maybe 2 years instead of 4?

  • http://twitter.com/angelcasado Angel Casado

    Great article but do you think you could have learned the things you needed without college? or maybe 2 years instead of 4?

  • http://pulse.yahoo.com/_HOJGIF3ZSVESN23ZPFUAT3CBCY Sam

    Good post. Concepts, ways of thinking about problems – the history of approaches, what has been tried, what worked, why (or why not) – college. I teach at different levels according to the students I have. Sometimes I just let them do what interests them – with some cases for real world sweat time; other classes are lecture and theory. Be careful about sticking only with profs you like – self-selection bias. Glad you made it. Congratulations.

  • http://excid3.com Chris Oliver

    You know, I’m not sure. It introduced me to a lot of things like efficiencies of algorithms, more in-depth looks at assembly, networking, and related topics. Those are things I had looked into on my own before college but never could wrap my head around.
    Unless you have a mentor, I think it would be a lot harder to learn these things on your own. Not impossible, but you have to be a learner than can grasp topics by reading instead. I know I learn by doing and having someone there to show you and help you learn in person was something I couldn’t really find elsewhere.

  • http://excid3.com Chris Oliver

    Thanks, and you’re right. It’s good to have classes with professors you don’t like as well. Gives you a perspective that you might not get otherwise.

  • Saidi Smeenk

    Your conclusion is contradiction with THE rest of your text. Selftaught is THE most import skill ever in your life……no need for schools, anymore. Internet is your education and your own thinking.

  • http://excid3.com Chris Oliver

    I both loved and hated parts of college. There were a lot of things that I really disliked and that led me to learning things on my own which was really helped me to get a good job.

    College pointed me in the right direction to learn a lot of things, but when it came down to it, I had to do the real learning on my own. Take that project that’s easy and try to come up with a novel approach to solving it to impress your professor. Don’t take the shortcuts. You have to do those things on your own.

  • Huy Nguyen

    I had a very similar start, down to the fails in math due to the same reasons. You seem much wiser than I was though, and figured out all the important lessons early on. I wish I could tell my younger self this.

  • Anonymous

    I wish you would have learned that dancing favicons are annoying!

    Seriously, good post. Other than the dancing favicon.

  • http://excid3.com Chris Oliver

    Hahaha I thought it was kind of subtle easter egg. It doesn’t actually get rendered in Chrome so I pretty much forgot it danced.

  • Mortimer

    Your blog post reminds me that people nowadays don’t understand or aren’t even aware of the idea of a “liberal education”, that college should ideally expose you to history, culture, science, not be just a vocational ed program. The vocational ed will get you a job, yes, but as far as enriching your life and giving you the tools you’ll need to live the next sixty plus years, not so much.

  • http://profiles.google.com/jfeldstein Jordan Feldstein

    The most useful thing college taught me is that textbooks aren’t terribly useful as a reference. But they will take you from zero to working knowledge if you read it. Carefully. Front to back.

  • David

    I was unable to finish the article without dragging part of the window off of the screen to hide the favicon. It would be really helpful if you removed the favicon or made it static.

  • http://www.facebook.com/ohlordy Robert Ross

    The last article has “Helping your hand” instead of “holding your hand” (I’m assuming).

    Besides that minute thing, this is an awesome article

  • http://excid3.com Chris Oliver

    Yes thanks :)

  • Justustrees

    Your statement beginning with “At best, you’ve got Hacker News…” is a little short on information. I’d say at *worst* you’ve got Hacker News and Google, at best you’ve got MIT OpenCourseWare at http://ocw.mit.edu/index.htm which has thousands of courses online, including CS, all for free. Stanford, Harvard and many other schools have similar offerings. http://www.academicearth.org/ is a great resource for free online education.

  • http://excid3.com Chris Oliver

    Very good point. I had forgotten about all these awesome courses. The only problem with this (and have experienced) is that while these may all be available, it may take quite a bit of willpower to follow through and complete these. You won’t have due dates and the pressure of actually being forced through it in school. I tried to go through some of these last summer and after losing interest one time I didn’t come back to finish. But that’s just me, maybe I’m low on willpower.

  • http://www.facebook.com/AnthonyLBarnes Anthony Slicedbread Barnes

    I shared this on my facebook. I think, as I’ve been trying to nail down a proper subject to start up again with, I will respond in part to this and you in a soon-to-be-written blog entry. <3

  • http://excid3.com Chris Oliver

    Great! Make sure to link me when you have it finished.

  • Jennifer Irene

    Nice Post – I m always looking for these types of post – http://bit.ly/grPKX6

  • Saidi Smeenk

    Why is the outcome of a scholier or worker always outcome a job? And some of them a marvolous job with pays 3000 dollar. This is one of a reason they need school. Because they do not have the balls to set different kind of outcomes in their own life.

    You are comparing teachers without a school with something else without words. I compare the real teacher you will meet. Thanks to youtube/twitter/facebook/goole you are meeting your real teachers way faster. If you want to compare with the real education from before the internet time. It is your choice, i am comparing it with now facts and future with the power of internet.

    One of them is khan academy, but also the 450 people i follow on twitter the 150 youtube subscriber, 300 facebook people and the 1000 likes on facebook the 1500 rss followers then 1000 google search i am making. the 10.000 emails i am doing each year.

    And don’t let me started with the 500 ipad apps i got the 100 firefox addon’s the 100 mac apps….

    So pointed me in the right direction? Really…… is that the best answer you can give for your own education what you are paying for 70 000 dollar

  • http://excid3.com Chris Oliver

    But employers don’t recognize that you can learn just as much (and more) by doing research on your own. A lot of people still won’t consider hiring if you don’t have a degree.

  • Saidi Smeenk

    Disagree, you THE middle large or THE large or big multinational companies…. They got a strategy for hiring. With Google nowadays if you dont have phd they wont look and still one out of three get fired.

    But if you look at startup company, they only focus on real stuff. Not THE fake corrupt hiring policy of THE big omces. Because each player in startup you really can see theneffect what one person made.

    But then you need to know we must survive with financial….. And is job best way to do that? Before you choice THE school solution…

    Thanks for THE reply and blog. It made me think more.
    What is your best daily sources these days after school?

  • http://excid3.com Chris Oliver

    Yeah I think you’re right. It really depends where you want to work (or rather, where you can get accepted for a job). If you aren’t into open source and doing things on your own then having a degree will be very important for you getting a job. I do alright on my own and like startups a lot, so it’s much less important for me. It will, however, get you overall higher salaries in your lifetime. I read somewhere recently that it was on average $500k more if you have a degree. That is pretty substantial.

    I get a lot of my daily content through Google Reader. You can follow me on there (excid3@gmail.com is the email address to follow) or I’ve exported my RSS feeds to OPML here: http://cl.ly/7463

    And thanks for taking the time to write, I appreciate the input. It’s easy to be narrow minded sometimes and it’s great to hear from other people.

  • Saidi Smeenk

    thanks chris, we will talk trew google reader more. :)

  • Saidi Smeenk

    Don’t you find your statement a little bit odd. About pressure????

    The only pressure a person can handle is their own.
    You are the only one who is fooling yourself.

    And forced working, is that good way to educated yourself the rest of your life?

  • http://excid3.com Chris Oliver

    That’s the problem. You’re the only person who is really putting pressure on you to learn. If for some reason you get lax about it or unmotivated you can easily give up. With school you’ve already paid your money so you have your professors who are putting pressure on you to learn the material.

  • Saidi Smeenk

    That is the main problem i gave answer to. The only person who needs to pressure is yourself. If other those that, you will get overloaded.

    But let’s talk some more about motivation. What kind of motivation are there?
    Fear or Love… if you look into the really basic run/fight/freeze reaction when something is happening. Nowadays we got more drive base of motivation, your inner motivation.

    So mabye the basic motivation fear works excellent. Only we are living in the internet ages, where everything is wisdom. All the information we need to transform to skills and the skills we need to time it correcly like. (wisdom)

    If you punished yourself each time, you will destory your inner passion.
    Now let’s talk about money… what is money and why do you associate pain with money?

    Resources

    Education from Ken Robinson

    http://www.ted.com/talks/lang/eng/ken_robinson_changing_education_paradigms.html

    Science behind motivation Dan Pink

    http://www.ted.com/talks/lang/eng/dan_pink_on_motivation.html

  • Saidi Smeenk

    Would you make a bundle into google reader? i tried to download the opml in simple share…. how to import from simple share to google reader?

  • http://excid3.com Chris Oliver

    If you go to Settings there is an Import/Export tab that you can import it from.

  • Saidi Smeenk

    yes, i tried that. But i need to import a file xml into the database.

  • http://excid3.com Chris Oliver

    Ah sorry, I don’t know then. You can try just manually adding the subscriptions in there.

  • http://excid3.com Chris Oliver

    I agree, but not everyone can motivate themselves in such ways. I know that personally I cannot work as well unless I have someone who I want to impress. Like with school, I couldn’t pressure myself into working hard sometimes but I knew it was important to do well for future employers, my parents, etc. I needed those other people expecting me to do well in order to be motivated.

  • Saidi Smeenk

    Yeah, you got three option… mabye handy to learn. Make google bundle out of it and share to me. http://googlereader.blogspot.com/2009/05/life-is-great-bundle-of-little-things.html

    make your rss list public so i can sucribe in to it

    and make a file xml in dropbox or your simple sharing so i can download it and import it…

    Ofcours i can do manuelly. But i am lazy. :) and if we going to share more resources in future. Better smart lazy… i got like 1000 sources i am following. So the bundle option is better. Then i can make in my ipad app sperate account to read what you are reading.

  • Saidi Smeenk

    Agree, and easy to do. I get motivated by my future customers. :)

  • http://excid3.com Chris Oliver
  • http://www.facebook.com/profile.php?id=1280970118 David Shefchik

    Great post, have to say it sums up my CS education pretty well. In my case I DID take a database course, became an SQL expert in a month or two, and now realize that I completely forgot everything that I had learned. Seems to be commonplace here