Sommario[Nascondere][Spettacolo]
L'ingegnere 10X è un mito?
La realtà è che alcune persone sono più brave di altre a programmare.
Nella mia precedente posizione in un'azienda tecnologica, sono rimasto sbalordito da come alcune persone nel mio team sembrano sapere come fare tutto.
Anche durante il periodo universitario, partecipando a hackathon e stage, ho potuto incontrare alcuni sviluppatori di grande talento dai quali ho imparato molto.
In questo articolo, esaminerò alcune idee sbagliate che le persone potrebbero avere sull'ingegnere 10X. Dopo aver esaminato cos'è un ingegnere 10X non, esamineremo alcuni dei migliori consigli che posso darti per diventare un ingegnere 10X tu stesso.
Che cos'è un ingegnere 10X?
Molti sviluppatori discuterebbero dell'effettiva definizione di ingegnere 10X. Ma per motivi di chiarezza, proviamo a definire ora una definizione semplice.
Un ingegnere 10X è uno sviluppatore di software in grado di essere produttivo come dieci dei suoi colleghi.
L'idea dell'ingegnere 10X potrebbe essere nata prima di quanto pensi.
A documento di ricerca dal 1968 intitolato "Studi esplorativi e sperimentali che confrontano le prestazioni di programmazione online e offline" proponeva per la prima volta l'idea che alcuni dei migliori programmatori eseguissero un ordine di grandezza meglio dei peggiori programmatori. Sebbene questa non sia la definizione concordata oggi, l'idea dell'ingegnere 10X si è presto diffusa al di fuori del mondo accademico.
Qualche anno dopo, il classico libro The Mitico uomo-mese ulteriormente illustrato l'idea dell'ingegnere 10X. Lo suggerisce l'autore Fred Brooks lo sviluppo del software le squadre potrebbero essere strutturate come squadre chirurgiche.
In questa squadra, avresti un capo programmatore o "chirurgo" con programmatori o "infermieri" di supporto.
Sebbene questa analogia sia facile da capire, credo che sia un po' semplicistica e obsoleta se applicata allo stato attuale dello sviluppo del software.
Le dinamiche di squadra in un team tecnico sono molto diverse da quelle di un chirurgo. Questa idea di una singola persona che fa la maggior parte del lavoro o solo il lavoro più impegnativo ha caratterizzato erroneamente ciò che credo dovrebbe essere un ingegnere 10X.
Idee sbagliate comuni
Poiché l'idea dell'ingegnere 10X si è diffusa in tutta la sfera tecnologica, la maggior parte dei manager spesso interpreta erroneamente ciò che intendiamo per "10X".
Un malinteso comune è che gli ingegneri 10X producono una quantità di codice dieci volte superiore rispetto ai loro colleghi. Questo semplicemente non è vero.
Mentre un ingegnere 10X potrebbe produrre più codice dei suoi colleghi, la quantità non è la metrica giusta. Immagina un programmatore che spende mille righe di codice per eseguire ciò che potrebbe essere fatto in meno di cento. Allo stesso modo, un ingegnere 10X non codifica dieci volte più velocemente!
Un altro malinteso sugli ingegneri 10X è che sono fantastici semplicemente per le loro conoscenze di codifica. Ancora una volta, questo è un altro caso di guardare la metrica sbagliata.
Ciò che rende così prezioso un ingegnere 10X è il modo in cui aggiunge dieci volte il valore al suo team e alla sua organizzazione. Un ingegnere 10X è indispensabile per la sua capacità di utilizzare le proprie conoscenze di codifica e di allinearle alle esigenze dell'azienda.
I manager dovrebbero cercare ingegneri in grado di risolvere i problemi e lavorare bene con gli altri. Al di là della conoscenza del codice, gli ingegneri 10X dovrebbero essere in grado di elevare il lavoro di tutti coloro che li circondano.
Cinque modi per essere un ingegnere 10x
Questa sezione è per te se sei un manager alla ricerca della tua prossima assunzione o semplicemente un ingegnere che aspira a diventare un ingegnere 10X.
Ecco alcune delle abitudini e dei tratti chiave di un ingegnere 10X:
Sanno come sfruttare al meglio il loro stack tecnologico
Conoscere i tuoi strumenti è forse il consiglio più ovvio che posso darti. Tuttavia, molti sviluppatori possono ancora migliorare il proprio flusso di lavoro imparando a lavorare in modo efficiente.
La maggior parte degli ingegneri 10x con cui ho lavorato conosce il terminale. Anche se può essere un po' una curva di apprendimento per i principianti, capire come eseguire comandi di shell al volo ti aiuterà a svolgere il tuo lavoro molto più velocemente a lungo termine.
Anche gli ingegneri 10x possono trarre vantaggio dall'essere un po' pigri. Lascia che ti dica cosa intendo.
Immagina di dover eseguire manualmente una serie di comandi ogni giorno per inviare nuovi commit alla produzione. Un ingegnere 10x dovrebbe evitare di svolgere attività ripetitive. Fanno lo sforzo extra per automatizzare il più possibile la giornata.
I migliori ingegneri dovrebbero anche pensare a lungo termine. Se stai lavorando per una startup, potresti essere tentato di concentrarti su soluzioni facili e veloci. Tuttavia, queste soluzioni potrebbero non scalare verso l'alto.
Non smettono mai di imparare
Un grande sviluppatore non smette mai di imparare. I migliori ingegneri trovano il tempo della loro intensa giornata lavorativa per provare nuovi concetti, linguaggi e framework che possono provare ad applicare al loro lavoro.
Un ingegnere 10x dovrebbe mantenere un sano senso di curiosità. Spesso si chiedono: "Si può fare meglio?" o "Esiste un modo più semplice o più efficiente per risolvere questo problema".
Pertanto, un ingegnere 10x deve padroneggiare l'arte dell'apprendimento stesso. Imparare a imparare è il modo migliore per rimanere a galla in un ambiente frenetico.
Sanno come trascorrere al meglio il loro tempo
Un grande ingegnere del software è bravo a prendere decisioni, in particolare su cosa fare del proprio tempo.
Gli ingegneri 10X raramente hanno bisogno di lavorare più ore rispetto all'ingegnere medio. Gli ingegneri dovrebbero sapere quando respingere e dire di no a determinate richieste. Dovrebbero sapere quali compiti svolgere da soli e quali compiti delegare.
Gli ingegneri efficaci dovrebbero padroneggiare come discernere se vale la pena svolgere rapidamente un'attività. Un modello mentale da tenere a mente è il principio di Pareto.
Il principio afferma che l'80% del valore del tuo lavoro deriva dal 20% del tuo impegno. In altre parole, non tutti i compiti sono uguali.
Cercano un tutoraggio adeguato
Un grande ingegnere può imparare così tanto da un veterano esperto del settore. Gli ingegneri 10X spesso si trovano alla ricerca di tutoraggio all'interno e all'esterno del lavoro per approfondire le proprie conoscenze.
Allo stesso modo, gli ingegneri 10X trarranno vantaggio dall'assunzione di un ruolo di tutoraggio per i propri compagni di squadra. L'intera squadra è sollevata dall'essere aperta ai suoi compagni di squadra più principianti.
Capiscono il business
In parole povere, l'ingegneria del software è solo un modo per i computer di risolvere un problema del mondo reale. Con questo in mente, un ingegnere efficace deve diventare un esperto del problema che sta cercando di risolvere.
In qualità di ingegnere, è un'idea intelligente fare uno sforzo per acquisire una comprensione dell'attività o del settore di cui fai parte. Un ingegnere 10x dovrebbe partecipare attivamente alle riunioni con altri dipartimenti.
Se l'ingegnere si impegna a capire cosa fanno gli altri dipartimenti nel contesto dell'azienda, diventerà un comunicatore efficace. Una comunicazione efficace aiuterà a impedire al tuo team di fraintendere i requisiti aziendali e le specifiche del progetto.
Conclusione
Spero che ora tu abbia un quadro più chiaro di come appare un ingegnere 10X. Dovresti anche avere una comprensione di cosa non è un ingegnere 10X.
Il consiglio di cui sopra è, ovviamente, solo una linea guida generale che può essere applicata a qualsiasi ruolo di ingegneria del software. Se vuoi scoprire come puoi essere il migliore Ingegnere DevOps, sviluppatore full stack o data scientist, l'opzione migliore è trovare opportunità per imparare e creare.
Pensa se la tua posizione attuale è un buon ambiente di apprendimento. Forse vuoi dedicare più tempo a lavorare su progetti collaterali che ti permetteranno di esplorare tecnologie al di fuori del tuo attuale stack tecnologico. Questi sono solo alcuni dei suggerimenti che puoi seguire per ottenere un vantaggio tecnologico.
Quale pensi sia il consiglio più utile per gli aspiranti ingegneri?
Lascia un Commento