Now I'm much older yet my old habits are still here and I've realized that I, frankly, am a bad programmer. Which is kind of sad since I'm still very curious about software development and read the literature, keep myself updates with new languages, development methods, tools and libraries. I find pretty much everything from algorithms to interface design to be interesting, so it's not like I don't care - quite the opposite. With "bad programmer" I mean that it's difficult for me to even analyze basic problems and implement them in code. I often find myself going back to basics and looking up trivial information.
Should I just quit being a software developer? I find being a talentless hack far worse than being unemployed, but it kills me to think that I will never become a great or even good programmer.
I've been coding professionally for about a year now.
Addendum: I've received a lot of incredibly uplifting feedback in this thread and I just wanted to say to you all how much I value it and that I will take your advice about perseverance, getting more formal education, and having fun while programming to heart. Again, thank you very much Stack Overflow.