Like programming good design takes practice. Just because you read a book is not going to make you a great designer. The question is are you willing to stop developing and put aside the time to design well or pay someone to do it for you.
You're right though about practice. That topic is on my outline.
IMHO if you've just started out on a startup - its better to be a designer because you can do customer devleopment without touching a line of code but by having a design which shows the customer exactly what to expect.
After you get a bunch of people begging you to build, then you build.