The fact you think you suck already means you have drastically higher potential than a large number (perhaps even a majority) of developers
Far better to think you suck and know that you can improve than to think you're awesome and stay shit forever.
Humility is the number one most important defining trait shared by the world's genuinely great developers. I've met plenty of developers who think they're great, claim they're great, but repeatedly prove their development ignorance when they start talking about the subject. In contrast, I've never met a humble programmer that isn't either awesome, or well on their way to being awesome.