Sunday, October 19, 2008

Pieces of 7 Guides for Computer Science Students

Despite the fact that it’s been 3 years since I enrolled to public varsity to pursue my edu-life again but in computer science this time, I thought I'd write up a standard guide which all computer science gizmos can read, laugh at, and ignore.

Most college or varsity students, unfortunately, are brash enough never to bother asking their elders for advice, which, in the field of computer science, is a good thing, because their elders are apt to say goofy, antediluvian things like "Dun worry we can get job wan LAH, What I’m doing rite now has nothing to do with C-S at all" and "My company is killing me with their new programming assignments’ Damm man". I believe there are others as well, but these are small perks from the rest.

I, too, have no idea what I'm talking about when I was trying to figure out what shall I write about this course and what should I put in it. Giving guides to students. I'm so hopelessly out of date for some time that I can't really figure out what’s the current state of the world out there now.

So you'd be better off ignore what I'm saying here and instead build some kind of online software thing that lets other students find people to go out on dates or makes friends with.

Nevertheless, if you enjoy programming or networking computer, analyzing it, count your blessings: you are in a very fortunate minority of people who can make a great living; doing the work they enjoy. Most people aren't so lucky, sorry to write it but majority in CS aren’t sufficient enough or some don’t even know what they are doing in this course? The idea that you can "love your job" is a modern concept. The term ‘Work’ means something unpleasant you do to get money to do the things you actually like doing. Enough of this. I’ll cover about work in the next article.

What was I talking about? Oh yeah, Guidelines.
Without further ado, then, here’s Raj Dev Tech’s Pieces of 7 Guides for Computer Science Students (Sources and analysis are well checked and explained by experts in this CS field):

1. Learn how to write a Programming Language before graduating.
2. Learn C Language before graduating.
3. Learn Business-Skills before graduating.
4. Don't blow off non-CS classes just because they're boring.
5. Take programming-intensive courses.
6. Stop worrying about getting jobs in multi-national companies.
7. No matter what you do, get a good internship.

Now for the explanations, unless you're gullible enough to do all that stuff just because I tell you to, in which case add: 8. Seek Rajdevtech’s help for that self-esteem thing.

1. Learn how to write a Programming Language before graduating.

Would Linux have succeeded if Linus Torvalds hadn't evangelized it? As brilliant a hacker he was, it was Linus's ability to convey his ideas in written English via email and mailing lists that made Linux got attracted worldwide. Even on the small scale, when you look at any programming organization, the programmers with the most power and influence are the ones who can write and speak in English clearly, convincingly, and comfortable. Also it helps to be tall, but you can't do anything about that.

The difference between a tolerable programmer and a great programmer is not how many programming languages they know, and it's not whether they prefer Scheme or Smalltalk. It's whether they can communicate and converse their ideas; understand the syntax and semantics of conceptual programming languages. By persuading other people, they get leverage. By writing clear comments and technical specs, they let other programmers understand their code (increases readability and writability), which means other programmers can use and work with their code instead of rewriting it, they understand it well. Absent this, their code is worthless. By writing clear technical documentation for end users, they allow people to figure out what their code is supposed to do, which is the only way those users can see the value in their code.

Nowadays, companies won't hire a programmer/networker unless they can read and write well, in English. English language proficiency is very important currently. If you can write well, you get hired; wherever you get hired, you'll soon find that you're getting asked to write the specifications and that means you're already leveraging your influence and getting noticed by management. So brush up your English language! Most colleges and varsities designate certain classes as "writing intensive," meaning, you have to write an awful lot to pass them. Look for those classes and take them! Seek out classes in any field that have weekly or daily written assignments. Start a journal or weblog. Speak in English to your friends and foes. This increases your fluency in speaking as well. Remember, we learn to write by writing and speak by speaking.

The more you write, the easier it will be, and the easier it is to write, the more you'll write, in a virtuous circle.

2. Learn C Language before graduating.

C. Notice I didn't say C++. Although C (Machine Learning) is becoming increasingly rare, it is still the lingua franca of working programmers. It is the language they use to communicate with one another, and, more importantly, it is much closer to the machine than "modern" languages that you'll be taught in college like ML, Java, Python, whatever trendy junk they teach these days. You need to spend at least a semester getting close to the machine or you'll never be able to create efficient code in higher level languages. You'll never be able to work on compilers and operating systems, which are some of the best programming jobs around. You'll never be trusted to create architectures for large scale projects. I don't care how much you know about continuations and closures and exception handling: if you can't explain why while (*s++ = *t++); copies a string, or what does pointers do? If that isn't the most unnatural thing in the world to you, well, you're programming based on superstition, as far as I'm concerned: a medical doctor who doesn't know basic anatomy, passing out prescriptions based on what the pharmacy sales babe said would work is Bullshit. So get yourself used with this simplest and most understandable computer language. A list of references for c programming is available in Google.

3. Learn Business-Skills before graduating.

Super quick review if you haven't taken any economics courses: econ is one of those fields that starts off with a bang, with many useful theories and facts that make sense, can be proven in the field, etc. Others like marketing, finance, statistics and product and brand management can be included as well to sharpen your business skills. Trust me this helps when we are working in business organizations, relying on coding itself can make guarantee us a life, a anxiety of being able to provide on-time ideas on business will boost our reputation and get credited.

