Lavoro per una società di consulenza piuttosto piccola, con circa 100 dipendenti, e sono con loro da circa un anno al momento. Questo è il mio primo lavoro fuori dal college. Come azienda non ci specializziamo in alcuna tecnologia specifica, ma la mia quotidianità di solito consiste in una sorta di programmazione .NET, che si tratti di ASP.NET, sviluppo personalizzato di SharePoint, ecc. I nostri progetti consistono generalmente nell'aggiungere funzionalità a , o espandendo, la base di codice esistente di un cliente. Raramente creeremo applicazioni web da zero.
Qualcosa che mi ha infastidito è la netta mancanza di qualsiasi tipo di metodologia o struttura che ci aiuti a fornire soluzioni di qualità ai clienti. Non conduciamo revisioni del codice, i test che facciamo sembrano deboli, la direzione tecnica sembra poco brillante. Sembra che sia stato fatto un piccolo sforzo per assicurare che il codice che il team si impegna in un progetto soddisfi qualsiasi tipo di standard di estensibilità e manutenibilità o aderisca a qualsiasi best practice per l'ambiente specificato. Dalla mia esperienza fino ad ora, lasciare che questa responsabilità esclusivamente al programmatore individuale produce risultati poco brillanti, specialmente quando sono coinvolti membri inesperti del team.
Vorrei sapere se questo è un business come al solito nel mondo della consulenza. Se lavori in una società di consulenza, mi piacerebbe conoscere le tecniche, i processi o gli approcci che vengono utilizzati per assicurarti che la soluzione sviluppata dal tuo team eviti di diventare un disastro, mentre con la restrizione che stai lavorando a un base di codice esistente del cliente che potresti non avere il controllo completo di. Cosa posso fare come membro junior del team per promuovere una cultura di produzione di software migliore?