Please Don't Learn to Code

LIES Coding is awesome

So this article is news again…

:slight_smile:

And already a response
https://medium.freecodecamp.com/please-do-learn-to-code-233597dd141c#.gzfj20jig

I just discovered this post, but man is it ever needed, and such a good point, and well-articulated!

ACM represents itself as the foremost computing society, and promotes coding education in all school grades! Ack! It might expand the market for us, but note that most of the leaders and candidates for official positions are academics.

I’ve taught programming, I love teaching it, but some of those “kids” should not be coding. I’ve also met a bunch of people where I work, even in IT, that said they didn’t want to, could not do it. Few “gamers” code, one told me he didn’t have the patience. Gotta debug that guy!

Teachers themselves do not understand what they will be teaching kids in the future:

We should be teaching open minds and research skills. People of the future will pick things up as they need them.

2 Likes

Gamers don’t have the patience. Some programmers should NOT be.
That’s what I thought when I saw their push for this.
True that ACM is driven almost always by academics. Ouch! Good marketing ploy for academics!

Hi. I think that the point of learning to code is like the hype of “Design Thinking”. It is an archetype for very important skills like solving problems and the hability of self taught, research and to find the right solutions.
I am one of these persons who once thought that should learn to code, but in the essence I want to learn solve problems like a programmer.
Maybe by learning to code, we learn a little bit about this “Code Thinking”.

I agree with this.

I worked as a programmer in the 1990s. Prior to that I programmed as a hobby, and afterward I continued to program as a hobby. My day job now is to work as a plumber.

This is a long thread with hundreds of replies. I didn’t read all of them — I don’t necessarily expect people to read mine either — there is a lot of redundancy in here.

I think that the world is full of people who do sloppy thinking and fail to understand the world around them. Mathematics, statistics, programming, etc., are all ways to understand the world around you.

One problem people have is the failure to understand that growth may be (usually is) exponential, but rather to assume that growth is always linear. Also, many people have a really bad understanding of magnitude; you don’t have to do exact calculation a lot of time, but just knowing the general range of your numbers (within one order of magnitude) is crucial. A good book is: “The Logic of Failure” (Dietrich Dörner). This book describes a game in which the player is given foreign-aid money and is charged with the task of improving a fictional African country. Pretty much every player fails badly. They improve food production (drilling wells to irrigate fields) and health-care (buying medicine) linearly, but population grows exponentially, so pretty soon they have famine and plague. The situation previously was unpleasant, but at least it was sustainable. After the “help” has been applied however, there is catastrophic failure and the entire population is dead. BTW: the reason why primitive people sacrifice virgins is to prevent them from having children. To say that they are superstitious idiots who worship a “volcano god” is not really true. They are flattening out the population growth curve to correspond with the resource growth curve. Human sacrifice is unpleasant (the virgins scream a lot when getting thrown into the volcano), but it results in a sustainable system. Those primitive people have been successful for several thousands of years. Our civilization has been around for a few hundred years, and it is not successful by any method of measurement — too many unhappy people! — apocalyptic ruin of the environment!

Sometimes the way that a problem is phrased indicates the obvious solution. For example:
1.) “There is not enough petroleum for the number of people on the planet.”
2.) “There are too many people for the amount of petroleum on the planet.”

For a while I worked as a cage-cashier at a casino, and I also played poker semi-professionally. The trick to making money at poker is to play against rich idiots. People watch poker tournaments on television and they believe that bluffing wildly is the path to success. They aren’t considering the fact that the television edits out the boring hands and shows the exciting hands that involve wild bluffing. Also, the strategy used in tournaments is not the same as the strategy used in cash games; there is a lot more wild bluffing in tournaments because the size of the blinds goes up in a tournament so patiently waiting for good cards will result in getting “blinded out.” Watching celebrities (William Shatner) play televised poker tournaments is also foolish because the celebrities aren’t playing with their own money.
In general, watching television will make a person dumber rather than smarter. Any activity, including digging a ditch with a pick and shovel, is better for the brain than watching television.

