I have been coding for about a decade now. I'm far from experienced, though, which is why I often ask myself, how can I be a better programmer? Here's what I've come up with.
Focus on software design principles and development practices. When you're just starting, you'll want to focus on language constructs (functions, control flow statements, things like that). But once you can write code without a syntax reference in hand, start learning about design patterns and development principles and practices. Acronyms like TDD and SOLID are things that can't help but improve your code (no matter the platform or language). Start with something relatively simple, like DRY, and move on from there.
Practice problem solving. If you know how to solve a problem, writing the code to do so isn't all that hard. The difficult part is dissecting the problem and figuring out the right approach. For the most part, problem solving skills can only grow with experience (design patterns are very helpful here). I've found that working through problems like the ones available at Project Euler is a great way to get that some of that experience.
Always be learning something new, for work or for fun. Tinker with a new language, design pattern, platform, or library whenever you can. Once you've reached a level of proficiency in the language and tools you use daily, it's easy to stop learning new things. Don't let that happen. Create fun little projects that introduce you to new things. I've built a working cellphone with Arduino. I've written FizzBuzz in Befunge. These types of projects are great for mental stretching.
Master your tools. A big part of programming is using your code editor, terminal, and other tools well. Learn their features and commands; let them do as much of the work as possible.
Write code. Every day. Nothing improves you more.