Questa domanda in realtà colpisce da vicino oggi.
Vedi, il nostro team ha bisogno di un nuovo sviluppatore capo. Il nostro vecchio sta passando ad un ruolo diverso. Ha bisogno di un cambio di ritmo. Il nuovo capo deve provenire dalla nostra squadra attuale. Non c'è modo di aggirare la cosa. Qualsiasi importazione semplicemente non avrebbe il contesto necessario, l'esperienza o (francamente) le competenze rilevanti. Quindi qualcuno nel nostro team ricoprirà il ruolo e un nuovo sviluppatore sarà assunto e formato nella sua posizione precedente.
Il ruolo è essenziale, importante, e coinvolge un sacco di abilità umane che solo un membro del nostro team ha in quantità sufficiente (non io).
... e come il resto di noi, non vuole davvero il ruolo.
Vedi, i nostri leader tecnici si interfacciano molto con i clienti, e vanno a un sacco di riunioni. Il loro background tecnico è portato a guidare il quadro generale in modi importanti ed essenziali. Il rapporto con il cliente dipende dall'avere un buon tech lead.
Poi, il tech lead riporta questa prospettiva al team e permette loro di prendere decisioni su quali tecnologie usiamo, quanto tempo è un fattore. Cosa dovremmo usare rispetto a quello che possiamo permetterci di usare. La responsabilità si ferma con loro. Fanno le chiamate che il resto di noi non ha le palle di fare.
È certamente un lavoro influente. Si prendono grandi decisioni. Si buttano in giro un sacco di zeri. È, in un senso molto reale, un ruolo manageriale, che comporta molte responsabilità e sacrifici.
Uno di questi sacrifici è che non si arriva a scrivere tanto codice. Alla fine del suo mandato il nostro ultimo tech lead non scriveva quasi nulla.
Sono abbastanza sicuro che sia uno dei motivi per cui aveva bisogno di un cambio di ritmo.
Gli sviluppatori amano costruire cose con le mani. Siamo carpentieri di idee.
Uno del nostro team lo farà molto meno in futuro, in modo che il resto di noi possa continuare come prima.
Il nostro ultimo tech lead era eccezionale nel ruolo. Sono estremamente dispiaciuto di vederlo andare via, e ci mancherà moltissimo.
Lascia anche delle scarpe eccezionalmente grandi dietro di sé, e noi tutti le guardiamo con trepidazione.
Abbiamo circa un mese per risolvere il problema.
Il punto è, però, che forse state fraintendendo ciò che è la "codifica del software", come carriera.
Non è una carriera di merda dove si fa un lavoro ripetitivo per una paga affidabile. Lo stipendio è affidabile (e cospicuo) ma all'apice della carriera il tuo lavoro è tutt'altro che monotono.
Gli ingegneri informatici sono dei maghi. Sembra persino di essere un mago. Non un mago di scena, ma uno vero. I vostri pensieri diventano manifesti. Rendi i concetti fisicamente reali.
È indescrivibile come ci si sente quando questo diventa il tuo lavoro quotidiano.
... e, di conseguenza, indescrivibile come ci si sente a riflettere sulla prospettiva di rinunciarvi per una "promozione"
Gli sviluppatori che accettano promozioni che impediscono loro di sviluppare si stanno quasi sempre gettando sotto un autobus per salvare i loro colleghi.
Trattali di conseguenza.