"I'd like to see a college major focusing on the various skills of human persuasion...." ☛ Scott Adams

I think technical people, and engineers in particular, will always have good job prospects. But what if you don't have the aptitude or personality to follow a technical path? How do you prepare for the future?

I'd like to see a college major focusing on the various skills of human persuasion. That's the sort of skillset that the marketplace will always value and the Internet is unlikely to replace.

"Teams burn a lot of time relearning the same lessons people were learning decades ago." ☛ Jason Gorman

It's worth remembering in this shiny nuclear-powered Agile era that Tom Gilb wrote Principles of Software Engineering Management over 900 years ago. Or thereabouts. What's new is us young upstarts hearing about it for the first time and thinking we've discovered something new. And I can't help feeling that's partly because we're not exposed to folk who've been around long enough to remember. Teams burn a lot of time relearning the same lessons people were learning decades ago.

“I can sleep when the wind blows.” from Accountability in Software Development

Once, a farmer interviewed a young man for a job as a farm hand. One thing the young man said particularly puzzled the farmer, “I can sleep when the wind blows.” The farmer didn’t know what this meant, but the young man seemed competent and knowledgeable and so he was hired.

A few months later the farmer was awakened in the middle of the night by a thunderous wind storm. Panicked, he raced to the cot where he found the farm hand fast asleep. Shaking him roughly awake, he demanded, “We have to bring in the animals!”

“They are already in.”

“We need to fasten the windows.”

“They are already fastened.”

“We need to tarp the hay.”

“It’s done.”

After going down his list of worries and being reassured that they were already taken care of, the farmer finally realized the meaning of the young man’s puzzling statement. By taking care to finish every job and leave the farm safe every night, the farm hand could sleep when the wind blew.

"Planned reuse has been widely discredited in software development..." ☛ Jason Gorman

Planned reuse has been widely discredited in software development, especially after the Big Push For Reuse that we saw in the 90's.

Writing code on the basis that it may be applicable in multiple future scenarios is speculation, and speculative generality is considered a code smell. The danger is that when the future comes, the reusable generalisation we planned turns out to be not quite what is actually needed, or doesn't quite fit all the scenarios, or - more usually - that the future eventuality never comes up.

Software development is hard enough when we have to write code that satisfies today's requirements. Adding in a whole bunch of "what if?" code makes it even harder, we have found.

"...winning happens before the game starts..." ☛ Scott Adams #quote

My recommendation is to introduce eight-ball into school curricula, but in a specific way. Each kid would be required to keep a log of hours spent practicing on his own time, and there would be no minimum requirement. Some kids could practice zero hours if they had no interest or access to a pool table. At the end of the school year, the entire class would compete in a tournament, and they would compare their results with how many hours they spent practicing. I think that would make real the connection between practice and results, in a way that regular schoolwork and sports do not. That would teach them that winning happens before the game starts