Scopri come essere più intraprendente in qualsiasi luogo, in qualsiasi momento.
Ad esempio, un ingegnere del software dovrebbe sapere come scegliere il modello di progettazione migliore per l'attività in corso.
Se usi Unix o Linux, impara e padroneggi vi, sed, awk, regex, perl / python, scripting di shell, ecc., abbastanza per essere in grado di automatizzare il più possibile le operazioni ripetitive. Se usi un IDE, impara tutto quello che c'è intorno. Questo sarà noioso e scoraggiante per cominciare. Ma vedrai quanto sono potenti questi strumenti quando quelli che li hanno padroneggiati li usano per delegare la maggior parte dei loro compiti banali al computer.
Toccare la digitazione / battitura più vicino alla velocità del pensiero può essere molto utile. Se possibile, impara Colemak o Dvorak dopo aver fatto delle ricerche su entrambi, in base alle tue esigenze. Entrambi sono noti per causare meno sforzo sulle mani e causare enormi guadagni di velocità.
Gli schemi di progettazione, come suggerisci, sono un argomento eccellente da apprendere. Mentre gli schemi di progettazione sono strongmente utilizzati nella programmazione orientata agli oggetti, i principi esposti nel codice completo sono ritenuti utili per i loro lettori che lavorano anche in altri paradigmi di programmazione.
Inoltre, L'architettura delle applicazioni open source è un libro eccellente e liberamente disponibile sul web. Questo libro si propone di mostrare le architetture del famoso software open source e di criticare le architetture. Molto simile a quello che uno studente di architettura frequenterebbe all'università, dice il libro.