I recently had an existential crisis when I was preparing for a technical interview and I realized that ChatGPT could complete most technical coding challenges better and much faster than I could. While there are still limitations to the size and complexity of problem that AI can currently solve, it’s clear that in the next couple years AI will be very good at creating and improving software.
I’m fine now and actually think it will allow me to contribute more but, simply “learn to code” is no longer a slam dunk recommendation for kids. This essay is an attempt to think about what I should teach my kids in this age where AI is likely to get more capable.
So, ChatGPT is a one of several large language models (LLM) that have been deployed in the past couple years. These LLMs are trained to accept a serious of words and predict the next one. By repeatedly doing this, they can do everything with text from write functioning code, poems, pass entrance exams, and answer customer support questions.
It makes sense why LLMs would get good at writing code before many other tasks because there’s lots of existing training data and its easy to create more valid training data. Billions of lines of code is available for LLMs to train in the form of opensource code repositories, software documentation, and help forums. It also easy to generate new code to train on because you can evaluate if it works. You can ask an LLM to attempt to solve a software problem and if its wrong, you’ll get an error or wrong answer. By adding randomness to the LLM you’ll get different results. The results that give the correct answer can be used for training data. You can even give more weight to code that solves the problem faster and with fewer resources.
This is all to say that it’s no surprise why LLMs got good at coding.
So thinking about how AI is trained and its improved capabilities here are the skills I’m focused on teaching my kids.
Good habits and values. The things that make you a good healthy human. Go outside sometime, be curious, be kind, don’t waste your time and many more I should probably think about more.
Basic science and math. The pace of innovation in increasing but the reality of physics and math will not change. By understanding the first principles of the universe will help you understand the right questions to ask and problems to solve.
Expository writing. Learn to describe the problem you want solved and the requirements of the solution you want. The clearer you describe your problem the easier it will be for AI or other people to help you.
Team building. Learn to bring people and resources together to build something. This is what a company and a government is.
Computer orchestration. Learn to connect computers together to solve your problem. Just like managing people is a sill
Machine learning foundations. Get an intuition for how computers learn. I suspect that teaching computers will become more common than coding them.
Humility & Conviction. Learn to approach problems with humility while at the same time go full speed in the direction you think holds the most promise.
Stoicism - Learn to not worry about the things you can’t control. The world is likely to get more chaotic and fast paced. Focus on the things you can impact.
Trade skills. - Robotics is decades behind text based AI. It’s unlikely that robotics will get better at dexterous activities like plumbing or electrical work. And even if they do, being good at a trade will open up opportunities to train the new plumber bots.