1. Problem-solving skills
Coding is like solving difficult math equation. You need to find a way to make everything works fine. At the same time you need to check if you didn’t spoil something else.
2. Good imagination
Good programmer is not only writing the code, but always try to find the best way to do it. He thinks about many different ways of writing the code and then choose the most efficient one to improve the speed and performance of the app.
3. Asking questions
Good programmer is asking a lot of question BEFORE even start thinking on developing the app. He tries to find all issues and problematic points in the future app and knows exactly how to solve them or make something in a different and better way.
4. Appetite for learning
Good programmer always learn new things. Technology is evolving really fast and the skills and abilities a programmer has today will likely be outdated in a few years. It’s very important to learn new things every day.
Good programmer is testing a lot. He wants his code to be bug-free and very efficient. He uses unit-testing, automated testing and manual testing whenever he only can.