In many startups, the early work can be heavily tilted towards the business side. You have to figure out what you’re building before you want to actually start building. This means talking to customers, building a landing page, ad campaign, etc. Some companies may need more early technical development, but you’ve got problems if the business-side cofounder isn’t doing this.
You absolutely shouldn’t have to brainstorm how to fix your programmer’s bugs.
It sounds like you two weren’t a good fit. Maybe he was unethical, or maybe there were other issues. You wrote that you were eventually telling him “how” to do things; that’s not a level of interaction you should have to take or that most programmers I know would be comfortable with. A non-technical boss should just be telling developers the requirements and ideally the “why”, not the “how”.
You might want a technical cofounder, or an engineer who’d be willing to walk you through best practices in working with them. This will help you learn and set expectations for leading programming teams in the future.