Benefits of abstract engineering
“Want to study photography? Grab a camera and go take some pictures. Want to be a writer? Start a blog. Want to be a civil engineer?” The following quote from Engineering Revision describes how to begin.
To be a successful software engineer (or indeed, any engineer), one first needs to be utterly and completely broken by failure. One must be so humiliated by a complex system that they give up and realize that the only chance of moving forward comes from being a supplicant to the complexity, by approaching it with humility and caution, not with hubris. You have to listen to the system, coax it into behaving. Commanding it does not work.