And yeah, we failed, like most startups do, and I had to quickly scuttle to find another source of income. That sucked. Truth be told, I'm still paying off a lot of debts I made from trying to survive sans-salary.
But I have no regrets whatsoever about what I did. It didn't make me a better programmer, but it did make me better at helping employees out, it made me better at understanding productivity, and it gave me an overall better perspective on how to build great products.
And don't worry about engineers being smarter than you. Doesn't matter, that's the ideal anyway. The important thing is to be the one who listens and makes things better for the engineers so they have what they need to build a great product.
The salary part sucks, yeah. I basically had to moonlight when I was working as a CTO. This is where I would really advise you put some serious thought as to whether or not you would really be committed to this startup, because in all likelihood you'll wind up with a full-time-plus job as an underpaid executive, and you'll have to moonlight on the side in order to make up for the remainder of the unpaid bills. You won't have a whole lot of time for side-projects, if any at all. Not for a while anyway.
But seriously, don't worry about failure. As long as you listen you should be okay. Even if you're not, you'll still learn something, and it'll be really valuable for the next phase of your life. Case in point: I'm building my own startup now, and I have more confidence going into it because of the lessons I learned.
Oh, and one more final takeaway. You'll have to do some fighting. Your job as CTO of is to lead the technical element of the company, but fellow executives, or your boss, may occasionally step on your toes. Sometimes they're right, sometimes they're wrong. When they're wrong, stand up for yourself, be diplomatic about it, but don't be a pushover about it, and back up your case with some evidence. You'll win some and lose some, just try not to lose too many crucial battles.