Ho problemi nel portare l'ingegneria del software che ho imparato a scuola nei miei progetti nel mio lavoro.
I pattern sono tutti abbastanza facili da applicare, ma venire con architetture e strutture generali di classe è difficile per me. È così aperto e non so mai come affrontare i miei progetti, ad eccezione di qualsiasi progetto che si adatti perfettamente all'architettura MVC.
Ho lavorato su progetti sempre più grandi. Il prodotto finale funziona perché so testare bene, ma arrivarci è un inferno e tornare ad aggiungere funzionalità è peggio. Il mio lavoro di solito si riduce alla pianificazione dal punto di ingresso delle applicazioni e al pensiero attraverso i casi d'uso. Funziona alla fine, ma finisco con una bassa coesione e un codice strettamente accoppiato. Ho avuto abbastanza esperienza in uscita da scuola per iniziare un lavoro con più responsabilità rispetto ai programmatori entry level, quindi non ho i benefici di imparare da un team più esperto.
Il problema è che sono molto inefficiente. Una volta il mio capo ha detto che se avessi realizzato questi progetti più velocemente e con lo stesso livello di test potrei fare di più.
Quindi devo insegnarmi ingegneria del software. Ho letto molti libri, ma sono un po 'troppo astratti; Ho bisogno di qualcosa di concreto. Dove devo andare per imparare l'ingegneria del software di progetto reale?
Modifica Può essere d'aiuto sapere che a volte finisco con un codice pulito. Mi ci vuole davvero molto tempo per arrivarci, o mi arrendo e lo hackerò perché so che funzionerà. La maggior parte delle persone dirà che questo arriva con l'esperienza, ma ci deve essere un posto dove posso andare che dice: se il tuo progetto è così questo e questo, prova queste architetture.