How common is this within the software industry?
Molto comune. Circa la stessa comunanza con un idraulico che distrugge il tuo impianto idraulico, un falegname che consegna spazzatura o un sarto a buon mercato che realizza un abito inadatto. Io, è tutto umano.
C'è una buona ragione per cui questo accade: persone che non sono veramente addestrate (o non entusiaste) a dover implementare qualcosa sotto pressione.
Questo non è un problema di quelle persone, principalmente, ma di solito delle strutture che circondano lo sviluppo del software in quella società. Ad esempio, un'azienda potrebbe avere un gruppo di stagisti sviluppare il proprio software interno; anche se i tirocinanti sono brillanti e ben informati, saranno lì solo per alcune settimane o mesi e la proprietà passerà frequentemente.
O qualcuno che è bravo nel dominio, ma non un programmatore, potrebbe hackerare insieme qualche applicazione VBA ecc. perché all'inizio sembra abbastanza facile.
Oppure un'applicazione ben fatta finisce nella fase di manutenzione, tutti i buoni sviluppatori vanno avanti, e viene quindi continuata ad essere sviluppata da poche persone (nel caso peggiore: uno) che ne sanno poco, che non hanno documentazione , ecc.
How can I ensure that I stay on top of OOP and the related principles? I practice in my spare time and I feel like I really need to work under a more experienced developer to get better at OOP.
Ci sono due possibili risposte:
- O: discuti di questo con il tuo capo e assicurati di entrare in progetti puliti. Se non è possibile, trova un nuovo capo.
- Oppure: assumiti la responsabilità per te stesso. Ciò significa farlo da solo - nel tuo tempo libero, o se puoi, in compagnia, ma guidato da te stesso (improbabile).
Se la seconda risposta suona troppo cinica per te, allora ti assicuro che non lo è. la maggior parte di un falegname che ha una falegnameria a casa sarà certamente un falegname migliore rispetto a chi non lo fa.
Ad esempio, è assolutamente possibile e un lotto di divertimento per alcune persone, ad esempio, scavare in una nuova lingua come Ruby, imparare non solo la sintassi, ma anche approfondire gli aspetti OO speciali di quella lingua, e davvero immergersi in profondità. Tutto nel tuo tempo libero, senza alcuna connessione con il tuo lavoro. Sarà solo un hobby, ma essendo il professionista addestrato che sei, può essere altrettanto efficace (o anche di più) come stare seduto accanto a qualche sviluppatore principale e cercare di seguire quello che stanno facendo. Questo sarà quindi strettamente per il tuo sviluppo personale e il tuo divertimento. Se non ti diverti a farlo, o se ti accorgi che non riesci semplicemente a capire, digita questo e torna alla prima risposta.
Lo sviluppatore principale che ti sta allenando ha abbastanza probabilmente imparato queste cose esattamente in questo modo ...