He's trying to fuck you over. Remind him that he works for you, not the other way around. Start looking for his replacement. Check with a lawyer about the security of your own stake and make sure you are good with the business guy, because the CTO has probably been whispering poison in his ear about you.
+1 he works for you. He's got you ready leave because you doubt your abilities. It's one thing if your company needs all rock star engineers to make a product push but if it was that I'm sure you'd see it that way. That's an opportunity for you to shift focus to something else but it just doesn't sound like that. It sounds like he's trying to get rid of a technical founder. Don't let him.
yep and depending on your product, you might not even need a CTO until way later. Your ability to deliver a working product quickly and measure it's performance (metrics wise) is way more important than writing the best code evar.
FWIW, he may just have been saying exactly what the OP says himself:
"I have improved significantly in the last few months from where I was (generally unstructured development, no tests, poor formatting / naming etc., but functional, generally coding to working with others instead of by myself) but he has said that it's not enough.
We have hired another coder who I get along well with and I have learned from."
There's quite possibly a good argument to be made saying "this guy shouldn't have commit access to our code base" and it's not beyond the bounds of reasonableness to read into that "a few mid level developers under normal CTO oversight will give us a much better starting codebase than this guy is likely to deliver without significant extra training and experience".
Not saying that's definitely the case, but it's certainly plausible. (And I've seen it before, more than once... Hell, I've _been_ "that guy" myself, back in the day.)
It's one thing to say 'to be honest Bob, your code is pretty messy...' I'd have no problem with that, indeed as CTO it is part of his job to be honest and say that something should be rewritten or someone with deeper experience brought in to work on part of it if that's what's going to make the product better.
But it's another thing entirely to be telling a founder that they should be leaving. This is saying 'not only are you not good enough to write the production code, you're so awful that you shouldn't even be involved in the company you founded any more,' as if the OP has no possibility of developing him/herself as an owner of the business.
We took commit access away from our CEO once (who was also an owner). It was fine.
The fool who tells the business owner that he should probably leave _his own business_ may as well go and tie the noose to hang himself because that's what he's doing here.
Fuck what is right, fuck what the CTO thinks. The business owners always have the last say. This CTO is toast.
but the CTO wouldn't be saying that unless there was another "conversation" out there. Why is this guy CTO anyway while a Co-owner is left at coder? You don't bring somebody in as "CTO" without a promise of a cut of the pie... and that cut is going to come from you obviously.
I would be pissed that out of a four "man" team (2 founders, 2 employees) that the first employee would have the gall to ask them to leave. How is this acceptable? Only in the world of companies seeking funding.
If the CTO came and said hey in 6 months I think we should discuss you stepping away from coding and into a new role. I wouldn't want to hear it but if they told me to leave my very small company I would think they crossed a line. The CTO maybe management but he isn't the owner.
In this sort of circumstance, yes. There's no other justification for the actions they're taking and the manner in which they're taking them. The CTO is pursuing a course contrary to the OP's own interests. He need to take this seriously and start talking to his attorney.