From my perch in the casino cage I could see the roulette wheel. Everybody is doing it wrong! Players bet multiple numbers in an effort to “hedge their bets.” This is stupid! You are betting against yourself. Only one of your numbers can hit, in which case the other numbers you bet on are guaranteed losses. A degree in math isn’t necessary to realize that the term “guaranteed loss” has a bad sound to it. This can easily be realized by assuming the extreme case in which you bet on every number on the wheel. One number will win and the rest will lose, so it is a wash. Of course, there are also the 0 and 00 niches on the wheel which cause all of the numbers that you bet on to lose, so you are on the road to ruin. In many cases a seemingly complicated problem can be easily solved by just assuming the two extreme cases which are easy to solve, and realizing that the actual case is bracketed somewhere in between. If both extremes are a guaranteed loss, then you are definitely on the road to ruin — over-thinking the game and developing a complicated strategy will, at best, slightly slow down your descent into bankruptcy — the most intelligent thing you can do in many games is to just go home and take a nap.
When I do play roulette I just make a single bet of all the money in my pocket on one number — I have never won — at least I get it over with quickly though, and someday my lucky number will hit which will be a pretty happy day for me.

There are myriad other examples of sloppy thinking, all of which can be overcome with a basic understanding of mathematical concepts. There are several books written on the subject of how to think and avoid gross blunders — I have read most of them — pretty much everything written on the subject would benefit pretty much everybody, as gross blunders are pretty common.

In regard to plumbing, I am amazed at how helpless people are. They see a puddle in their yard, so they realize that something is leaking, so they call a plumber. Even if you aren’t a plumber, it should be obvious that the first thing that the plumber is going to do is dig a hole and find whatever is leaking. Why pay somebody big bucks to dig a hole? Buy a shovel and dig the hole yourself, or at least hire some illegal aliens to dig the hole for you (the plumber actually does hire illegal aliens; he doesn’t typically do the pick-and-shovel work himself). Find out what is down there. After the hole is dug, you may need to hire a plumber to fix the leak. If it is PVC though, you can fix it yourself — there are a limited number of kinds of PVC fittings sold, so just looking over the selection on the shelf at the hardware store should be adequate information for figuring out how to spot-fix the leak. In some cases you will need to hire a plumber, but at least you will know why you are hiring him and have a general idea of what you are paying for.

One plumber I have worked for would go on a job to rooter a drain. Then he would tell the customer that he can’t cut through the clog, and the drain pipe has possibly collapsed. He didn’t have the cutting blade attached, which is why it wouldn’t cut through the clog. He would tell the customer that he knows a guy who can camera the drain for only $150, which is about half of what camera work normally costs. The camera guy would tell the customer that the drain has collapsed and has to be replaced. The customer would fail to consider it significant that the same guy who did the camera work is later seen on the track-hoe doing the excavation. The truth is that clay drain pipes don’t collapse — our civilization will collapse first — alien archeologists will find those pipes hundreds of years in the future uncollapsed (although likely full of tree roots). The customer was inside the house watching television. I asked the excavation guy what would happen if the customer walked outside and saw that the drain pipe he had just exposed was not collapsed. He then smashed it with the bucket and said with a wink: “It is collapsed, just like the camera showed!” Him and that plumber have been working together for about 20 years — they are a team — the $150 camera work was a loss-leader for the $5000 drain replacement.
Yogi Berra famously said: “You can observe a lot just by watching.”
The customer’s failure to watch the excavation is another example of sloppy thinking.

And, btw, why does the Windows OS suck so bad? Microsoft has been in the OS business for decades, and they still aren’t any good at it. This is like hiring a plumber who tells you that he has a 90% success rate at installing water pipes, but in the other 10% of the time the pipes burst and flood the house, but he is not financially responsible for the cost of damage caused by his incompetence. The world sucks because people are too tolerant of incompetence.

I think it is a good thing for that mayor, or any other manager, to learn how to program. In my experience, non-programmers make the mistake of assuming that a program has to be kept forever. They think that paying for a program to be written is like buying a truck. If a truck doesn’t work then it should be fixed, but buying another truck indicates that the money paid for the first truck was totally wasted. This isn’t true of programs. If a program is inadequate, it should generally be rewritten. The knowledge obtained in writing the first program can be used in writing the second program — the second program can be written with 1/4 the effort and be 4 times as good. Programming is all about knowledge, not labor.

