Quando ero uno sviluppatore capo nel team, uno sviluppatore junior nel mio team è venuto da me e mi ha detto che sta avendo difficoltà a rifattorizzare un particolare pezzo di codice. Ho detto che ci avrei dato un'occhiata, solo per scoprire che era stato sviluppato da uno dei nostri altri sviluppatori leader attualmente in sede. Abbiamo finito per riscrivere la logica. Questo incidente ha portato a un po' di cattiva reputazione per la persona in loco.
Il motivo per cui cito questo incidente è che il codice che scrivi è un documento vivente di ciò che hai sviluppato per tutto il tempo. Questa è la ragione per cui le persone pubblicano i loro profili Github nel CV per mostrare le loro capacità di codifica.
Ora rispondendo alla domanda posta,
- Sviluppa codice leggibile. Il codice che scrivi deve essere il documento vivente di ciò che fa. Pensate che sarete la persona che lo manterrà in ambiente di produzione per i prossimi 10 anni.
- La vostra esperienza deve essere di N anni e non N volte anni. Lasciatemi spiegare meglio. Diciamo che hai 5 anni di esperienza, devi avere 5 anni di esperienza sul campo. Non, 5 volte un anno di esperienza. Quando ti senti a tuo agio con quello che stai facendo, tendi a fare la stessa cosa e a rimanerci. Questo porta alla tua stessa esperienza che si moltiplica nel tempo e non cresce realmente. Questo è il problema più grande tra la maggior parte degli sviluppatori.
- Non reinventare la ruota. Quando state pensando ad una soluzione per un problema comune durante il vostro sviluppo, controllate se qualcuno lo ha già risolto. La maggior parte dei problemi comuni sono già risolti e sono disponibili come libreria open source da usare. Potete semplicemente sfruttarli invece di scriverne di vostri.
- Strutture di dati e algoritmi. considerate nell'implementazione della ricerca di google (solo per esempio. Non so come sia implementata) lo sviluppatore, per errore, ha deciso di usare una struttura di dati più lenta che porta al ritardo nei risultati di ricerca, pensate all'impatto che avrà sugli utenti finali. Mentre non scriviamo codice per la funzionalità di ricerca, dovremmo usare la migliore struttura dati possibile e un buon algoritmo.
- Deve imparare almeno due linguaggi di programmazione. Un buon sviluppatore deve imparare almeno due linguaggi di programmazione. Questo per capire meglio quanto i linguaggi di alto livello siano simili. Sviluppa una migliore comprensione della sintassi e dell'uso.
- Assumere la proprietà, ma non essere il proprietario. Devi essere responsabile del codice che sviluppi. Non difenderti quando qualcuno trova problemi nel tuo codice.
- Scrivi test. Anche se non seguite il Test Driven Development. I software crescono nel tempo. Finiscono per avere molto codice indesiderato e anche funzioni complesse. l'unico modo per prevenire che le nuove modifiche abbiano un impatto sulle vecchie funzioni funzionanti è scrivere test. Così, quando una nuova funzione o routine ha un impatto sull'esistente, romperà il test e lo farà fallire.
- Essere gentili. Siate gentili con chi si unisce alla vostra squadra. Dato che stanno iniziando il vostro progetto, avranno molte domande. Trattali con rispetto come qualcuno ha trattato te quando sei entrato nel team di un nuovo progetto.
- Non sei importante. A volte le persone pensano di avere molta dipendenza nel progetto in quanto sapevano entrare e uscire dal progetto. Si comportano in modo arrogante. Ma, per favore tenete a mente che siete sostituibili. La nuova persona, il giusto sostituto, potrebbe inizialmente fare fatica. Ma alla fine capiranno. Quindi, capite che - siete necessari ora, ma non per sempre.