How can I be an Expert Programmer?

I have heard many people asking questions on which programming language should I start with? and how to become a expert programmer?

To answer the first question, I have written a blog earlier. Please read it.

In this blog, I will try to answer the later question on how to become an expert programmer? First of all let me tell you that there is no shortcut to become an expert. Only serious learning, sincerity and practice will make you perfect. Lets start on the approach now.

#1 Start with a Programming language which is easier to learn. As per my earlier blog, C Programming is the best to start with, per my suggestion.

#2 Once you know the programming language and you have written a handful of programs to make yourself comfortable with it, start learning Data Structure using it. Data Structure is the fundamentals of programming technique. Programming is an art like painting where colors are the tools to paint but what you paint is your innovation and concept. That is why it is called an art.

Similarly, programming is an art too. You need a programming language as a tool but your imagination, innovation and problem solving attitude will help you to become a programming guru. Data structure helps you in this particular area. It put your imagination with no limit, it stimulates your grey cells to become innovative and keep your attitude at right direction.

#3 Learn Object Oriented Programming (OOP). Either C++ or JAVA you can choose, but OOP helps you to explode the programming in Object Oriented approach. You will know the best programming techniques by learning OOP which is accepted world wide.

#4 Practice Practice and Practice should be the only mantra now. Solve as many problems as you can. Do a mini projects by yourself.

#5 Now its time to go with you interest. So far what you have learned may not help you to earn money directly but remember the learning, your imagination and innovation will never go in vein. At this point choose your career path and select the correct programming language. It will be much more easier to learn a programmer at this stage.

Learn PHP/.Net JavaScript, jQuery in case you have you interest in Web Development. Learn Oracle SQL or PL/SQL if you want to pursue as database programmer. or you can go with JAVA to be present in billion devices around the world.

Cloud computing, Mobile Apps development are few areas you can explore if it interests you. But remember to going through #1 - #4 is absolutely needed as it build your foundation and helps you to grow as an expert programmer.