Управление, коммуникации, лидерство, психология, и все эти дела - это хорошо. Но, чтобы быть руководителем отдела разработки чего-то высокотехнологичного или софтверного, обязательно нужно понимать суть этих процессов. А следовательно - нужно и покодить, и попроектировать, и поразрабатывать, и с конкурентами пободаться, и рынок изучить, и теорию всего этого постичь.
Не помешает даже знать полностью специфику проекта - как реализована архитектура приложений, многозадачность, какие алгоритмы используете и почему. Как раз многие такие вещи, вы, как руководитель и должны будете определять - направлять команду разработчиков в нужное русло.