

Computer Science Degree - As Valuable As You Make It - greybox
http://throwww.com/a/87l

======
greybox
Thats annoying. Throwww.com is still up though, I wonder if there was a load
problem on the one node.

------
fmilne
A server error occurred. Please contact the administrator.

------
greybox
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#"](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.

