Quindi vuoi sapere come diventare uno efficiente sviluppatore?
1) Devi sviluppare capacità di comunicazione
Prima di iniziare qualsiasi progetto, devi parlare con il tuo cliente (nel tuo caso il tuo capo) su ciò che vuole. La difficoltà qui non è solo capire, ciò che il tuo cliente dice , ma ciò che intende veramente - queste sono la maggior parte delle volte due cose diverse. Aiuta se ottieni i tuoi requisiti in frasi semplici. Più semplice è, meglio è. Potresti farlo formalizzato con "user story" o "story card", ma un semplice sistema di ticket lo farà.
2) Devi sviluppare un toolbelt e uno skillset
Come ogni buon artigiano, hai strumenti e abilità. Una parte degli Strumenti è Framework nella lingua in cui lavori. Più conosci (se per sentito dire o in profondità non importa) meglio è per te. Un'altra parte sono strumenti reali: buildtools, strumenti di monitoraggio ecc.
E poi ci sono abilità. In un primo momento: stai attento nella tua lingua. Più conosci la lingua in cui lavori e più riesci a risolvere i problemi in questa lingua. Conoscere la sintassi non è sufficiente: devi sapere come esprimerti nella lingua in cui lavori: come un autore che scrive prosa o poesia, devi conoscere la tua lingua.
Ciò include una parte importante - che trovo spesso trascurata dai novizi: la conoscenza delle strutture dati, la tua lingua offre: che tipo di strutture ci sono? come lavorano internamente? quanto sono efficienti?
Quindi è necessario avere una conoscenza pratica dei problemi che altri hanno già risolto (Algoritmi e Patterns di progettazione). Quanto meglio comprendi, ciò che altri hanno già fatto, più velocemente svilupperai la tua soluzione. A volte la programmazione è come mettere insieme tubi esistenti e il problema è risolto.
3) Pensa al tuo problema
Analizza il tuo problema da diverse prospettive: GUI, Backend, Database, Client, Server, qualunque prospettiva tu possa adottare.
4) Scrivi le tue specifiche in accept-tests
Solo quando la tua soluzione supera tutti i test di accettazione, sei sicuro di aver creato il prodotto giusto.
5) Inizia a scrivere piccole unità e testare quelle unità
Sia che tu scriva prima i test, come le scuse di TDD dicono o scrivono il codice e che il test non ha importanza, a patto che tu abbia dei test. Sei il tuo peggior nemico e nulla accade più spesso che rompere il tuo codice. La scrittura di test aiuta a rilevare la sciatteria.
6) Ricevi feedback precoci e frequenti.
Dopo aver scritto piccoli pezzi di codice e testato quei frammenti
mostra il risultato al tuo cliente. Parla dei risultati frequentemente e in profondità. In questo modo ottieni una sensazione migliore, per ciò che il cliente desidera e un riscontro immediato per quello che stai facendo.
The project took me 2 months and another developer said that he could do it in a month or less.
Quindi, quando un altro sviluppatore ha detto questo, ciò significa solo che ha più esperienza (più problemi già risolti) e una migliore conoscenza, come sondare una simile soluzione.
La programmazione è un'abilità come le altre. Devi allenarti e presto migliorare.