Well, look at the positive side, as a CTO you probably don't have much time to code anyway. Jokes aside, did something happen before? Did a software not perform or caused problems? You say growth is fast. Sounds good and that means to make compromises here and there in software that might not fit your aspirations of quality. Is this a new position? Or did you see a topic that was just beyond you in any conceivable wa…
I've been CTO since the beginning but it was almost all coding in the early days. Now it is much more of a management role. I actually just started the process of stepping down and going back to being a developer because I dislike the management side of things a lot. I think I am questioning my abilities because we built things in questionable ways and now everything that I have done is being scrutinized by all new t…
Reading old code with a critical eye is an important part of working on a mature code base.
If an arrogant developer reads some questionable code, they will think "the author must have been stupid." They will ask this question as a way to satisfy their narcissism.
If a thoughtful developer finds some questionable code, they will think "the author must have had some motivation that I don't know about." They will ask this question to help them understand the system design and do better work.
Both attitudes lead to the same question. You could start by assuming your new team members are thoughtful and want to learn. They will understand that "we were under time pressure" or "we didn't know about xxxx technique" is a valid answer to "why did you do it this way."
If you discover that your new team members have narcissistic tendencies, then you have a much bigger problem than justifying your own past decisions.