My feeling is that the first thing you should do is work out what you want or need to say on your site. That is, establish your content / message first. Then work out a logical way to present that information. From that, you get a clear idea of content layout. Then all you need to do is dress up the design a bit ... but there may not be much required.
Web design needn't involve Photoshop at all. You can design a site fully in the browser itself, and this is becoming more popular.
In terms of design skills, if you don't have them, just outsource them. I can create a decent look, but I'm no designer, and if something fancier is required, I hand that part of the job over to a designer and that part of the job gets billed separately. You can't be expected to do everything yourself. Play on your strengths. As a developer, you have very powerful skills, so I'd suggest you focus on those skills on your website. Make it clean and simple—a reflection of your own style. Then tell clients that if that's not enough for them, you'll bring in a designer to create something fancier. That approach works fine for me.
If you really want your own site to look nicer, then get your preferred designer to come up with a look for you ... and it will reflect what clients are likely to get. Just make sure to establish the content first, as described above. The big mistake a lot of site designers make is to create a pretty layout first and then squeeze the content into that design any way that it will fit, which is a really poor way to go about things.