> I have looked into doing freelance work, but as I am self taught my CS skills are not as solid as other developers, and my design skills are just about average. I am more product focused, I try to work as closely to the end user as possible and clearly define what they need.
A couple of points if you choose to go the freelance path:
1. Very few clients will care about your CS skills. If you can develop commercially viable solutions that work, which it sounds like you can, you're ahead of 90% the freelancers out there. Dirty secret: a lot of people with CS backgrounds don't write beautiful code and couldn't architect a commercially viable application on their own to save their lives.
2. A lot of freelance developers are incapable of working with clients to shape product, and a lot who can don't like doing this work. The people who make the most money as solos are those who can craft solutions, not those who crank out code. So it sounds like you have skills and interests that would serve you well.
Very much agree with the second point. And not just how it relates to the actual project work, as a freelancer, you also need to be prepared to do a lot of things that aren't development. Tools and consultants are available to help, but invoicing, insurance (if applicable, depends on your client types), taxes, proposals, etc etc all have to be overseen by you if not actually done by you. Personally I have been fine with those tradeoffs, retaining a high degree of autonomy in exchange for some less than interesting tasks. But it's a tradeoff you have to be willing to make if freelancing is going to be the source of your livelihood.
Edit to add: especially if the target client js less than savvy, they're going to really appreciate working with a consultant who has the skillset the OP does. Frequently (and sometimes frustratingly) less savvy clients can take a very wide view of what a web consultant should be providing for them. Marketing as a product development and management guru can absolutely become a viable business as a freelancer. There are tons of other freelancers with other specialities whom you can sub to (if the budget and agreement allows) to fill out any gaps you may have in specific areas. Particularly things like design and UI that lend themselves to well-defined scopes and deliverables.
A couple of points if you choose to go the freelance path:
1. Very few clients will care about your CS skills. If you can develop commercially viable solutions that work, which it sounds like you can, you're ahead of 90% the freelancers out there. Dirty secret: a lot of people with CS backgrounds don't write beautiful code and couldn't architect a commercially viable application on their own to save their lives.
2. A lot of freelance developers are incapable of working with clients to shape product, and a lot who can don't like doing this work. The people who make the most money as solos are those who can craft solutions, not those who crank out code. So it sounds like you have skills and interests that would serve you well.
Good luck!