We have a pretty complex project with 100 or so classes, multiple custom elements, etc. We got a new senior who will work on this project.
Questo in realtà è un piccolo progetto, a meno che le classi non siano state in grado di crescere fino a migliaia di righe di codice. Un progetto di 100 classi dovrebbe essere facilmente gestito da uno o due sviluppatori.
How can we make sure he does not break some other feature while fixing the current one?
Dopo ogni modifica, è necessario eseguire test automatici per garantire in larga misura che nessuna funzionalità sia stata interrotta. Tuttavia, ho l'impressione che tu non abbia questi test. In tal caso i bug sono quasi inevitabili, e si verificano sempre più frequentemente con l'aumentare delle dimensioni del codice. Puoi mitigarlo in qualche modo esaminando attentamente il codice prima che entri in produzione.
I have seen too many similar situation and such bugs are not noticed immediately, but sometimes months later.
Questo è il risultato di test inadeguati. Errori nella programmazione sono inevitabili. Tutto ciò che possiamo fare è ridurre la frequenza. La prima linea di difesa sono i test automatici.
Shall I direct him by first giving him smaller tasks and wait him finish them?
Dovresti farlo lavorare sulle attività con un altro sviluppatore esperto. Forse impareranno entrambi qualcosa.
... I also don't want to have nasty bugs created because of my bad approach to new guy.
I test automatici in gran parte lo impediranno. Ogni volta che viene scoperto un bug, creare un test che non riesce. Quindi correggi il bug in modo che il test passi.