Friday, May 27, 2011

How to become a great software programmer for an IT University Student ?

"Sudah lulus, tapi seperti mahasiswa tahun pertama ...(Already graduate but like a first-year student)". That was a sentence my friend uttered to me in a chat to show his disappointment about IT student quality in skill and knowledge in programming. He also add, they are a lot. Masya Allah, a lot ?!. My friend is a young IT-Enterpreneur, he has an IT company and that is his experience to has employees as a programmer. From that sentence, it shows that a new graduate from diploma or Bachelor degree is low in programming skill and knowledge. Actually not in programming only but also in knowledge in computer science in general that he should know after graduate, but he doesn't. Here, i make a difference between skill and knowledge, skill refer to practising while knowledge refer to theory.

There are other statements to express a disappointment about IT graduate student in Indonesia, particularly in programming skill and knowledge, mostly said by people in industry. Most of the graduate seems just get a certificate without thinking that they have to learn more by themselves because course in a class is never enough. Worse, if they get the degree by cheating, such as a project final created by other people.

If they find a company which train its candidate of employee before work, they are lucky, but if not, they have to train himself or autodidact. But actually, autodidact is the ability we have to have, because a training has a certain period while learning is always we have to do along our life.

This article is my opinion to try to explain How to become a software developer for an IT student. So after he graduate, he already becomes a great software developer at least just need next one to two years to become a great software developer.

Programming is a core skill and knowledge for every IT student with every major, whether they are Informatics, Information System, Computer Engineering or Accounting Computerize. Specific for Informatics or Teknik Informatika, programming must be mastered well.

I mean with a "Software programmer" is a person who has skill and knowledge to build a software. Not only programming skill, but also well-knowledge in database, software engineering including software development life cycle. Has well knowledge in software design is better.

These are some steps to be a great software programmer for an IT student :

1. You must come from Natural science / IPA in your high school. A good high school with good score in math and natural sciences subjects is better.

Before enter an IT University/College, you should has ability in Math and logics well. It can make you easier to learn subjects related with Math and Algorithm in campus.

2. Choose a good Computer Science campus. Good friends and an atmosphere in academic very influence ourselves for learning.

3. Although there are some language programmings are taught in campus, you do not need to master them all until advanced level. Just pick one or two language programmings you like and master it/them. In class, programming subjects are taught mostly until low-intermediate only, not until advanced. Your own effort to make it.

4. Get score "A" is not enough for programming related subjects (Algorithm, Data Structure, Database, Java Programming (If you want Java as your language), OOP and Software Engineering also Software Design and analysis). Try to have your own book, English edition is better or/and learn via internet. Join a forum, milis, read articles in Internet.

5. Get score "A" for math subjects. Make math is your favorite subjects.

6. Other subjects besides math and programming or software related subject is important too to get a high score. Good GPA is easier for your future, such as for looking a job and get a scholarship for next degree (Master/Doctor). But focus your attention to math and programming related subjects only.

7. Mastering English. So many good books and articles related in programming written in English.

8. Take a course outside class is good but the ability to learn autodidact is very important. After you graduate, you have to learn programming too by autodidact. It's impossible to take course continuously while you have to learn programming continuously, that's why, autodidact is very important.

9. Marketing yourself if you already good in programming. Let other people know it by showing your creation in application and your writing by publishing them in internet.

10. The last but not the least. Practise, Practise and practise. Practise as many as possible with solve the programming problems in a book or website, make a simple to middle size of application and try sample codes in a book and internet in your computer. You can join Programming contest to practise and measure your programming skill among other students. You also can to make a full version application. Making a final project including this step. Don't let other people to make your final project. Helped is okay but do alone/team (depend on the requirement). One key word, PRACTISE.

Don't forget, if you already has knowledge and skill, don't wait until advanced level, you can share your knowledge to other people by teaching and/or writing. Writing a book and scientific journal as well as free article shared in internet are a challenging and enjoyable matter, i think.

You can make money too by become a freelancer or/and IT enterpreneur by using your skill and knowledge in Programming. Become an employee ?. Don't mention, you will be top-wanted or/and hunted by companies, Insya Allah, don't forget to publish your good creation or invention.

A degree and certification are important but the far more important thing is knowledge and skill. Continuous learning and never think to stop learning until The death come to us.

Thank You.

Image by