At first you should understand that being a programmer is different from knowing a programming language. A programmer is a scholar and inquirer and you can't be a programmer with learning a language and after learning a new language everything will start.
- You should specify your reason for coding
At first you should understand your target. Is it just a job and for earning money? Do you have a new idea and you want to create something new? Do you want to learn science? Or do you want to pass your university courses?
- What kind of programmer you want to be
You must specify your type of programming and your activity and define what kind of program you want to write. Web or operating system? Open source or not? I myself choose the programming system, but it doesn't hurt to learn a web programming language. For example if your reason for coding in the previous step was earning money you should check the daily news to see what type of program has a better job market.
- Choose your language
It's clear you should start from one language and that language (beginning language) is the professional language for you (I chose VB6 at first but little by little I adapted to VB.NET), don't choose a simple language (like Pascal, Assembly and so on) and on the other hand don't choose a very hard one (like Java) because as a result you will be frustrated. Finding the programming language directly refers to your answer to two previous questions, for example if you want to write a web application and also earn more ASP.NET it is recommended but if you need for personal use you should choose PHP, although PHP has a good income but not as much as ASP.NET. If you want to choose depending on operating system then Java and Visual Basic.NET are suggested but you should understand that the languages by OS has their own complexity.
- Start from books
First start from books, with a little research about programming languages that you choose the preceding select a suitable book. You don't need to choose an advanced book or even other languages. Very simple books like a Visual Basic.NET tutorial is able to help you in 24 hours. Of course we know that we can't learn VB.NET in 24 hours but it begins with these books. Do not start with the advanced books, it will probably frustrate you.
- Continue reading Books
With books, Commentators and programs that you need to run your programs on your computer install them on your system, now try to run all the examples and source code on your system and touch them. As Andre Gide says: "Natanayyl reading the soft sand of beach is not enough for me and my legs should fell this softness.” This is for you too, you should feel coding.
- Create your own examples
After running and testing the code and examples in the books create your own examples in the association, test them and try to develop them.
- Do not be proud
If you have worked for several years to learn a language there is still many things to learn. Always try to learn from others and teach other as well as you can (remember when you asked others about your problems?).

Gaurav GoyalPosted Apr 20, 2015, 5:45 AM
Hi Masoud I have to develop my skills in C# and ASP.NET Web Application.I am a beginner.Please refer me book
gaurav kumarPosted Mar 13, 2015, 7:39 AM
Thanks
Md. Raskinur RashidPosted Jan 17, 2015, 10:35 AM
Thanks. This will help the programmers to set his/her vision
Joginder BangerPosted Dec 26, 2014, 11:44 AM
Good think boss..I learn something new about the Programmer. Thanks for give your value able time.
Rahul BansalPosted Dec 26, 2014, 4:04 AM
Great Advice
Hamid KhanPosted Dec 26, 2014, 2:50 AM
Nice post for both beginner & Professional
Manish Kumar ChoudharyPosted Dec 25, 2014, 11:45 PM
Nice article..
Sibeesh VenuPosted Dec 25, 2014, 9:09 AM
Good article . And a good programmer is the one who achieve the output with few lines of codes , who makes understandable codes , which make everyone to understand easily . And he will always keep on trying to improve the quality . And he will always try to be a smart worker rather than hard worker .
mehdi ahmadiPosted Dec 25, 2014, 8:43 AM
Hello Mr Sharifipour i am begining in C#.Net and i like be profeshonal on this , What your message for me to learn this and ASP.Net In Iran??
Guest UserPosted Dec 25, 2014, 5:12 AM
I would like to add another point, i.e., Practise. To be good programmers, we should practise, get code reviews, refactor our code where needed.
Guest UserPosted Dec 25, 2014, 5:11 AM
Good article, I enjoyed reading it!
Mahesh ChandPosted Dec 25, 2014, 1:27 AM
Definitely a great read and advice. Unless you meant a "simple language" (Pascal or Assembly) vs. platform (VB.NET comes with .NET framework), Pascal or assembly languages are not usually simple. Pascal is an object oriented programming language. YES I agree with Sam. These days, one must start with an object oriented programming language and C++ or C# or Java are good to start with. I think in your last point, you meant, not to become "cocky" or arrogant or egoist. It is OK to be proud but it doesn't mean you start thinking you're better than everyone else. Just be humble. There is always something to learn. There is always better than you. Cheers!
Jitendra KumarPosted Dec 25, 2014, 1:07 AM
Good One.
Sam HobbsPosted Dec 25, 2014, 1:06 AM
Thank you for your thoughts, Masoud. Your guidance will help others. I think however that Assembly language is not a simple language. Also, Pascal was originally designed to be a better language than Basic and they both (the original BASIC language and Pascal) were designed for students. Pascal is capable of being used professionally however the original BASIC was not a very professional language. I do not know what language I would recommend for beginners but I think it would be good to start with a language that supports Object-Oriented Programming the best. That includes C++, Java and C#. Unless PHP has ben substantially improved in the past few years it is not the best for OOP. I think the job market is also a good criteria and based on that PHP is good.