Hai bisogno delle abilità per le persone , compresa la comunicazione, l'empatia, la gestione del tempo, la delega ecc. Le competenze tecniche non sono in realtà necessarie per guidare gli sviluppatori, anche se ovviamente non fa male se li hai. Ma le tue capacità tecniche da sole non ti faranno diventare un buon capo della squadra. E molto probabilmente non avrai il tempo di tenerli aggiornati, quindi aspettati che ottengano lentamente ma sicuramente arrugginito, il che significa che dovrai contare sempre più sull'esperienza dei membri del tuo team.
IMHO probabilmente una delle tue maggiori sfide (almeno inizialmente) sarà la delega di compiti. Finora sei riuscito a risolvere tu stesso i problemi, basandoti sulle tue capacità tecniche. Ora dovrai imparare a delegare compiti ad altri, e confidare che facciano un buon lavoro. Alcuni di loro potrebbero non essere capaci come te (pensi di essere :-), spesso è meglio delegare a loro, piuttosto che provare a fare tutto da solo. Ora sei responsabile per il lavoro di tutto il team, non solo per compiti specifici, quindi devi bilanciare per avere abbastanza tempo per l'intero team.
Come guida di una squadra, probabilmente devi pianificare in anticipo molto più di quanto avevi usato come sviluppatore. E anche a vari livelli, per un'intera squadra, non solo per le tue attività.
E per ultimo ma non meno importante: è molto probabile che tu debba comunicare molto più di prima, con molte altre persone (gestori di vari tipi, clienti, ...) che non sono sviluppatori. Devi imparare a comunicare con loro in modo efficace, ad esempio usando un linguaggio che possono capire. Ciò include parlare di business parlare con i manager che non comprendono il gergo tecnico, concentrandosi sul valore che una funzionalità specifica offre agli utenti, e sui costi, piuttosto che sui dettagli tecnici di implementazione.
Una lettura assolutamente raccomandata per questo è Peopleware: Progetti e team produttivi (Seconda edizione) .