Очень зависит от масштаба проекта. Где-то нужно больше технического опыта, где-то менеджерского.
А требования в общем такие:
1. Знать современные подходы к разработке архитектуры ПО и уметь их применять на практике.
2. Уметь собирать требования к продукту и валидировать их.
3. Уметь делегировать задачи и контролировать их исполнение.
4. Владеть управлением проектами. Как минимум знать, чем отличаются методолгии waterfall or scrum и понимать, в каких случаях какую методологию применять.
5. Базовые навыки HR тоже необходимы. CTO нужно уметь подбирать людей, с которыми будет комфортно работать и которые смогут выполнять поставленные задачи.
CTO, занимающийся непосредственно разработкой, уместен только в стартапе на ранних этапах. В иных случаях задача СТО - управление процессом разработки.