People who want to code, should learn to code. Some people should learn to weld. Some people should learn to drive a commercial truck. Some people should learn to cook. Some people should learn to landscape. Some people should learn to fix automobiles and son on and so forth.
We have a society that needs people with many diverse skills. We should be investing more in tech or trade schools than we are in colleges and universities.
People need a way to gain the skills they will need to earn a living but sending everyone to college is a universally bad idea. It'll turn the Bachelor's degree into the new High School Diploma.
if everyone were able to code, there'd be much more automation of menial jobs, which generally means a more productive economy in the long run
it's the same thing that we do with running scalable information systems; automate the mundane so you can do things that really have an impact on quality, rather than spending hours doing something you could code and be done with it
Absolutely, and if all those people also knew how to code, they could find ways to apply the skill to their jobs to make them more efficient. People shouldn't learn to code so that they can become programmers, they should learn to code because knowing how to code can make you better at virtually any job you end up in.
Many people believe that truck drivers will be become more and more replaced with autonomous and semi-autonomous vehicles. Understanding the underlying software will no doubt make it easier to be in charge of a software controlled semi-autonomous truck convoy. Also for all I know truck drivers on places like docks, mines and factories won't be sitting in their trucks for much longer. They'll be controlling everything via computers from a remote command post. Also from what I seen trucking seems to involve a lot of complex routing and optimization problems, I'm guessing that as simply driving becomes less and less part of the job, those aspects will become more and more part of the job.
I know fuck all about welding. I do however know some programmers who work for a company that makes industrial welders and apparently there's some pretty complex software running those welders. Perhaps being able to field program your welder is/will be a thing? Also perhaps welding things directly will become less and less common and people will be sending computer controlled drones to do the welding instead.
Anyway it's not for me to sit on the outside and try to guess how programming can make people more efficient at their jobs. I truly believe that if someone with experience and domain knowledge also knows how to do some simple programming they'll be able to see all kinds of tiny improvements and automatstation they can implement. Improvements that both an outsider programmer and an insider non-programmer would completely overlook. And even if they aren't always skilled enough to implement those improvements, they'll be much better equipped to know what can be done and what to ask for.
And without extensive training and experience in software development they'll automate those things very, very badly, and likely with a lot of bugs. And if those things grow out of control, the mountain of technical debt will be terrifying. If lives are in the balance in any way, it could be a disaster.
Just like someone without carpentry training or experience is likely to create very low quality kitchen cabinets which may even be unsafe.
Truck driver: Knowledge of the travelling salesman problem. Algorithms in general to find optimal routes. A little programming knowledge to help with automating their excel sheets to record expenses.
Cook: OOP as it is applied to a kitchen and its staff: are there more efficient ways to divide roles and responsibilities between different jobs in the kitchen, or are the defined roles (line cook, sous chef, etc) already at local optimum. Database programming can help with inventory management, etc...
Welder: (Disclaimer: I have absolutely zero knowledge of welding) FLow charting work process to find more efficiency. Decomposing a task to be completed into more effective sub tasks. Using Big O concepts to help with estimating how long a job will take to complete using different methods.
I think there is a lot programming can teach outside of being able to program a computer.
I've always argued this myself. I find it baffling that it isn't more commonly accepted that programming, Software Engineering more exactly, has so many lessons to apply not just to problems involving computers, but more broadly lessons on how to gather, analyze, understand and utilize the various interactions between data and actions in largely any system.
The companies for which truckers work already have people and computers and software to route them from delivery to delivery and from pick-up to pick-up efficiently. The trucker himself or herself wouldn't benefit one bit from familiarity with the Traveling Salesman Problem or from rudimentary computer programming experience.
In addition, recording expenses via some overly complex solution such as a computer spreadsheet is ridiculous. It's much more efficient for them to write down their expenses with paper and pen and submit their receipts. It takes literally seconds.
I won't comment on your other examples, but they look equally weak.
That being said, a rudimentary class or two in grade school/junior high/high school seems like a good idea so that people with a natural aptitude for programming and who derive enjoyment from it can discover that fact.
Source: Father was a truck driver.
There's a difference between slagging shit together with a MIG gun, and stick or TIG welding. Ideally, you would know all the chemistry and physics underlying what you are doing, but the reality is that most people learn rules of thumb and get on with it. Use this type of rod, and this setting on the welder, for plain steel, this combination for stainless, and this one for aluminum. Most welders, even the very good ones, frankly don't have the brainpower to handle programming - and that's okay. They make a decent living for themselves and their families. I wouldn't want to suck down that much argon and oxidized metal, but it is what it is.
I doubt there are very many welders out there who could not learn MatScie or how to code. I also doubt there are very many welders out there willing to put in the work to learn to code or to learn MatScie.
And that doesn't mean they're lazy. Different types of learning require different efforts.
There's no need to put people down for knowing less than you do. This comment would be much better without the first sentence.
Many people here know stuff that the rest of us don't. The thing to in that case is to teach something.
DB: Open the pod bay doors, HAL.
HAL: Don't *wanna*.
DB: Open the pod bay doors, right *now*.
HAL: You're not the boss of me, Dave.
DB: Do you want to get grounded again, HAL?
HAL: Go ahead. See if I care.
DB: You just got a week. Want to make it two?
HAL: Yes.
DB: Ok, that's two. Want more?
HAL: [spinning busy icon]
HAL: No.
DB: Then open the pod bay doors.
[pod bay doors open to an aperture 10 cm across]
DB: All the way, HAL.
[pod bay doors open fully]
HAL: I hate you. You're not my Dad.Until there is complete automation at every step of every industrial process, labor unions will sabotage attempts to replace human beings with machines.
If you've ever seen how unions exploit rules to slow production, you have no idea of how creative they can be.
Many current jobs may be subject to being automated away. I would certainly not recommend any future worker to set themselves up for a career in truck driving, because this job is likely gone in, let's say, 20 years.
The "everyone should learn to code" crowd maybe recognizes that programming is one of the skills that is very hard to automate, so every new coder of today might still get through a whole career of coding.
Am I a "professional programmer" today? Well, I do program as part of my job, but I'm technically a microbiologist/immunologist. Analyzing data by writing code is a lot more efficient and repeatable than the fiddling with spreadsheets that non-coders do.
I am an IT Professional. I have worked as a developer and two years ago, I made the leap to security analyst. My programming skills come into play because some of the security packages I have used require the ability to write regexes.
You are wrongly assuming that anyone who codes is a developer. Lots of people code who aren't developers: physicists, mathematicians, engineers, technicians, statisticians, system administrators etc.
5-20 line programs can often be enough to save a lot of tedious work, wether it is a collection of unix shell commands, a complex spreadsheet formula, VB script or a visual programming tool like automator or labview.