Corollary: you do not need a non-technical co-founder. My advice to engineers is that it's nearly always easier to learn business/sales than to learn to like a co-founder, especially the type generally drawn to being a "business" founder. It is good to have a co-founder in general though, get one of those if you can. Just don't worry about finding complementary skills, bias entirely towards someone you can work with.
I'm currently the technical guy and would love to learn how to also be the business guy - what do I need to do to develop those skills? Getting your hands dirty is the best way to learn anyhting, so with technical topics, especially programming, I would just dive into projects and start coding, building things, and that's how I learned. In terms of business skills, what projects can I realistically undertake on my ow…
Don't waste time selling soap though (unless you really love soap) - my best advice is to try to sell something you've made. It could be your time (as a consultant), or it could be a product.
I would suggest waiting to develop these skills until you know what product you want to bring to market as an entrepreneur. No sense in learning B2C growth hacking when you end up in enterprise sales (or vice-versa).