I agree with the approach that just researching and reading and looking is the best path to becoming a good designer. I think sometimes programmers are afraid of the 'artistic' realm because it's so subjective, or they think that they need to have some natural talent.
Most good artists work really hard to refine their craft. Natural talent is roughly as useful to a designer as advanced math skills are to a programmer. It can help in some areas, but just isn't required.
Look at popular sites that have similar objectives. How are they solving their problems using visual elements? How is information arranged on the page, how can it be broken down, what pieces are vital to functionality of the site, and which pieces just help improve aesthetic presentation (or don't improve it)?
While it's never cool to just rip off a site design, it's perfectly normal to borrow techniques or ideas and use them to create your own original design.
Make a wireframe first - this will allow you to effectively place the information on the page and think about architecture and functionality without worrying about the 'pretty' stuff. Then move onto an image mock-up that is a fleshed out version of the site. Don't be afraid to throw out designs and start over completely.
There are a number of graphic design principles you might pick up along the way. It's always good to keep them in mind, but my advice is just to go with your gut instinct for now. If you know any skilled designers, ask for feedback. Designers love to critique (in a nice way).
A lot people will suggest to just keep it simple and straightforward. That's great advice, but just remember: simple can be really hard.
As for an online resource, I think Web Design From Scratch provides a lot of good advice in one place. There are countless awesome resources online for design help and inspiration, so just keep digging and subscribe to blog feeds.
Good luck.