How to Become a Good Professional Programmer?

A good programmer is not a word that can find its definition in the dictionary. Good programming skills are essential to success and in discovering the joys of programming. As seen with many successful programmers over the past, here are some points that can be followed by those who are in pursuit of a successful career in programming.

How to become a Good Programmer?

1. Work on Basics

As it is true for any industry and any job, the conceptual understanding is the key to success. Unless one has a strong conceptual foundation, he/she can never be a good programmer. The core conceptual understanding helps you in designing and implementing the best solutions in the best possible way. If still you feel a gap in core computer science and your programming language specific concepts, itโ€™s never too late to go back and review the basics.

2. You learn more by helping others

Most of us have a common tendency of turning our heads towards forums or groups only when we need help. And again a clear separation between the good programmer and rest that the former’s visit these places more often to help others. This makes them learn more then they learn to get their problem solved by someone else. Within a team as well, help others to solve their problems. Believe me, understanding othersโ€™ problem in their context, investigating on that and providing solutions; will leave you much more learned than before.

3. Write simple, understandable but logical code

As in almost every aspect of life, the formula of ‘Keep it simple and short’ works in programming as well. Write more logical code and avoid complexity. Sometimes people do write complex code just to prove their capability to write such codes. My experience says that simple but logical codes always works well, resulted in fewer issues and are more extendable. I remember an excellent quote

4. Spend more time in analyzing the problem, youโ€™ll need less time to fix it

Spend more time in understanding and analyzing the problem and designing solutions for it. You will find the rest of the things quite easily doable. Designing not always mean using modeling languages and tools, it can be as simple as looking at the sky and thinking the solution in your mind. Those who have habits of pressing keyboard (for coding) the moment get the problem, usually ended us something different than the requirement.

5. Be the first to analyze and review your code

Also: Best Websites to Learn Programming Online

Although a bit difficult, but try to break your own code before others can and with the time you will learn to write close-to-bug-free code. Always do a close and unbiased review of your code. Also never hesitate to take others view on your code. Working with good programmers and taking their feedbacks will surely help you become a good programmer.

6. Donโ€™t dismay yourself by looking at changing technology world

Over these periods in IT industry, I met with many people who are either disappointed by their work or even left it to search new job saying they want to learn and work in latest technologies. I donโ€™t see any problem with this aspiration but the very first incorrect word is the โ€˜latest technologiesโ€™. What we are hearing every day and mean here is new tools, APIs, frameworks and others means coming up everyday to make the programming easier and quicker.

This anyway will continue in the technology world. But what needs to be understood is that the core and basic technologies change with much lesser pace than frameworks, tools and APIs around it.

This is like the sea where the surface water moves very rapidly but the deep water is relatively calm and concentrated and most of the aqua lives survive here. So, feel yourself in that deep water and close to core technologies. For e. g. in the Java enterprise world, lots of web frameworks exist and new ones coming every other week. But the core concepts of a request based client-server communication, MVS pattern, filters/servlets/JSP, resource bundling, XML parsing etc remains the same. So spend more time learning these core concepts rather than worrying about ever-changing frameworks and tools around it. Believe me, with the foundation of core concepts, you will always find easier to learn new frameworks, tools, and APIs.

So spend more time learning these core concepts rather than worrying about ever-changing frameworks and tools around it. Believe me, with the foundation of core concepts, you will always find easier to learn new frameworks, tools, and APIs.

7. Donโ€™t work for a longer time

Many times software programmers implement workaround solutions (maybe because of lack of time, lack of problem understanding or lack of technology experience). But over the period these workaround solutions always resulted in corrupting the code, making it less extendible and maintainable and a lot of wastage of time later on. Always prefer to implement when you know the in-out of the solution. I understand that it becomes unavoidable in some circumstances, but itโ€™s like, one should speak the truth always but you tell lie in some circumstances.

8. Read documentation

One of the essential habits of a good programmer is that they read lots of documentation. May it be specifications, JSR, API documents, tutorials etc. Reading documents helps you creating that essential foundation based on which you program in the best of the way.

9. Learn from others code as well

I interacted with some excellent programmers who actually have java source project inside their IDE all the time and read/refer that in daily work. They do it not only to fulfill their appetite of knowing the basics but also to learn ways of writing good programs. Reading and referring reliable and known open source code or your seniorโ€™s code, can also help you make your programming better.

Your comparison of yourself with others will only result in the evolution of negative feelings and unhealthy competition. Everyone has got his or her strengths and weaknesses. It is more important that we understand ours and work on it. I have seen many times that so-called โ€˜fundoo-programmersโ€™ (fundamentally strong programmer) also make silly mistakes. So, analyze yourself, list your areas of improvement and work on it. Programming is a really fun, enjoy it.

57 thoughts on “How to Become a Good Professional Programmer?”

    • you can try this one
      https://www.amazon.com/Program-Objects-Version-Edition-Deitel/dp/0133378713
      but if c++ isnt your fancy they have other great books for other languages in the same line of books
      also try the MIT opencourseware, they have great lectures

      Reply
    • You are not dumb man, all of us felt the same, it’s just some people started earlier or had more help than you, or have more information than you, and they will never tell you that so you have illusion they are smarter then you. Programming is for everyone i seen it myself. Go slowly, it takes years. My friend was learning basics of java for two years! Now he’s lead developer in a big company, he started when 30 years old. It’s never too late or too hard. Read technical book, and write code for 3-4 hours a day minimum and you are good, in one year you are ready for job.

      Reply
  1. Very good advice, thanks! My advice to the author is to study a bit less of the programming languages and to learn more of the english language. There are quite a lot of grammar errors on this article – as well as some improper slang, which make it difficult to read.

    Reply
    • Speaking of grammatical errors, let me correct you:
      Quite a lot of grammar errors IN this…

      As well as some improper SLANGS….

      which MAKES it difficult to read.

      Check your own grammar, The author is almost perfect.

      Reply
  2. Wonderful article Vicky. The only suggestion I would add is to not just read documentation, but to write good documentation as well.

    Reply
  3. Great article.

    I love the part where you advise beginning programmers to contribute to forums and not only to consult them. It’s true that you learn a lot and gain confidence as you can help others.

    Reply
  4. The advice to help others is morally beneficial and of extreme benefit to the one helping. If you can explain something to someone else it helps solidify one’s own knowledge and is good karma!

    Reply
  5. Very nice and interesting article. With the help of this topic, I enhanced my blogging strength. Thanks a lot for the great and informative information.

    Reply
  6. Great things you mention. Very useful. I am currently learning computer science and hope to become a good programmer.

    Reply
  7. hello sir….
    I read your full article and liked so much..!!
    I want to ask there are some people who keeps coding every time and are good in programming but i have just started and want to be an ethical hacker. But sometimes its hard to compete with them…!!

    Reply
  8. In our opinion when you want to become a good programmer, start learning other programming languages. When learning other languages you are forced to do thing in a different way. This will help you improving your skills. Thank you for this blog. ๐Ÿ™‚

    Reply
  9. I don’t know even the basic of programming but my fried do can it will help me creating a malware that can make a mobile go cragy

    Reply
  10. Hello Sir, this one block getting the more knowledge about how to prepare for good programer , and how deal with old and new technology for good Handling and the our works in official spaces. Thanks sir

    Reply

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.