Tradotto dall'inglese dal sito: blog.teamtreehouse.com – 8-characteristics-of-a-good-developer
Imparare a programmare è il primo passo per diventare uno sviluppatore. Ma quali sono le altre competenze necessarie per essere un buon sviluppatore?
Abbiamo chiesto a Tommy Morgan, VP of Engineering di Treehouse, di condividere con noi i suoi pensieri sull'argomento e abbiamo compilato un elenco di 8 abilità essenziali per essere un buon sviluppatore, al di là del linguaggio stesso. :
1 – Una mentalità analitica
- Uno sviluppatore deve avere una mente analitica altamente sviluppata.
- Deve avere una passione per il problem solving. Non importa che tipo di sviluppatore sei. Amare la risoluzione dei problemi è una parte importante della programmazione.
- Devi avere la capacità di passare dalla foto generale al piccolo dettaglio (macro/micro).
2 – Curiosità e Curiosità
- Come sviluppatore, quando il tuo codice non funziona (o non funziona correttamente) non dovresti
abbiate paura di chiedere "perché" e continuate a scavare finché non trovate la risposta. - Quando lavori a un progetto, dovresti sentirti a tuo agio nel porre domande ai tuoi superiori, clienti o colleghi per comprendere appieno le aspettative e i requisiti.
- Devi essere disposto a sperimentare, sia imparando una nuova lingua, sia usando un nuovo approccio al progetto oa un compito. A volte avrai successo, altre no, ma le sfide fanno parte dell'essere uno sviluppatore.
3 – Empatia

- Tieni presente che il software è fatto per gli utenti. Riuscire a capire i propri utenti è, oltre ad essere essenziale, una prospettiva interessante.
- È anche importante essere in grado di stabilire la connessione, di comunicare con il tuo cliente e il tuo team.
L'utente deve essere al centro dell'attenzione sia per i designer che per gli sviluppatori. Per questo abbiamo creato JS-Republic ma anche UX-Republic, in modo che la miscela di culture e competenze operi per servire sempre meglio l'utente finale.
– Sébastien Berten CEO UX-Repubblica e JS-Repubblica.
4 – Flessibilità
Indipendentemente dal linguaggio di programmazione in cui sei specializzato, la realtà è che la codifica è "imprevedibile". Come sviluppatore devi avere la possibilità di cambiare progetti o contesti in modo imprevisto (per aiutare un altro sviluppatore in un altro progetto o per correggere un ticket ad esempio), e di riprendere il tuo codice da dove eri rimasto prima di 'switcher', e questo senza sprecare tempo in questi 'interruttori' successivi.- Devi essere in grado di adattarti e rispondere alle domande man mano che si presentano (quasi sempre inaspettatamente e spesso urgenti).
- Il settore high-tech può essere imprevedibile (molto competitivo, sensibile al time-to-market, violazioni della sicurezza, aggiornamenti di versione). Essere in grado di adattarsi alle esigenze della tua azienda o del tuo prodotto quando cambiano è molto importante.
5 – L'amore per l'apprendimento
- C'è sempre qualcosa di nuovo da imparare nella programmazione. Devi essere sempre attento e veloce per espandere le tue conoscenze.
- La programmazione è un settore incredibilmente dinamico e fluido. È in crescita, in continua evoluzione e in continua evoluzione. Come membro di questo settore devi rimanere aggiornato sia sulla programmazione in particolare che sulle nuove tecnologie in generale.
- Quando si verifica un bug o un problema, devi essere in grado di trovare e analizzare la causa per saperne di più sul problema prima di poterlo risolvere in modo efficace... e permanentemente.
In JS-Republic, coltiviamo le competenze e le facciamo crescere, con un'intera giornata al mese interamente dedicata al monitoraggio e alla condivisione.
– Sébastien Berten CEO UX-Repubblica e JS-Repubblica.
6 – Pragmatismo
- I problemi che incontri su un progetto come sviluppatore sono spesso unici. È importante capire che la soluzione migliore o almeno la soluzione 'corretta' non è sempre la stessa e dipende fortemente dal contesto e dal progetto. Ciò che potrebbe funzionare in un caso non funzionerà correttamente su un'altra architettura o con un carico maggiore o vincoli di sicurezza, ad esempio.
- Sebbene ci siano "migliori pratiche" nella programmazione e molti preziosi consigli possono essere appresi dall'industria e dai tuoi colleghi, come sviluppatore dovrai aumentare il valore del tuo lavoro e la tua capacità di risolvere i problemi. risultati desiderati seguendo regole e pratiche stabilite.
7 – La squadra

- In qualità di sviluppatore, non lavorerai solo con altri sviluppatori web, designer e ingegneri, ma anche con altri team all'interno della tua azienda. Potresti ritrovarti a lavorare a stretto contatto con marketing, supporto, vendite e persino direttamente con i clienti. Devi quindi essere in grado di comunicare bene/lavorare in team.
- Indipendentemente dal fatto che lavori in remoto o insieme al tuo team, la collaborazione e la comunicazione con i tuoi colleghi e le varie parti interessate sono fondamentali per il successo.
La comunicazione all'interno del team può essere effettuata con più mezzi (e-mail, telefono, Slack) ma è importante allestire punti di incontro fisici (DSM, Meeting o anche uscite fuori dai locali per uscire dall'inquadratura e prendere altezza tutti insieme.
– Sébastien Berten CEO JS-Repubblica
8 – Mentalità tecnica

- Come sviluppatore, il tuo computer è lo strumento principale su cui ti affidi giorno dopo giorno per portare a termine il tuo lavoro. Devi sia apprezzare che capire la "logica stupida" dei computer: fanno esattamente quello che dici loro, ma non riescono a pensare da soli e non puoi biasimarli per questo. Se non funziona, è colpa tua.
- Per estensione, essere a proprio agio al 100% con il computer e altre apparecchiature informatiche è ovviamente ovvio. Come quella di avere una cultura IT globale (sviluppo/sicurezza/reti....)
- Gli sviluppatori spesso si trovano a lavorare al fianco di persone al di fuori del team di sviluppo. Una competenza preziosa è quindi avere la capacità di comunicare chiaramente idee tecniche a persone non tecniche, in modo che possano capire quello che stai dicendo senza avere le tue capacità.
Il lavoro che svolgi come sviluppatore varierà nel tempo, così come il mix di competenze di cui avrai bisogno per svolgere al meglio il tuo lavoro. Se sei interessato alla prospettiva di entrare a far parte di un particolare datore di lavoro, ecco gli otto tratti che cercheranno di valutare in te.
Questi otto punti qui menzionati sono davvero punti importanti su cui ci concentriamo durante le nostre assunzioni alla JS-Republic. Almeno ora hai le regole del gioco...
– Sébastien Berten, CEO di JS-Republic
In base alla tua esperienza, quali altre abilità dovrebbero essere aggiunte a questo elenco?
[tipo separatore=”” size=”” icon=”stella”] [actionbox color=”default” title=”” description=”JS-REPUBLIC è una società di servizi specializzata nello sviluppo di JavaScript. Siamo un centro di formazione riconosciuto. Trova tutta la nostra formazione tecnica sul nostro sito partner dedicato alla Formazione” btn_label=”La nostra formazione” btn_link=”http://training.ux-republic.com” btn_color=”primary” btn_size=”big” btn_icon=”star” btn_external =”1″]
