Sono uno sviluppatore relativamente nuovo, appena uscito dal college. Mentre ero al college e durante la successiva ricerca di lavoro, mi sono reso conto che c'erano molte metodologie di sviluppo del software "moderne" a cui mancava la mia formazione: test di unità, registrazione, normalizzazione del database, sviluppo agile (rispetto a concetti agili generici), stile di codifica guide, refactoring, revisioni di codici, no metodi di documentazione standardizzati (o anche requisiti), ecc.
Nel complesso, non ho visto che questo è un problema. Mi aspettavo che il mio primo lavoro abbracciasse tutte queste idee e insegnandomi a me sul posto di lavoro. Poi ho ottenuto il mio primo lavoro (full stack web development) in una grande azienda e mi sono reso conto che facciamo nessuno di queste cose. In effetti io, il meno esperto nel team, sono colui che sta guidando i tentativi di portare la mia squadra al passo con le tecniche di programmazione "moderne" - poiché temo che non farlo sia un suicidio professionale lungo la strada.
Per prima cosa ho iniziato con il software di registrazione (log4J), ma poi sono passato rapidamente a scrivere la mia styleguide, poi l'ho abbandonato per lo styleguide di Google - e poi ho capito che il nostro sviluppo web Java utilizzava controller frontali scritti a mano, quindi Ho spinto per la nostra adozione di Spring - ma poi mi sono reso conto che non avevamo nemmeno test unitari, ma stavo già imparando Spring ... e come puoi vedere, diventa schiacciante fin troppo rapidamente, specialmente se abbinato al normale lavoro di sviluppo. Inoltre, è difficile per me diventare abbastanza "esperto" in queste metodologie per insegnare a qualcun altro in esse senza dedicare troppo tempo a una sola di esse, per non parlare di tutte.
Di tutte queste tecniche, che vedo come "attese" nel mondo dello sviluppo software di oggi, come posso integrarle in una squadra come un nuovo giocatore senza travolgere me stesso e il team?
Come posso influenzare la mia squadra a diventa più agile? è correlato, ma io sono non uno sviluppatore Agile come il richiedente qui, e sto osservando un insieme di metodologie molto più ampio di Agile.