Software development follows distinct stages, and each stage has a specific name that describes what activity is being performed on the program.
Once a programmer has a written specification describing what a program should do, the next task is to translate that specification into actual instructions the computer can execute, using a programming language such as Python, Java, or C. This translation process, where human-readable specifications become computer instructions, is called coding.
The other stages are easy to confuse with coding but describe different activities. Debugging happens after code has been written, when the programmer searches for and corrects errors in it. Testing is the stage where the finished program is run against sample data to confirm it behaves as expected. System design happens even earlier than coding, when the overall structure and logic of the solution are planned, often using flowcharts or algorithms, before any instructions are actually written.
Remember the order: design the solution, code it into a language, test it, then debug any faults found. Coding is specifically the step of converting a plan into instructions.