How to be a good programmer.

 

14297_10151210279483006_352421057_n

At the very onset, let me make it clear that I DO NOT consider myself a good programmer. I rate my coding skills as average and I am still learning i am a student of BS Computer Sciences  and have a long way to go before I am even slightly pleased with my programming skills. Yes I am better than quite a few people when it comes to programming, but thats merely because they are lazy and like to sit on idly all day and never bother about programming. Their horrible skills make my less horrible skills look marvellous. I have performed in different universities  and have never done well in any coding contest worth mentioning blog.

So most of the tips I will mention below are lessons learnt from failed endeavours, they are what I have wanted to be and I am not. So lets dive in.

CXIG56nWAAANOnl

.Decide why you want to become a good programmer:     Is it because you want a job, preferably in a high paying software firm? Great. Then you are set to reach NOWHERE. All good programmers I know are good because they loved what they did. Develop interest in programming. See, programming is the only branch in engineering where you can straightway apply what you learn. Your dad may have a car but he certainly wont allow you to tweak the V2 or swap it for a v6 just to see what happens. But with computers you can do whatever you want. You want to simulate a virus? Cool. Install a virtual OS and run it. Then, when you are done, remove the virtual hard disk. If you are good at what you do, you will get paid and surely get that dream job. Yes, even I want to work in a big software company. But i cant because i am just a student now.

that time the teachers is not a great teacher ,they didnt know about  [programming, banking , etc ] today because they decided to teach to earn money

Programming

 

Programming languages:   Very often people equate good coding skills with number of programming languages known. Thats just damn untrue. While knowing a lot of programming language is good and sometimes, even, essential; it is more important that you know one or two languages very well. I ‘know’ and have used more than 4-5 programming languages [C , C++ / oop , javascripts , HTML , CSS , jQuery , OpenGL ,]and yet i am working on C++and SQL statements  are the ones I am truly comfortable at. Thats sad of course. I really wanted to be good at Assembly and Lisp as well. Never got the time or chance to develop those skills. To be good at a language takes years (at least 2 years).  I have experienced in html, css ,javascripts and jquery more than 3 years. and using C++ from last 2 years  .Being good at a language means, you understand where it is best used and where using that language makes no damn sense. On the other hand, knowing a language takes anywhere from 3 days to a week. If you are a beginner, learn C first.

Programming is an art (not a science. Yes you read it correctly), and like any art it requires painstaking effort.

 

Algorithms: Any good programmer has a good understanding of algorithms. Its not necessary that you know each algo by heart (in fact good programmers never learn things by rote) but you must understand when to use what. Algos will broaden your understanding and give you new ways to tackle problems. Another important thing is Data Structures. Its more important than algo. Once you have chosen (or developed) the correct data structure, the algorithm becomes self evident.

Coding contests: Coding contests are good for developing your algorithmic skills and they make you think fast.

So get set on your way to become a great programmer.

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s