I see the car analogy used regularly and I think it’s completely off base. A much better analogy for computer skills is literacy and numeracy. We don’t tell people “don’t bother learning how to read, you can listen to audio books on audible!” just as we shouldn’t tell people that computer programming is only for professional software developers (or anything else involving intensive skill mastery related to computers).
Being able to use a computer is like being able to drive a car. After a little practice and learning a few rules most cars are pretty easy to just get in and drive. It takes a little more effort to learn to drive stick, and formula one cars are only driven by professionals.
Computer programming is like building, modding, or repairing your car — you can learn but it’s an activity done basically only by hobbyists and professionals.
Troubleshooting computer issues is like car maintenance. Everyone can fill the tank with gas, most people can change a tire, fewer can change their oil, and fewer still can jump a battery.
Those are really poor analogies. What you call "using a computer" means using a pre-made application that turns the computer into an appliance. Instead of making inappropriate analogies (IMO usually a redundant phrase), look at where the tasks fit into Piaget's model of cognitive development.¹ Driving a car is the sensorimotor stage. Proficient computer use requires a high capability of the formal operational stage.
The bad news is that a lot of people will never attain the formal operational stage, and what is even worse is that the percentage of people that do is falling.² The results of this study are not surprising.
The take-away should be that it is pointless and counter-productive to try to dumb down the user interface for applications in domains that require a high level of cognitive development. No amount of picture icons and hamburger menus is going to make up for an inability to reason abstractly. What it will do is make it impossible for anyone to ever use the application efficiently.
Pretty much right. Yes its useful for almost anyone to know programming but we can't learn everything in the world that's useful. A carpenter is probably thinking its crazy I can't build my own bench and have to pay loads more for someone else to do it.
You can make a bench with 4 cinder blocks and a plank. Now a good bench ...
I guess the equivalent in computing would be spreadsheets? You can automate and build awesome things but god help you if you wanna move it somewhere else
As long as such a bench gets the job done, the person making it wins.
Similarly with spreadsheets. Sure, they get ugly. But they allow to get work done better and faster that it would be otherwise (if it was done at all). The alternative usually involves finding a ready-made domain-specific application and adjusting your (or your company's) workflow to it, or pestering someone to make it for you, both of which are frequently bad trade-offs. It takes time to arrange, often siloes you off your data, you have lots of irrelevant stuff to learn besides your task, and it prevents you from iterating on your workflow. I'd say the last one - iteration on workflow - is the biggest source of Excel (ab)use. Hard to lock down your process in a domain-specific tool if the details of that process are fuzzy and subject to change.
The idea of a house full of hacked together cinder block and chipboard furniture doesn't thrill me. It might work for a workshop but I think I will just pay for the expert made stuff in my house.
And car mechanics would look at you just as derisively for not knowing how to fix your own car. They would also say that fixing a car isn’t just for professionals. The average person doesn’t need to know how to program any more than the average programmer needs to know assembly (I do). Everyone is ignorant to someone who doesn’t knows something that they do.
Is it fair to say that because there will always be more specialized skills to be learned, that none should be learned?
Everyone may not need to know how to repair their car, but to perform basic, routine maintenance on it and to learn driving technique as intended is something that, when neglected, can cause major inefficiencies.
Specialization says just the opposite. That everyone should specialize in a combination of what they are good at and there is a demand because it is much more efficient and trade those goods and services that they specialize in for goods and services that they don’t. In the modern era instead of trading directly, we use money as an intermediary.
Economics 101 says just the opposite, that you create inefficiencies when you don’t specialize. Why is car maintenance anything that everyone should know and not plumbing, electrical work or carpentry?
> Economics 101 says just the opposite, that you create inefficiencies when you don’t specialize.
That's simply bullshit. If you specialize on only installing tires on cars, but not removing them, you have specialized more than a business that swaps your tires, but you have created massive inefficiency by requiring your customers to somehow move around vehicles without tires for you to install tires for them.
There are particular circumstances where specialization increases efficiency, and there are (obviously) other circumstances where specialization decreases efficiency, so it's nonsensical to just say that specializing is always the more efficient choice, which is why all your analogies fail: You use an example where specialization (arguably) increases efficiency, then you completely fail to explain how computer skills fall into the same category as that example, and then you conclude that therefore it is in the same category.
> And you left out the part where I said “and there is a demand”. There is no demand for someone who can remove a tire but not install it....
Well, then that's simply the claim that markets solve all problems optimally ... which is equally bullshit?
> Every specialization is about knowing the level of integration and specialization.
So ... specialization is always better, except when it's not? Yeah, duh!? How exactly does that help us with determining what the right level of integration and specialization is?
On a personal level, the “right level” depends on your disposable income and your talents. I have the disposable income to throw money at a lot of things that I don’t want to do - not bragging almost any software engineer in the US should be at the top quintile of earners for their local market.
On a broader scale that’s the entire idea of the value chain.
If you know nothing whatsoever about cars or maintenance thereof you will get taken by the salesman then you will run your cars into the ground burning money and then get ripped off every time you need someone to maintain or fix your car because you don't know enough to know when someone is bullshitting you.
People are expected to know SOMETHING about cars because they are frequently a huge expense that you are required to expend to be able to exist in a lot of places.
Econ 101 in this case assumes that time and money are fungible in any particular increments and that the money they earn doing whatever they are optimal at is greater than the cost of the specialists services.
Example someone making 20 bucks an hour needs a professional service that requires 3 hours of work for a professional at a cost of $900 learning to do so ineffeciently for 5 hours then spending 6 hours seems like a, huge waste but consider.
- Just because their labor is worth $20 an hour doesn't mean that they they can trivially in the context of their current obligations convert a day off into extra pay right when they need it.
- 11 hours x 20 hours will furnish 1/4 of the money required. Even given an immediate alternative it will require 45 hours of additional work.
Incidentally if you own a home you probably ought to learn at least enough basic maintenance to fix simple things.
Yes there are transaction costs to doing anything that you pay someone else for. In the IT industry it’s just like deciding to build versus buy and using managed services. Setting up a few VMs on Linode and hosting all of your own databases, queueing systems, etc is much cheaper than buying the same from AWS, yet and still organizations pay more for AWS everyday, why is that?
Every time you go out to eat, you are paying a markup over something you can do yourself - do you go out to eat?
Would it be more efficient for me to cut my own grass and maintain my yard on the weekend than pay someone else since I can’t convert that time I save on the weekend to cash - of course. But that’s time I can spend with my wife or relaxing. I also haven’t washed my own car, preferring to go to the car wash since I got my first real job out of college.
My maternal grandfather was a “man’s man” he built his own house, could fix cars, he took his pigs to the slaughterhouse and had a ranch with cows that he maintained until close to the time he died. On the other hand, my father isn’t as mechanically inclined, always looked up to his father in law and it took him years of convincing that it wasn’t emasculating to pay someone to do something that you’re not good at.
Doing a bit of maintainence can take you 2 minutes, having it done by an expert could take 2-3 man hours once all the inefficiences are considered (getting to the mechanic's shop, setting a price, waiting for things to be done, all the overhead of running and advertising the shop).
Based on my experience with talking to clients and observing them while doing B2B, if the average office worker had decent Excel and Googling skills (let alone the skills of the average vim user) they'd save a couple of hundred hours a year.
I guess a lot of those people end up in poverty, though probably not as many as it would seem it should, because the society does a lot of work to protect unwillingly innumerate people from exploitation, which makes it easier for lazy people to disregard numeracy without consequences.
Still, numeracy is not being able to multiply a bunch of 3-digit numbers on a piece of paper. Numeracy is primarily knowing which numbers to multiply, or add together, or subtract from each other to learn something you need, and that you can do this in the first place.