Prima di tutto, congratulazioni per aver capito che c'è di più nell'essere un programmatore che sapere semplicemente "come scrivere codice"! Con la tua attuale mentalità, andrai alla grande una volta che inizierai a lavorare.
Anche la maggior parte degli studenti che si laureano nelle scuole degli Stati Uniti non sanno come costruire sistemi completi da zero. Ci vogliono pratica e anni di lavoro per capire come farlo, e come farlo bene. Avere semplicemente la consapevolezza che avete bisogno di imparare a costruire sistemi software robusti vi aiuterà all'inizio della vostra carriera, perché sarete aperti al feedback di altri programmatori.
Il modo migliore per imparare è lavorare con un team di software esperto. Se vuoi costruire progetti completi da zero, cerca di ottenere un lavoro con una società di consulenza di sviluppo software/web. Costruirai nuovi progetti da zero diverse volte all'anno e avrai programmatori esperti che lavorano con te. Saranno in grado di darti consigli e feedback sul tuo software.
La prossima opzione migliore è quella di ottenere un lavoro di sviluppo software presso una non-consulenza. Avrai comunque la possibilità di costruire software ad un certo punto e lavorare con sviluppatori esperti ti aiuterà a solidificare ciò che hai imparato a scuola.
Se non riesci ad ottenere un lavoro con un team di software, allora inizia a costruire applicazioni semplici e rendile più complicate col tempo. Costruite una semplice app "hello world". Poi costruite un'app calcolatrice con input da linea di comando. Poi costruisci una calcolatrice con un'interfaccia utente. Diventa sempre più complicato a poco a poco. Dopo qualche mese, avrete un'applicazione robusta che avete costruito da zero.