Wednesday, August 6, 2008

Things You Need to Succeed

According to this article on Lifehack, there are ten things skills you need in order to succeed at pretty much anything. That includes computer science. Problem is, a lot of these skills seem to be ignored by those in the field, and sometimes even the schools teaching it!

Time and time again I hear students complain about the electives they have to take as part of their Bachelor's degree. The arts classes drag down my GPA, they say. I just want to learn about computers, they lament. But sometimes these electives provide the only opportunity to break away from the logic and conciseness of computer science, and thereby the only chance to develop these essential skills Lifehack talks about.

Take number two on the list, for example: writing.
Writing well offers many of the same advantages that speaking well offers: good writers are better at selling products, ideas, and themselves than poor writers.
In addition to these points, consider the documentation you need to produce for your code, the specifications you will write, the proposals you may need to put forward, and even the emails you need to send to your boss and co-workers. Even in technical fields, being able to express yourself with the written word is very important.

How many essays did you have to write for a compilers class, or a course on algorithms? Exactly. While a few professors do take the opportunity to assign papers or other written projects to their undergraduate students, they often don't give much help in terms of how to write well. Practising this skill in arts classes that require multiple essays will help students improve it.

Another important skill listed is networking. There are definitely students that recognize this as being a useful skill, and take opportunities to meet others in the field whenever they can. The many that don't would do well to attend social events undergraduate societies organize. This includes both those events aimed at just students and those that include faculty as well. Career workshops often include relevant people from the industry and are as worth attending as job fairs. Because many events do already exist, perhaps a little more advertising and coaching from professors would help get more students to attend.

I'm a bit on the fence with number five, critical thinking:
We are exposed to hundreds, if not thousands, of times more information on a daily basis than our great-grandparents were. Being able to evaluate that information, sort the potentially valuable from the trivial, analyze its relevance and meaning, and relate it to other information is crucial – and woefully under-taught.
In matters of logic, computer scientists can certainly evaluate and sift away the trivial bits rather well. But I have observed that many students apply black and white logic to matters more complex. I remember taking a Canadian Studies class in my first year where the main theme was "critical nationalism." I was taught what it truly meant to think critically in matters outside of math and science. I'm sure many arts classes could do the same, again suggesting that these electives are rather valuable.

Luckily, there are a few skills in this list that computer experts tend to excel at. For example, math and research. I'm sure most undergrads could use some help in learning research techniques from the perspective of academia, but anytime we run into a problem we seem to be able to find the answer using the Internet, friends and colleagues, or controlled testing and trial and error. I shouldn't even have to comment on math, which is pretty much at the core of computer science. ;)

So why not think about this list at a deeper level, and see how you might be able to brush up on a few of your weaker areas? For example, if public speaking isn't your thing, join Toastmasters. If you find yourself working too long and too hard, join a sport or club to up your relaxation. However you choose to improve yourself, you will surely up your ability to succeed.


Leslie P. Polzer said...

And let us not forget the relationship between the command line and writing:


Post a Comment

Comments are moderated - please be patient while I approve yours.