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 la loro capacità naturale.
Percezione del tempo
I ragazzi intelligenti sono abituati a risolvere i problemi in modo relativamente rapido. Ricordo di essere rimasto sbalordito quando ho dovuto passare un'ora su un singolo problema di calcolo. Trascorrere 60 minuti in un problema non è più niente. Quei giorni sono finiti ... seppelliscili e salutali. La complessità e le dimensioni della maggior parte dei software oggi sono scandalose. Le persone non capiscono tutti gli strumenti che devono usare per fare le cose più a lungo. Uno degli uomini chiave del linguaggio JavaScript, Douglas Crockford ha detto,
"Misapplication of standard tools...is the new standard."
Non c'è abbastanza tempo al mondo per imparare tutti gli strumenti di sviluppo.
Abilità naturale La
tua intelligenza, capacità di problem solving e abilità naturali ti hanno portato a tutto il concerto degli sviluppatori in primo luogo. Non c'è proprio spazio per niente di meno in questo campo. Quindi cosa fai con 100.000 righe di codice, linguaggi e framework che conosci a malapena, modelli di design e paradigmi che le persone ti stanno spingendo, ragazzi che ne conoscono la maggior parte come il palmo della loro mano, i clienti che lo vogliono ieri e un capo chi si aspetta il mondo da te? Sfogati quando la tua abilità naturale fallisce.
Sì, è normale. Continuo a dare di matto con alcune delle cose che mi vengono buttate da parte.
Cosa si può fare?
È tempo di migliorare quelle abilità naturali con un buon lavoro vecchio stile. Lavora per scomporre 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 essere risolti. Quindi non arrenderti dopo soli 15 minuti di esame di un problema complesso. Invece, abbatti i problemi e smetti di guardare l'orologio. Dopo un po ', 30 minuti di lavoro su un problema non sono più quelli di una volta.
La fiducia in se stessi gioca un ruolo importante nella capacità di autogoverno. Lo stesso vale per il team, in particolare per gli anziani più esperti. È bene stare attenti a non rompere le cose, ma ciò non significa che è necessario porre un flusso costante di domande.
Utilizzare invece il controllo del codice sorgente. Finché non si verifica una modifica, non è possibile interrompere il prodotto principale e far arrabbiare gli altri sviluppatori. Inoltre, apporta le modifiche che puoi comprendere e testare e assicurati di testarle bene prima del check-in.
Ho anche un piccolo progetto di test che utilizzo per scrivere programmi semplici e una tantum, quindi non devo preoccuparmi di tutto ciò che accade nell'applicazione principale.
Infine, ricorda che ogni decisione arriva con un certo livello di dare e avere. Non si può andare avanti senza fare una sorta di sacrificio ad un certo livello. Non cercare la perfezione, lottare per la bellezza ed essere consapevole delle tue azioni. Perché devi sempre essere pronto a prendere le critiche e spiegare le tue idee e perché le hai fatte. Sii orgoglioso delle decisioni che prendi. Anche quando si sbagliano c'è molto da imparare.