Heres the post since A server error occurred. Please contact the administrator.

Computer Science Degree - As Valuable As You Make It

I hear a lot of my fellow students talking about "The university experience", and I think that the phrase has gotten lost somewhat.

University, should act like a buffer between compulsory education, and the workplace. It should prepare you in the ways that school
does not, for the discipline that you wish to work in. I think we can all agree that some universities are better at this than others, but I
think most of the responsibility for this preparation lies ultimately with the student, not with the lecturers, tutors or deans.

Many of the undergraduates I know seem to be going through university by default. What I mean by that is, they attend lectures, they complete their
assignments to a good standard, and that sets them up for a nice stable 2:1 even a 1st by the end of the third year. However, I don't think
that this is enough.

I have just finished my second year as a computer science undergraduate, and recently got the opportunity to work as an intern at a tech startup for the summer, and I can't get over the feeling that many of my peers who are generally considered good students, just wouldn't cut it, and this is for a number
of reasons.

Take Linux operating systems for example. Now we did have a module that covered the basic commands and some rudimentary C, but it definitely was not
enough to be able to work effectively with it. It was more of a primer so that we could go away and practice the skills that we learnt and expand on them
as we apply them to other problems, either invented or real. However I believe a lot of my classmates just took it as either the be all and end all, or they
just did not care. Either way, they didn't go out of their way to learn more than was necessary to pass the exam and as a result, they got a good grade,
but still can only really us cd and ls, if you gave them a tar.gz of a software package and asked them to install it, they wouldn't have a clue where to
start.
In my experience so far in my internship, all of my work has been on a Linux machine. The fact that I could already use it to some proficiency (I'm
still not great mind) saved time and effort on the side of my boss and my temporary colleagues. More importantly, being able to basically use
Linux was kind of expected from day one.

A more important skill is that of being able to research and learn things for yourself. Unfortunately (at my university anyway) students are spoon fed a
little, this results in people being complacent, only learning what is necessary to pass the exams, which only requires that you read the lecture PowerPoint slides. So the only real way to learn this skill is to take an interest, try to build things yourself that go way beyond the scope of the
course, so that you must look things up and learn things for yourself. Again this based on the short experience of my internship this is
another very necessary skill, and one that, again, is expected of you. If I was constantly asking, "how do I do this ?", "What’s an X ?" or "Will this
work ?" people would just get annoyed. I would as well. The answer you get is "here's a useful link", "http://lmgtfy.com/?q=X#" and "try it and see for yourself!"
These are things that you should be doing anyway! (Especially the last of the three, I get hopelessly annoyed when someone asks you "will this work?" and
It’s obvious that they either cant be bothered to try it for themselves, or that doing so hasn't even occurred to them).

I’m not a wizard, I just try stuff !

It disturbs me when my classmates give me a look of bewilderment as I discuss with them my projects. Instead of going, "oh, that’s cool, let me see that bit of the code", or
"hmm, you could have done that this way, here let me show you", they simply stare blankly at you and your arcane creation and go
"Wow, Where did you learn that?!", or even worse :(
"Ha that’s amazing! I could never do something like that. . .".
Bare in mind that these are theoretically "good students" with good grades.

Now not all people are like this, and thankfully there are those of us (of which I hope that I am one) that really try to make the most of university
and, are whom with which I tend share the first of the conversations with.

Finally, there are plenty of ways to get more involved!
So nobody has any excuses, here’s a short list of things that I find valuable:

-	Read the news! In a rapidly advancing field, often what you are being taught by your lecturers and text books, is relatively outdated, keep on top of new languages, libraries, technologies . . .
Every day I see at least two top ranking articles on news.ycombinator.com on new JavaScript libraries if that’s what you’re into.

-	Get involved in open source projects. Find a project that you are passionate about, download the code and start tweaking things, ye’h ok you may not fix any major bugs or contribute anything useful for a while, but the experience of reading, getting to understand and changing someone else’s code is invaluable. So, just find something that your interested in and study it for a while.

-	Make stuff! Try things out. If you have an idea, grab your laptop and prototype it, even if it ends up being useless, or it didn’t really get off the ground, you will have learnt something! You never know, you could end up with something pretty cool!

So to my fellow undergraduate computer scientists:
Yes we fortunate that we are going in a profession where jobs are readily available and relatively well paid. However, we cannot afford to be complacent.
Your degree on its own will only get you so far.

One more thing: Learn what version control is and how to use it. Just, trust me.