Vedo che alcuni nuovi sviluppatori entrano in un lavoro e si sentono immediatamente inadeguati. Ho fatto lo stesso all'inizio della mia carriera. Penso che ci siano almeno due problemi principali che la maggior parte dei ragazzi intelligenti deve superare: la percezione del tempo e le proprie capacità naturali.
Percezione temporale
I ragazzi intelligenti sono abituati a risolvere i problemi in tempi relativamente brevi. Ricordo di essere stato sbalordito quando ho dovuto passare un'ora su un singolo problema di calcolo. Trascorrere 60 minuti su un problema non è più nulla. Quei giorni sono finiti ... seppellirli e dire addio. La complessità e le dimensioni della maggior parte del software oggi sono oltraggiose. Le persone non capiscono tutti gli strumenti che devono usare per portare a termine le cose. Uno degli uomini chiave del linguaggio JavaScript, Douglas Crockford ha detto,
"Misapplication of standard tools...is the new standard."
Non c'è abbastanza tempo nel mondo per imparare tutti gli strumenti di sviluppo.
Abilità naturale
La tua intelligenza, capacità di problem solving e abilità naturali ti hanno portato all'intero spettacolo per sviluppatori. Non c'è spazio per qualcosa di meno in questo campo. Quindi cosa fai con 100.000 linee di codice, lingue e strutture che conosci a malapena, modelli di progettazione e paradigmi che le persone ti stanno spingendo, ragazzi che ne conoscono la maggior parte come il palmo della mano, i clienti che lo vogliono ieri e un capo chi si aspetta il mondo da te? Sparisci quando la tua abilità naturale fallisce.
Si, è normale. Sono ancora fuori di testa con alcune delle cose che mi vengono lanciate a modo mio.
Che cosa si può fare?
È ora di migliorare quelle capacità naturali con un buon lavoro vecchio stile. Lavora per rompere i problemi in parti più piccole. E renditi conto che, a differenza di molte cose che potresti aver fatto in passato, questi problemi richiedono molto tempo per risolverlo. Quindi non rinunciare dopo soli 15 minuti di esame di un problema complesso. Invece, rompi i problemi e smetti di guardare l'orologio. Dopo un po ', 30 minuti di lavoro con un problema in realtà non sono più quello di una volta.
L'autostima gioca un ruolo importante nella capacità di autogoverno. Così fa la squadra, specialmente gli anziani più esperti. È bene fare attenzione a non rompere le cose, ma questo non significa che devi chiedere un flusso costante di domande.
Utilizza invece il controllo del codice sorgente. Finché non si effettua il check-in di un cambiamento, non è possibile rompere il prodotto principale e rendere arrabbiati altri sviluppatori. Inoltre, apporta modifiche che puoi comprendere e testare e assicurati di testarle bene prima di effettuare il check-in.
Ho persino un piccolo progetto di test che uso per scrivere programmi semplici e una tantum, quindi non devo preoccuparmi di tutto ciò che succede nell'applicazione principale.
Infine, ricorda che ogni decisione arriva con un certo livello di dare e avere. Non si può andare avanti senza fare alcun tipo di sacrificio ad un certo livello. Non lottare per la perfezione, sforzarti per la meraviglia e essere consapevole delle tue azioni. Perché devi sempre essere preparato a criticare e spiegare le tue idee e perché le hai create. Sii orgoglioso delle decisioni che prendi. Anche quando hanno torto c'è molto da imparare.