October 21st, 2024
Even the way we learn can benefit from abstraction. A simple way to understand this is to think in terms of education versus training.
Training equips you with the skills to handle a particular job. You can get training to learn how to create web pages in HTML, CSS, and Javascript. But when these technologies are superseded by new technologies, as is inevitable, your expertise will be obsolete and you won’t be of any value to your employer.
But if you pursue education rather than training, you will find yourself better equipped to deal with change. You probably went to college expecting that your degree would get you a job. Silly you! That’s training, not education! Yes, training will get you a job — for now. Training gets you a job; education gets you a career.
Education is pitched at a higher level of abstraction than training. For example, a training program can teach you how to write the software for a website. But an educational program might include courses on writing, history, mathematics, and physics.
“How can courses like this help my career?” you ask skeptically.
They teach you how to THINK, each in a different way. Being able to write programs is not enough for any career. Being able to think will advance any career.
Writing
Writing is an immensely important skill to learn. Lots of young people today fake it by stitching together a bunch of crap they grabbed from an AI program. I started working on my writing skills in high school, and I have continued to practice writing throughout my life. I have five published books under my belt, dozens of articles in magazines and journals, and over 2,000 pages of text on my website. I practice writing almost every day by posting comments on various fora. I don’t waste my time trading insults, although on those rare occasions when I choose to insult an asshole, I do so with Shakespearean vigor. I struggle to compose truly informative, well-reasoned comments. Most of my comments are much longer than the average comment, although I do indulge in the occasional short squib if it perfectly captures the point I want to make. I sometimes review stuff I wrote decades ago, and I always wince at the clumsy blunders I made. I now realize that I will never be a truly good writer; I’m just not smart enough. My prose works. It marches along without trudging or stumbling, but it never leaps or soars.
The educational value of writing lies in the way it forces you to organize your thoughts carefully. Your first attempt inevitably falls into a dead-end or a contradiction or some other train crash, revealing how poorly you had thought through the issue. So you rethink matters and write a second draft. That reveals other flaws in your thinking, but if you’ve got talent, you’ll persist and slowly iron out the intellectual bugs in your writing until you’ve got something clear and communicative.
We interrupt this book for a short rant:
Most people couldn’t write their way out of a wet paper bag. Hell, they can’t even spell; I feel sorry for overworked spellcheckers expending trillions of machine cycles fixing sixth-grade mistakes. I NEVER need my spell-checker; my spelling is impeckable (well, almost). The English language is one of the most expressive languages on the planet; its half-million word vocabulary dwarfs almost every other language and the semantic precision of some of its words sets my heart racing. At the same time, the degradation of magnificent words like “gaslighting” by ignorami incites me to storms of logophilic rage.
Writing is calisthenics for the mind. Using AI is like using a robot to perform push-ups. So learn to write, dammit!
Mathematics
You will learn strict, rigorous thinking with math. It’s not the only good way to think; it’s not even the best way to think for most situations. But where it can be applied, it’s miraculous.
History
“Surely this cannot have any value to me as a software designer” you’re telling yourself. “What possible relevance can the ancient Romans have to my future?”
The value of history to you arises from learning how to perceive complex causal relationships. Reading how Casca stabbed Caesar won’t help you much, but figuring out the social and political dynamics that led to Caesar’s assassination will sharpen your thinking. Human history is not just “one damn thing after another”; it’s a long sequence of interconnected causes and effects. Mathematics will teach you how to march down a precise sequence of logical deductions; history will teach you how to navigate your kayak down a turbulent river of messy causal relationships.
Physics
This was my major in college; I earned a Master of Science. I could have gotten a PhD, but when I realized that physics professors lead lives of silent desperation and crabbed intellectual narrowness, I decided to pursue a broader education on my own. Even so, physics is ideal training for a software designer, because it teaches you how to reduce a complicated, messy, real-world problem to a form that can be handled with mathematics.
For example, with physics, we can reduce this:
To this:
The world of physics includes lots of basic phenomena that can be useful for completely different problems. For example, I once used the basic equations for spring dynamics to model the relationships among a group of people.
Other fields
There are lots of other fields of study that can prove useful in software design. My own interests include modern diplomacy, general history, military history, economic history, cognitive science, Desiderius Erasmus of Rotterdam, the history of thinking, linguistics, evolution in general and human evolution in particular, and geology. For each of these topics, I have at least a dozen books and, in some cases, many more. You wouldn’t believe my Erasmus library.
Keeping up with this stuff is part of your continuing education. You will of course need to continue your training, devoting at least ten hours a week to studying new technologies.
The moral of this story: A solid educational background will make your continuing training easier.