Ci scusiamo se questa domanda è troppo aperta per il sito, ma mi è sembrato il posto migliore per chiederlo.Risorse per la creazione di competenze di ingegneria del software
Sono un programmatore autodidatta con poca matematica nel suo background formativo e che, nel corso di una carriera di dieci anni, si è mosso lentamente dallo scripting web front-end e dallo sviluppo web all'ingegneria del software middle e data-tier . Di conseguenza ci sono aree della mia conoscenza ed esperienza che sono un po 'carenti.
Dopo una recente recensione con il mio manager, mi è stato indicato che superare queste lacune era tutto ciò che c'era tra me e una promozione a un ruolo di ingegnere senior. Tuttavia, per ottenere ciò, dovevo trovare da solo un approccio strutturato all'apprendimento e dimostrare che avevo preso in considerazione ciò che dovevo sapere.
Personalmente identificherei le mie aree di debolezza come segue. Siate consapevoli che il problema in molti casi non è che non capisco, tecnicamente, come funzionano queste cose, ma che non vedo dove sia o non sia appropriato applicarle. Ad esempio, so cos'è un'interfaccia e, tecnicamente, quello che fa, ma ho difficoltà a distinguere quando è opportuno utilizzare un'interfaccia su, diciamo, un gruppo di classi OO correlate che ereditano da una classe base. Quindi è un po 'più ignoranza del buon design del software di quanto non sia l'ignoranza tecnica - ho difficoltà ad apprezzare, digerire e lavorare su cose come i sistemi con accoppiamento lento.
- Interfacce
- Delegati
- Design Patterns
- architettura di rete & protocolli
Inoltre ho mai fatto alcune delle cose di basso livello come compilatori e simili. A volte mi chiedo se farebbe una grande differenza per la mia capacità di scrivere codice che non è solo efficace ma ben ottimizzato se avessi una migliore conoscenza di questo tipo di materiale.
A volte la preoccupazione che non riesco a identificare punti deboli nel mio set di competenze perché non so come fare le domande giuste mi rapisce. Così, nella speranza che ho inquadrato la questione correttamente, mi piacerebbe vostri suggerimenti su:
- Dal suono di quello che sto attualmente mancano ci sono altri argomenti che dovrei pensare guardando?
- Dove sono alcune buone risorse per l'apprendimento di questo materiale?
- Esistono corsi strutturati e autodidatti su cui lavorare che siano rilevanti? Purtroppo non ho tempo per prendere una qualifica formale.
Cheers, Matt
Matt Vorrei anche partecipare a incontri serali basati su. Faccio fatica ad arrivare a tutti (come te ho dei bambini piccoli). Ma http://dotnetdevnet.com/ e http://cms.vbug.net/Regions/VBUG-Bristol/Bristol-Events.aspx sono locali e molto buoni. –
Matt, Sono in una situazione simile ora. Qualche consiglio basato sulla tua esperienza. – jaamit