The most common thought is that coding whether it be as a software developer or a web developer can be improve through the use of tools. Although it’s quite true that tools help with the process it’s the person behind the code that makes the code what it is, and this is reflected in the final product.

As an individual it’s down to you to improve your developer and programing skills through self-learning and other different methods. Following are the ways that will help you become a good Programmer:

1. Practice & make Mistakes

The first tip is that you should keep practising the more you code the better you get at it and the more you make mistakes. Why is it important to make mistakes during your practices? The more you code the more you will realize your mistakes in error handling, designing, threading, etc. You will learn from these mistakes and the more you practice your craft the more better you will get.

Create a schedule or structure that you can work from to ensure that you learn effectively and ensure that you spend your time practicing different things such as a different coding language.

2. Self-learning from website and books

The most obvious choice on how to improve your skills would be to teach yourself more skills, specifically by concentrating on the areas in which you are lack experience in. A good place to start for most developers and programmers is to read through any technical, educational material available from a variety of sources for example Google have a website for developers that contain a lot of information and high-quality guides of best practices written by people with experience in various languages. Code academy,, W3 Schools, and HTML5 Rocks are also a good place to start depending on what you are looking for.

Books although considered old fashion by some are a good place to start, it is a good idea to build up a good reading list of technical books. Most technical books are written by authors with years of coding experience.

3. Reflect on your code

Reflecting on your code is very important, every-time you fix a bug in your code you should look and reflect back and see how you can avoid creating this error/bug in the first place and how to avoid it in the future. It would be good to practice good programing principles as well. A good book recommendation for this would be Code craft: The Practice of writing excellent code. There also informal rules that are also followed known as ‘best coding practices‘. Also use the reflection to fix any bad habits you have and adopt new habits which are good for you.

4. Learn from other programmers

Try working on a variety of different types of projects. Use every project as a method of learning, doing things your uncomfortable with is good. Through pushing yourself outside of your comfort zone and working with other programmers on tasks you are unfamiliar with you will be able to pick up new skills.

If the opportunity arises, try pair programming with other programmers and developers since this will improve the quality of the code and help you work better as a team member.  Whilst working with other programmers use them as learning opportunities, ask questions if you are unsure on how to do something just ask.

5. Work on Open Source code

Working on open source projects from places like Source Forge and GitHub and creating a fork of that project is often a great way of improving you skills and developing and programing, and spending time immersed in the code is a quick way to improving your developer and programming skill set.

Also work on reading and understanding other people’s code in open source projects. Write documentation for code you wrote or on open source code this will help you to understand your own code better and help to put you in the shoes of other people.

6. Review and Read Code

Following on from working on Open Source Code, take a look at the code of open source projects, or other programmers code, proprietary code, code from elsewhere and try to understand how they work. Look for patterns in the code and develop your skill, slowly you will develop your code sense. Developing your code sense will allow you to sense when things are not right and allow you to spot mistakes or gaps and allow you to fix things which you may have previously overlooked.

7. Be the best in your field or a ‘Jack of all trades’

There are two options which both work for Developer and Programmer, these are either to focus on mastering one specific programming language and to be the very best at this language. However it can be argued with ever changing technology and programing standards it would be best to be multi-skilled in this field, essential learn more than one language and be a ‘jack of all trades, master of none’, this ensures employ ability on some occasions and opens your eyes to how each language is different.

8. Get Involved in Social media, communities, blogs and mailing lists

Technology has made it easier to learn, essentially removing the barriers to learning, whereas before you may have needed to sign up to a class, now it’s much more simpler since all the information you can find is at your fingertips.

Getting involved in social media, online communities, blogs and mailing lists are a good place to start. Often blogs and mailing lists exchange or contain tutorials, guides and information and often highlight new features in new technology, language and API.

Participating on stack overflow, forums and other communities, is really important, since you can learn from these discussions, and by knowing what the problem is half the battle. It will give you a better stance on how to approach issues, how to formulate a solution are all important things to practice. Make sure to ask a lot questions in discussions and offer your own point of view as you will learn nothing unless you actively participate.

9. Write a Unit Test

If you write a Unit test you will find that it will help to complement your thinking and coding process, and thus the result will be you will be better at designing code. By writing a Unit Test it will help you to finding better names, abstraction, interfaced and abstract classes all of which will overall improve your code quality.

10. Do a Code review and send your code review to others to critic

Doing a code review is important, it helps you to become a good programmer and developer and can help you whether you are both the review and/or author. Through reviews you can improve you code sense and through receiving feedback from others, at the same time you can also help others to improve themselves. Quite often we’ve found that when you work on code sometimes because you’ve spent so long working on it you don’t notice your own mistakes and only a fresh pair of eyes can spot it. When having your code reviewed, any feedback you get make sure you ask for a more detailed review on any areas that you’re not too confident about.

11. Most important of all, Talk to others and have fun

When developing and programming it’s often quite easy to get detached from everything, but its good practice to talk code, share and doing white board sessions to brainstorm.