Sono uno sviluppatore web principiante (un anno di esperienza).
Un paio di settimane dopo la laurea, mi è stato offerto un lavoro per creare un'applicazione web per un'azienda il cui proprietario non è molto esperto di tecnologia. Mi ha reclutato per evitare il furto della sua idea, l'alto costo di sviluppo addebitato da una società di servizi e per avere qualcuno di cui si può fidare a bordo per mantenere il progetto a lungo termine (sono arrivato a queste conclusioni da solo molto tempo dopo essere stato assunto ).
Pazzo come ero allora, con un diploma in informatica, ho accettato l'offerta pensando di poter costruire qualsiasi cosa.
Stavo chiamando i colpi. Dopo alcune ricerche ho optato per PHP, e ho iniziato con PHP semplice, senza oggetti, solo brutto codice procedurale. Due mesi dopo, tutto stava diventando confuso ed era difficile fare progressi. L'applicazione web è enorme. Così ho deciso di provare un framework MVC che mi avrebbe semplificato la vita. È lì che mi sono imbattuto nel ragazzo cool della comunità PHP: Laravel. L'ho adorato, è stato facile da imparare e ho iniziato subito a scrivere codice. Il mio codice sembrava più pulito, più organizzato. Sembrava molto buono.
Ma ancora una volta l'applicazione web è stata enorme. La compagnia mi stava facendo pressioni per consegnare la prima versione, che volevano distribuire, ovviamente, e iniziare a cercare clienti.
Poiché Laravel è stato divertente lavorare con me, mi ha fatto ricordare perché ho scelto questo settore in primo luogo - qualcosa che ho dimenticato mentre ero bloccato nel sistema educativo di merda.
Così ho iniziato a lavorare su piccoli progetti di notte, leggendo metodologie e buone pratiche. Ho rivisitato OOP, sono passato al design e all'analisi orientati agli oggetti e ho letto il libro di zio Bob Clean Code .
Questo mi ha aiutato a capire che non sapevo davvero nulla. Non sapevo come creare software THE RIGHT WAY. Ma a questo punto era troppo tardi, e ora ho quasi finito. Il mio codice non è affatto pulito, solo il codice spaghetti, un vero dolore per correggere un bug, tutta la logica è nei controller e c'è poco design orientato agli oggetti.
Sto avendo questo pensiero persistente che devo riscrivere l'intero progetto. Tuttavia, non posso farlo ... Continuano a chiedersi quando sarà tutto fatto.
Non riesco a immaginare questo codice distribuito su un server. Inoltre, non so ancora nulla sull'efficienza del codice e sulle prestazioni dell'applicazione Web.
Da un lato, l'azienda sta aspettando il prodotto e non può più aspettare. D'altra parte non riesco a vedermi andare oltre con il codice attuale. Potrei finire, avvolgerlo e dispiegarlo, ma dio sa solo cosa potrebbe accadere quando le persone iniziano a usarlo.
Riscrivo o continuo a provare a spedire o c'è un'altra opzione che mi è sfuggita?