We’d all be dead without water, too – that doesn’t mean we all need to be plumbers.
While I understand where you’re coming from, I strongly disagree with many of your points as a Software Engineer myself. I agree, not everyone should learn to be a master at coding and become a developer. That being said, I do think understanding the basics of coding can be very beneficial to people who don’t do it for a living. Much like knowing algebra allows you to think about and solve problems around you, knowing the basics of programming can do the same. The two are very similar in that aspect. I work in a large corporation, and some people I’ve met who work in non-technological aspects of the business have utilized things like Google Apps Script (basically JavaScript + Google Libraries) to automate huge parts of their workflows and reduce error. There are so many uses for even basic programming. What if Mr. Bloomberg was up late one night thinking about a policy decision that involved numbers? Would it or wouldn’t it be a benefit if he had the ability to write a calculation with adjustable inputs to think the problem through a bit more mathematically? I think it’s dismissive to think coding is only worth it for developers.
The bar continues to get higher on how tech-savvy everyday people must be to do their jobs and manage their lives. Waiting for the next idiot-proof, drag-and-drop solution isn’t the answer for the successful masses who don’t happen to develop software for a living.
I can think of zero times that algebra has been useful to me, outside of actual programming screen space calculations, in ~50 years of life?
I’ve always thought, ever since graduating from high school ('71) that I would never, ever use algebra. I was wrong… I’ve used in woodworking when making custom tables, cabinets, etc… I’ve used it while designing little hobby projects and most of all, I’ve used it to help me help our two children with their algebra homework, and then our grandson with his homework. If it wasn’t for me knowing the formulas, my grandson would never have passed his algebra exams. His teacher came up with some wacky way of doing things and there just was no possible way to get the correct answer. Actually had to go to his school and discuss this with some other math teachers before the principal confronted this guy. Knowing algebra saved my young grandson from a lot of tears and frustration. And now we have three young granddaughters whom I know will have algebra homework. Just hoping I’m still alive to be able to help.
To be sure, over the course of the years, I’ve also used algebraic formulas when I was making diagrams of water, sanitary sewer and storm sewer lines when the town had ripped up several streets to run all new lines. Mechanical drawing in high school helped tremendously also. The highway department still has all the drawings I made in their file cabinet. All that’s required is they update them when they make any repairs/replacements and move connections around.
So yes, I’ve have used algebra in many instances. Even to figure out the square footage of a private road with multiple odd-shaped parking areas (for a relative who was contracted with replacing everything with new asphalt). I used to get angry with myself if I couldn’t remember a certain formula and had to go “look it up” on the Internet.
@codinghorror, so even if you’ve only used algebra for calculating screen space, then I’d say that learning algebra did in fact pay off for you.
Perhaps but that sort of thing is easy to learn in a “just-in-time” manner, at the time you need it.
I personally think that teaching kids programming is not important, because all they are going to do is mess around with it. I taught myself how to program. I’m a kid, and I like to mess around with it. I don’t think I have actually put my brain to it, and made something useful, except for something to decode binary, encode binary, and decode binary to ASCII. Half the time I make stupid crap like clicker games and just two coins (one spinning) that play sounds when clicked.
All it will take is for you to come up with an idea that you consider useful to yourself and/or others and you’ll really get into it. Start small but always think big. Look around for ideas, even if it means looking a something that’s already completed and see if you can do the same yourself using your mind and your code. That’s a good way to get into the guts of a project without just being a copycat. That will make you think for yourself. But whatever you do, don’t let yourself get to the point where you don’t ask for help or look to others for answers. You’re not alone in this world and asking for help will keep you from becoming frustrated and giving up. Keep plugging along. You’ll find yourself getting better with time and getting better exponentially with time.
Looking at other people’s code provides me with a glimpse in to their soul.
The two biggest things I see are fear and narcissism.
I rarely encounter confidence and empathy.
Too many cowards and sociopaths.
Cringers and show-offs.
All roads tragically trend toward coders who think a single, 3000 character ‘line’ of Linq is somehow faster and/or better than something readable and maintainable.
Our beloved craft is in a whole world of sh%t.
Some things are taught so you can do them, other things are taught so that you grow from engaging with them.
The majority of people who learn ‘a bit of trig’ at school do not take their incomplete mathematical understanding and go on to a career building dangerous bridges. Equally I think you have nothing to fear from people who learn a bit of Python. It is highly unlikely that you will find them sat next to you in the workplace disconsolately typing out ‘hello world’ exercises having failed to get beyond lesson one. If you do, this has far more to do with your company’s recruitment policy than it has to do with any education initiative.
…and since you asked, yes I think people should understand plumbing. Not that we all need to become professional plumbers, but we should all know the basic principals, have done a bit here-and-there, and be able to knock together a temporary solution -pending the arrival of a real professional- if nescessary.