Make ChatGPT Write Your Code
Learning To Code
Most of the code I create is generated by ChatGPT. It’s the most effective way to learn to program, once you can read and write code.
But how do we learn to program?
I used to think the only way you could learn to program was by writing code. If I copy and pasted code, then I couldn’t learn. But I’ve realized that learning to program isn’t just learning to write code. It’s about learning to identify and solve problems with code.
How does writing code help you learn to program?
Manually typing code builds two essential skills. You learn to type effectively. And you learn to make distinctions in the code that you read. A total beginner needs to learn these skills, so they can tell the computer what to do efficiently and effectively.
Why do we often confuse writing code with the essence of programming?
Writing code is merely the translation of a solution into a programming language. The essence of programming is identifying a problem and finding a valid solution that the computer can execute. When you equate the two, you get tutorial hell. Which only exists because it’s easier to follow the proven path. So let’s change the question.
What has to happen for you to identify problems, figure out their root causes, and find solutions?
You must decide to be responsible for making things better. Not so easy. But that’s the first step to creating useful software.
The Most Useful Software
Code Writing Machine
ChatGPT tends to be more fast, knowledgeable, and consistent at translating a solution to code than a human. So when you use it to write code, you can efficiently translate your ideas into code. This makes it easier to see how well your solution actually solves the problem at hand. Even if you have misunderstood the problem, it’s good to know sooner rather than later. You are now in a better position to solve it.
Ambitious Programmer
A programmer often aims to address an important problem in a way which might not work. This solution will often require some initial setup. But ChatGPT is especially good at quickly completing routine coding tasks. You can use it to quickly start solving the key problem. The faster you are in a position to address the most ambitious aspect of your program, the sooner you can learn what truly needs to happen.
Articulate Programmer
Directing ChatGPT to write the code for you helps you understand the problem you want to solve. When you need to articulate the problem and the way you want to solve it, you will often reveal gaps in your understanding. This will help you avoid spending time solving the wrong problem, or solving it in a way that is clearly ineffective in hindsight.
Putting it Together
This approach focuses on a deep, conceptual understanding of the programs you create. It steers one towards the most important problems. If you can articulate what you want your application to do and how it will work, then ChatGPT will handle the details of translating your ideas into code. Even if this involves editing the code the AI generates, you can bypass a ton of unnecessary coding. This is how someone who creates software can write less code and learn more.
What are the implications for programmers?
Translating a solution to code will be a less important skill than constructing an effective solution. So rather than becoming a code ninja, effective programmers will need to master software design. The focus will be on the essence of software — concepts. They will have a deep understanding of the purpose and behavior of the components which make up their software.
Programmers will need to be exceptional communicators. They will be able to articulate the problem and the solution better than others. This skill ensures their vision can be accurately translated into code by AI.
Programmers will need an iterative mindset. With the translation of solutions to code being easier than ever, they will quickly test ideas and refine their understanding of problems and solutions.
Programmers will be remarkable for deciding which problems to solve. Knowing how to implement the solution is just not enough anymore. One will need to have a nose for important problems to tackle. I think this is the most human aspect of programming, because it often involves seeing a problem from other people’s point of view.
A great programmer must effectively design, communicate, and innovate.