Nel nostro team abbiamo sviluppatori di livello basso / medio: sanno come scrivere codice C # / JavaScript, ma la maggior parte è un modello di dominio anemico in un modo puramente funzionale di codifica, ma non ci sono test di unità, SOLID i principi non vengono rispettati, gli anti-schemi sono una pratica comune, solo le convenzioni di stile di codifica sono rispettate. MA la società sta andando molto bene, quindi possiamo dire che anche quello che stiamo producendo va bene.
Alcune parti del sistema hanno più di 10 anni, quindi con il tempo sta diventando sempre più un codice spaghetti / lasagna. La base di codice principale è solo 150k linee di codice per 3-5 sviluppatori.
Per essere sicuro di non dover riscrivere tutto in 5 anni, sto cercando di capire da che parte dovremmo andare. Quindi sto leggendo libri / blog ("Building Micro Services" di Sam Newman o "Patterns of Enterprise Application Architecture" di Martin Fowler per esempio) e sono pieni di grandi schemi, ma tutti sembrano aver bisogno di un livello di sviluppo superiore a quello che abbiamo qui.
Hai qualche consiglio su cosa, come direttore tecnico, dovrei provare a migliorare la qualità del nostro sistema senza perdere l'intero team (e il mio supporto CEO) perché sto rivedendo ogni singola riga di codice?
Ad esempio i microservizi mi sono sembrati una buona cosa, ma tutti i problemi con l'implementazione, la sincronizzazione dei dati e la configurazione mi sembrano come i tappi di scena.