There is a heap of articles out there fore and against everyone learning to code.
Here is my short and simple take...
- You learn maths at school, it is useful, even if you don't become a mathematician.
- You learn to ride a bike as a kid, even if you don't as an adult. Learning to ride a bike not only teaches you balance, but an ability to learn
These are two very simple and silly examples of what we learn that we may not use all our lives.
What we learn and do is about learning and ways of thinking, not necessarily becoming.
I would go much further, here is another set of things everyone should learn how to do
- Learn to Build - start simple, maybe a pencil box, then a table, and finish at least with a bookshelf
- Learn Electronics - understand how to connect a LED to a power source, what positive, negative and resistors are.
- Program an embedded CPU - buy a arduino or similar and just flash an LED, or buy a $16 Teensy and make your own keyboard button (it could just be one button that starts/stops your music).
- Learn to ride a bike
- Learn to drive a car
- Learn how to swim
- Buy some contact adhesive and repair your own shoes
- Grow some vegetables, even if it is just some herbs outside your front door
- Do a weekend farm stay and learn about the land, shearing, milking or something farm related
- Go flying at least once: Glider (my preference); hang glider; balloon; etc
- Put yourself in a position to look after children - volunteer at a youth group, or school. You will learn how to manage adults. Doesn't have to be forever, volunteer one night a week for one term.
- Exercise school knowledge - like Maths.
- Sing in a Choir
- Do a team sport
When you think about all the things we learn and need to learn to get through life, learning to program teaches us so much. Everyone should learn how to code.