I am a terrible programmer, what should I do to improve?

What makes a bad programmer?1.  You’re bad at debuggingIf you are bad at debugging, you just have to develop the skill of isolating problems.  Get familiar with your chosen language and its error messages.  Lace your code with assertions to catch problems before they happen.  Learn how to use debugging tools (gdb) to step through your code.  Most of all, understand how your language works