Why should CS majors learn econ? The answer is; a programmer who understands the fundamentals of business is going to be a more valuable programmer. That's all there is to it. I can't brag to you how many times frustration by programmers with crazy ideas that make sense in code but don't make sense in capitalism. If you understand this stuff, you're a more valuable programmer, and you'll get rewarded for it, for reasons which you'll also learn in business-skills courses.

4. Don't blow off non-CS classes just because they're boring.

Blowing off your non-CS courses is a great way to get a lower CGPA.

Never underestimate how big a deal your CGPA is. Lots and lots of recruiters and hiring managers, go straight to the CGPA when they scan a resume, and we're not going to apologize for it. Why? Because the CGPA, more than any other one number, reflects the sum of what dozens of professors over a long period of time in many different situations think about your work. The CGPA reflects hundreds of papers and midterms and classroom participation's over three years. Yeah, it's got its problems. There has been grade inflation over the years.

Why should an employer looking for software developers, care about what grade you got in National History? After all, history is boring. Oh, so, you're saying one should hire you because you don't work very hard when the work is boring? Well, there's boring stuff in programming, too. Every job has its boring moments. And companies don't want to hire people that only want to do the fun stuff. After all, History is my personal obstacle course of tedium. Do not wander around neglecting all your 2 hour credits (mostly university subjects) courses just because your focus is much on the 3 or 4 hour credit (mostly school or core subject) papers, treat them all as same as they’ll help you in your CGPA.

5. Take programming-intensive courses.

The trouble is, we don't really have professional schools in software development in Malaysia and so if you want to be a programmer, you probably majored in Computer Science. Which is a fine subject to major in, but it's a different subject than software development. Although some schools have embedded software engineering into their CS major. If you're really lucky, your school might have a decent software development curriculum, although, they might not, because elite schools think that teaching practical skills is better left to the technical-vocational institutes and the prison rehabilitation programs. You can learn mere programming anywhere.

If you're lucky, though, you can find lots of programming-intensive courses in the CS department, joining a repeat paper of programming basic can enhance your skills and get you used with the rhythm. Feel free to attend courses outside the varsity gates; since there are few freelance institutions offer certifications in CS & IT. Enrolling into public courses can equip you with the latest trends of programming and you might be able to catch up with the working life out there soon. Always be updated with technology and gain knowledge from everything because remember “The early bird catches the worm first”.

List of reference available in, Google, Yahoo,

6. Stop worrying about getting jobs in Multi-National companies.

Well, OK, first of all, if you're already working you never really had to worry about this, so don't even start worrying about all the jobs working in Shell, Acer, Schlumberger and etc shits.. They're many wonderful jobs, enjoy them in good health.

But I keep hearing that enrollment in national companies are dropping since there are a large bunch of so called CS majors and IT-idiots who wants to grab a place in multi-national companies only. And one must understand that multi-national companies do not enroll peoples just by mere basic undergrad certificate. There is extensive examination held and test to determine the very best of all candidates. The reason is because the responsibility a person who secures a job will hold is very huge, so if the person cannot attend or qualify to behold of that responsibility is just creating unnecessary havoc.

Anyway, I don't think students should really think about this. The possible method is to join a company which offers you a wide range of responsibility when you are employed, such as a company with a small scale of business ventures providing IT solutions. You can be assigned to be the service provider at the same time you’ll be responsible of testing the product or unit that will be installed in the client company. Through this way, you can learn the product and the interconnection between it in programming. Our experience increases rapidly and we will be more qualified to get employed in multi-national companies later stage rather than jumping to it at first without any hands-on experience.

7. No matter what you do, get a good internship.

Smart recruiters know that the people who love programming and networking wrote a database for their high school in form 6, be taught at computer camp before college, and built the content management system for their thesis, and had internships at IT related companies. That's what they're looking for on your resume.

Go n get yourself a list of companies offering good internships. Make a list of selected companies with the preferences. Check for their website through the net and start analyzing the types of training and the amount of duration the internships are. The ideal duration for a CS intern to be trained is at least 6 months for them to be responsible for a real project in the company. While at internships, it is advised for students to show good attitude and hard work as these values will be rectified and recognized if the students would want to pursue his /her career in the same company after their internships.

List of references available in,,

If you follow the guidelines, you’ll be able to end in your own office in ten years time with big seats and large tables with a lot of life making decision craps turning down all the Google jobs, but they won't be my fault. I already told you not to listen to me!

The contents of this article represent the opinions of one person.


  1. Fuyoo! Great la cha...thesis mudinjone idea ellam nalla flow panethu pole...hehe...good article..thnx for the tips..

  2. i must say, this article hits the nail right on the spot!

    as a PHP programmer myself, i must agree wit u, especially on points 1 and 2. C language can never be taken lightly, and it helps more in one way.

    Point 7 also is very very very true. I didnt do my internship in an IT company, but I did learn a lot of things which are not available in classrooms.

  3. good tips for IT students like me ,

    your first post after almost 3 months , fuiyoo .

  4. @Kavi-Timakasih timakasih Byk2 the way PHP programmer ah,i mite need sum help from u soon...hahaha.

    @Townguy-Ellam ore kappal la than mike metengerum,byk keja baru sudah free sikit..Niway hope it lighted ur IT life and thanx alotfor the comment.


::: Advertlets :::

::: Just 1-Click :::