What use have an artist, a baker, a winemaker, a firefighter and a brewer with programming? None.
Yet.
An article surfaced on HackerNews yesterday arguing that Programming is the new High School Diploma, the main argument being two facts:
- Computers are everywhere
- Automation is pushing out middle-tier jobs
The basic idea is really simple - in the not very distant future programming will and should be as important as basic literacy is today. Not just basic computer literacy, but programming in the sense of combining and extending apps in novel ways to fit your problem area.
There are a lot of professions for which automation is almost impossible to imagine - an artist, a firefighter, a winemaker, brewer, baker; the list goes on and on. In fact this was the top voted rebuttal of the whole story. A lot of professions need so much human touch it is inconceivable they would ever need programming.
Someone else can do the coding
And if parts of their jobs do become automated, they still won't need programming because there will be special people to program special tools for these professions and just show them how they're used.
All well and good, but that's missing the point entirely.
There is no need for an artist, or a baker, or anyone working in meatspace to be a good programmer. They have no need for pointer arithmetic, functional programming, P=NP or knowing javascript and python's list comprehensions.
They just don't.
Somebody else can do all that stuff - an actual expert. But how much does a programmer sitting at home, watching code and cat pictures all day, know about the problems of a baker or an artist? Or about fighting fires?
Problem areas
You can't solve problems you don't know exist!
Someone with problems who doesn't know of a whole field of solutions can't ask for help either.
And so we reach an impasse. On the one hand you have an industry full of people so hungry for problems they create better and better ways to share ever more boring stuff, and on the other hand you have ... the other ~70% of the population drowning in real, hard, solvable problems.
While you can check foursquare to see where your friends are, there are firefighters who would (probably?) love nothing more than a real-time map of where all their buddies are in a building. And what are the best and brightest of the world doing? Nothing much, I heard there's a meme making rounds about something or another.
High school is about broadness and giving pupils a little bit of everything. Some history to understand the problems with large-scale ethnicism, a little bit of biology to help you talk to the doctor, a dash of this and that. All in all, none of us become experts in every field we study in high school, but studying them gives us a better understanding of the world.
And yet high school deprives us of even the simplest knowledge of a field touching everything in our lives.
To innovate, to even begin to really use this amazing tool, we need to give the general populace the ability to begin the process of automation - that spark of Hey, this is kind of repetitive, I wonder if a computer could do it.
Chances are it could.
In fact, we know a computer can solve any problem we consider solvable ... even subsets of those that aren't solvable. But you first need someone who knows how to actually solve a problem.
That's why most problems programmers solve are those other programmers have. It's like an echo chamber out there, nothing but better and quicker ways to make development easier. These are then used to make development even easier and suddenly it's become impossible to keep up with the world of computing.
Most other industries innovate much more slowly. Most of them can't solve their own problems and they don't even realize a solution exists because they don't realize they have a problem. The greatest handbrake on innovation is a worker with too narrow a worldview to understand their job could be made better.
What you can do?
Because changing how high school works is hard, I have a suggestion for something you can do right now! Only needs three steps too
- Find a nonprogrammer friend
- Take them out for a beer
- Teach them about programming
Give them the bug of automation. Do it with passion. Do it well. When they start looking at the world in terms of Hmm ... I wonder how this could be made better, easier, more interesting. _They will start coming back with real problems. Problems out of their solution scope, but something _you can work on.
And hey, startup opportunity! You now have somebody with a real problem looking for a real solution! Hooray.
Continue reading about Everyone should learn [about] programming
Semantically similar articles hand-picked by GPT-4
- Programmers are fucking lazy
- Programmers are born not made
- Freelance teaching is great, or why C/Java/etc. are horrible teaching tools
- Software dev isn't just a logical process
- Yes, AI will "take" your job. No, you won't mind
Learned something new?
Read more Software Engineering Lessons from Production
I write articles with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.
Subscribe below 👇
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"
Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.
Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.
Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help 👉 swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.
Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers 👉 ServerlessHandbook.dev
Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization
Want to get my best emails on JavaScript, React, Serverless, Fullstack Web, or Indie Hacking? Check out swizec.com/collections
Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog
Want to brush up on your modern JavaScript syntax? Check out my interactive cheatsheet: es6cheatsheet.com
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️