The difference between skilled work and unskilled work is that you can make exponential improvements in the former, but only linear improvements in the latter.

Finding new petroleum reserves accelerated for a while, but then it turned around and began to decelerate — population growth continues to accelerate — do the math and/or write a computer program to simulate what will happen!

1 Like

Apprentice-level pay in plumbing is about $20/hr. Journeyman pay is about $40/hr. This is just for people who work at an hourly wage for someone else and don’t take on the responsibility of owning their own business.
I would expect the pay level for electricians to be roughly comparable.

Owners of plumbing businesses can make serious money. Replacing a drain (as described in my previous post) may be worth $5000 (it varies on the length and other factors, such as how rich the customer appears to be). This is typically accomplished in 2 or 3 days. The 1st day is just sales, doing the camera work, etc… The actual work is usually one day, but may extend into a second for a large job (which would typically be more than $5000). The only equipment needed is a track-hoe to dig the trench (or a pair of illegal aliens with shovels if the trench is shallow). The pipe and fittings cost a few dollars. The job is almost entirely profit.
Jobs like this are done pretty routinely — this is a small job — a big job such as a flood mitigation could be worth $40,000 (this mostly involves replacing the damaged drywall, which is pretty easy and doesn’t require any expensive equipment).
If the building flooded some time ago, there might be mold in the walls. This requires special procedures because mold is a health hazard — now watch the price go up!

The OP used plumbers as an example of dummies who are incapable of learning how to program and have to settle for a job that involves gluing pipes together.
Presumably he considers electricians to be dummies whose math extends no further than Ohm’s Law and have to settle for a job that involves pushing wire through conduit.
If he is so smart, perhaps he can tell us about how he makes more money than plumbers or electricians do.

Programming is mostly something that I do for fun in my free time.
Realistically, I don’t do plumbing for fun in my free time (although I know people who do, one of whom was my father, and another being my boss of the drain-pipe job described above — both do plumbing upgrades at their homes that aren’t strictly necessary).
Also, programming the boss’s project at a job is not nearly as much fun as programming your own project in your free time, in which you get to make all the design decisions yourself.
Here is a song about programming at a job: https://www.youtube.com/watch?v=v4Wy7gRGgeA

1 Like

I think an Hour of Code during Computer Science Week is a good starting point to have fun, discover what you can do with computers…

I don’t agree with coding being elevated to compulsory, just as much as I didn’t like seeing my friends who really don’t enjoy doing math, science, art or English having to do them in school.

However, I feel grateful for the movement that has made coding accessible to more people. Let me share what that vision has resulted in & what I’ve been able to create thanks to it :smiley: it’s kind of strange that this is old enough that someone sort of from the next generation can comment XD

A drag-and-drop language for iPad

4 Likes

I get what your saying here, but for the most part I completely disagree with you. I think everyone should at least know to write some basic python or java in relation to what they do for a profession. I’m a computational chemist and I had to teach myself everything I know about coding. While the subject I work in and go to school for obviously involves knowing how to code, all my other bio/chem friends that know how to write some python/Fortran (us physicists still use this POS :disappointed_relieved:) greatly benefit from it on a a day to basis, despite the fact that they do not work in a field that requires “knowing how to code” . Whether it be interpolating population ecology data with scipy, solving differential equations using python’s math libraries, extracting amino acid sequences from 10 million line PDB files, or computationally calculating the IR spec for a chemical reaction, knowing how to code can benefit ANYONE that goes into the classical science fields. I just used science examples because, well, I’m a scientist, but I’m sure someone in econ or psych could have done the same with their fields.

3 Likes

I dislike people like you. Coding is the definitive future of our lives. How was this site created? With Code. How is the device you are using working? With code. A lot of things aren’t possible without code. Summary: If we want to learn how to code, we can.

We’d all be dead without water, too – that doesn’t mean we all need to be plumbers.

1 Like

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.

1 Like

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?

1 Like

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. :roll_eyes: 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. :grimacing:
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. :unamused:

@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. :wink:

3 Likes

Perhaps but that sort of thing is easy to learn in a “just-in-time” manner, at the time you need it.

2 Likes

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.

2 Likes

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.
:+1:

2 Likes

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.

2 Likes