It reminds me of the Robert A. Heinlein quote:
“A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.”
A broad range of knowledge can scaffold together to reach new heights. Some knowledge that at once seemed useless can come back later (in light of other, newer knowledge) to become quite useful.
This is synthesis, and to feed it you have to (as you point out) have a broad range of knowledge. You don't need deep knowledge in every area, sometimes just knowing the surface is sufficient. But by having a wide enough knowledge base you can draw on those other areas when needed or make those random observations that reduce seemingly intractable problems in one domain to solved problems from another domain.
It reminded me of a quote from Steve Jobs about a calligraphy class...
“If I had never dropped in on that single course in college, the Mac would have never had multiple typefaces or proportionally spaced fonts.”
You never know when a skill will come in handy again until you actually need it. I remember learning how to make logos using Inkscape several years ago on a whim, and now I have used those same vector graphic skills multiple times in CAD work or making graphics for a help guide for a product.
> Your value as a helpful and effective teacher will be widely recognized
Not so much. Think of it w/respect to a bell curve. Most of the people on the curve aren't going to give two hoots about learning. Of the rest, they may thirst for knowledge, but may not appreciate that someone who isn't them has what they perceive to be superior knowledge. All of this is very "interesting" to see play out when you start introducing 'variables' like age, sex, ethnicity/race, even professional titles.
And even if you are recognized as being a "helpful and effective teacher," people will not take kindly to not being able to access you on demand, for the most obvious of mundanities.
I spare everyone a religious example and go w/one of my favorite scenes from the Matrix trilogy. IIRC, in pt.II, there's the scene w/ the guy who betrays Neo and co., because he hates his life in Zion. He wants to return to 'life' in the Matrix. He's seated @ a table with a 'steak dinner and a bottle of red wine'. As he takes a bite of the steak, he mentions knowing that the steak isn't really there, but he loves thinking that it is.
I find that character to be representative of a great many people. Sure there are those who don't realize that there is a Matrix, but there are many more who are aware of it, and purposefully choose to pretend otherwise. And they don't take kindly to people saying anything that denies them that steak dinner.
So, learn for your own fulfillment with the understanding that the cost is quite high.
BTW, w/ regard to the OP, I think broad conceptual knowledge is best. Try to know a little about many things so that you can dig into subjects as needed.
The Matrix scene you are referring to is “Ignorance is Bliss” scene.
I think after we work with something for a long time it is easy to assume we know almost everything about that thing, or at least everything that matters, even though much of the time we are only exposed to a small subsection of it. We may be very effective and knowledgeable in an area in the context of our day to day work and lose sight of how much more there may be to learn about it. This is a shame because we may be missing out on more exciting and useful knowledge in an area we care about. Remembering that there is always more to learn and recognising that we may not know as much as we think we do about something is in my opinion important and can help guide further learning decisions.
* Keeping your body alive and healthy: what to eat, how to exercise properly, how to avoid diseases, how to avoid crime.
* Keeping your mind sane: how to think rationally, how to avoid mental traps (cults, scams, political mindkilling, superstition... i.e. various forms of manipulation and self-manipulation), what makes you happy and productive, how conditioning works.
* Gathering power: social skills, financial skills.
* Meta skills: how to acquire skills faster, prioritizing and managing your time...
And perhaps computer programming as a starting skill -- something that will nicely pay your bills until you become sufficiently great at the remaining skills.
Knowledge is best used in service of a bigger goal. If you have no goal, work on that instead.
Things are the way they are because of how they used to be.
That context paints everything. The more you understand it, the better you will be able to work within it, and predict what will happen next.
What I do care about is things in direct persuit of goals I wish to achieve. I like building things, so naturally I graviate towards the following:
- web & software development
- computer science
This isn't to say I just learn those topics only. There are a number of other fields that do not directly correlate to those topics, but the insight you gain from it is beneficial. Things like music & music theory are a good example, which ties into math.
Whenever I think of what is "worth" knowing I like to think of the Valve New Employee Handbook. There's a diagram called "T-shaped" people based on Team Fortress 2
Its on page 47 here. https://steamcdn-a.akamaihd.net/apps/valve/Valve_NewEmployee...
Essentially, it states a person should have a large breath of knowledge of many topics, but should have a specific depth of few related topics. Because people naturally seek others with specializations, but you need to understand other perspectives other than your own.
In this same example, my model "T" based model on the shallow side looks like thusly. Each of these shallow concepts complement the other "core" skillsets as well
- Welding & Woodworking & 3D modeling - It helps to know how to build something with your own hands, there will come a time where you will need this. It makes you realize that sometimes the best solutions are just hardware-based, you don't need software
- Understanding of how other industries work on a business-level, because the knowledge is applicable anywhere. I do business case studies almost everyday, industries include healthcare, nonprofit, education, restaurants, tech, startups, service-based companies, oil & gas, simulation based training, 3PL logistics, real estate, history, among many others. Knowing how other industries work gives you a wide variety of tools to work with, because many times solutions in one industry overlap with others.
- Fixing things. I do my own plumbing and do my own car maintenance many times. It relates to software development by having you getting used to knowing how to work with other existing systems, and familiarzing yourself with technical documentation across many things include reading AWS docs etc
- Cooking. Knowing how to cook properly highlights the importance of following directions properly before you mix up your own changes. You can't build that amazing recipe until you've made the base version, and done A/B testing for flavor enhancements. You can draw analogies to software A/B testing as well
- Art. Knowing how to draw helps you highlight the importance of sticking to one convention. Much like coding, you don't want to change your styleguides down the road. You need to know what type of art you are making - is it building design using vanishing points, or something more freeform like a portrait design? Its all about setting requirements and executing skillfully
- Playing Musical Instruments. Music is important in teaches you discipline. Unless you practice it everyday much like programming, you end up losing the ability to play it well. There's other analogies to draw here as well, related to math.
- Fighting. I did Brazilian Jiu Jitsu and Muay Thai. Its all about perspective and quick analysis when fatigued. You learn how you perform in times or stress because your getting clocked in the face
in a jab. You learn about paralysis analysis pretty quickly here, and learn about project management practices as a result
- Video Games. I learned alot of things growing up here. What it taught me related to my main interest is how many different perspectives go in making a final product. There's storyboarding, art, design, QA testing, programming, and much more. Software development is more or less the same, storyboarding is userstories, art is UX, design is frontend, QA is unit testing/CI, programming is backend. It might not be 1:1 but you get the point
- TV Shows / Animes / Fiction. You can learn a lot of life lessons here as well, assuming the plotline is realistic and believable. The military actually recommends the fiction novel "Enders Game" as part of its reading list for good reasons. https://www.businessinsider.com/commandants-reading-list-201...
There's many more fields you can draw analogies from. You gain wisdom learning many different fields, and have a larger "catalog" of things to pull from to know what is right and what is not.
Because you see so many things you'll just instantly know a lot of patterns. For instance, if you've tried hundreds of software packages, you'll know there is always a file menu bar uptop in every app. You'll know what the "window" pane for pane customization is usually always the 2nd to last option in many applications (adobe), and "help" is the last option here. The left pane is almost always some sort of folder tree structure pane for navigating on the larger scale. If its not its going to be a toolbar set instead.
If you learn adobe software suites, you'll know things like affinity designer , sketch, etc are all based on the same sort of UX layout, but different. Artboards will make sense, export personas, etc. If you learn one CAD package like CATIA,SolidWorks is simple to understand. The underlying logic is the same, and you realize its just applications of linear algebra.
Learning many fields makes learning other fields easier.
When you learn many fields you recognize the most important metrics that matter. You'll look at an item, and see many use cases that others don't see. A good example of this is an XBOX controller. You can buy a simulation military grade controller for 1000xs that price, or an XBOX controller for military controls. You can buy shelving, or buy cheaper shelving used at restaurants that do the same thing. You can make pasta and bread using a powerdrill with specialized attachments for 10xs less whatever it cost at stores. Because it runs the same type of motor. You can use a restaurant ticket rail as a paper holder. You can fix a coffee maker with inverter issues by turning on a blender because its windings increases inductance of the circuit the kitchen applies, filtering out higher frequencies used by a cheap inverter pulled from a hackernews comment.
You start to see how some items can be used in multiple applications. These include things like magnets, zipties, 10 different types of tape (industrial double side sticky tape, friction, gaffer, painters, magnetic washboard, ruler, duct, scotch, packing, note-colored tape) pinederby weights, cardboard, paracord, plastic bags etc. A good example is in First Robotics (e.g. students who compete in high school robotics), metal tape measurers are commonly used as a pole extension arm due to the fact you can use actuate it with just a gear pulley and still withstand its shape. You don't see items anymore as simply just what they are at face value, but rather by their functional properties (stick things together, store things) instead and meta data (weight, size, etc).
You start to see how some software has many types of applications. Another example is a macro app I use called phrase-express (similar to autohotkey / applescript). Its used to transcribe medical data entry correctly. But its used in so many other ways of automating, I use it to automatically write code snippets, screenshot things, text macros, etc. I use my bookmarking tool (pinboard) as a text backup of long posts I make, since it points to the right URL. I CTRL+A, CTRL+C to save documents via text-clip management tool called Ditto. I turn on captions on youtube videos all the time, so I can "speed-read" the video at 2 to 16xs playback speed, depending on content complexity and what I hope to get out of it.
You also realize that sometimes people use a piece of software for many unintended uses. In videogames, sometimes these bugs become features super smash bros & iframes, street-fighter and block cancellation, speedrunning. Another good example is the omnibar on the browser, that was not its intended use for using it as a google search. People will find to make things work for them as best they can. People will make full blown SaaS solutions with just excel, since that's all they know how to use.
You also realize the power of good formatting and storytelling. Mostly from reading too much terrible fiction from terrible authors, but occasionally finding some authors who make masterpieces. You take those ideas, and bring it to your own writing.
You start to realize who is and who is not worth following as well. You start to see who shares the same mindset as you, even if you've never met them. This could be tiny bits of metadata on someones github repo, all the way to just what they put on their blog. Many companies naturally use this as part of their cultural fit and hiring processes.
As a result you are able to unique generate novel ideas that sometimes are better than anything you find off the shelf. Sometimes these ideas become plugins and extensions that many users use, othertimes it becomes a business that no one else has thought of that you end up doing instead. Because you already are familiar with so many things, you don't need to do any research. Competition is validation. You can filter out what is garbage advice and what is not. You've seen what works & what does not, its pure instinct now. You rely on your own set of experiences across many fields to make the assessments for you. You can instantly crowd source solutions to ideas on reddit, youtube, amazon etc, without ever asking anything, because its all there already. You learn when reinventing the wheel is a good thing and when its a bad thing.
Learning different fields is one of the fastest way to gain wisdom and experience to make better informed decisions
And I am still surprised by how many programmers also love woodwork.
I don't do much woodwork right now don't have space for a woodshop, but I really enjoy watching Matthias Wandels creations here. https://www.youtube.com/user/Matthiaswandel
And all the others, too.