Programming is a process, with 3 very important phases: Problem Identification and Solving Phase, Implementation Phase and Maintenance Phase. All three of them are important for computer programmers/software developers to be able to solve problems. A lot of developers would equate the programming process with only algorithm implementation, which is incorrect. Translating an algorithm into a programming language, which can then be compiled or interpreted and finally understood by a computer, is only a part of the programming process. In my humble opinion, it is also the easiest task.
In short, Computer Programming is a process by which you solve a problem.
In the modern world, with the amount of problems and their complexity increasing many fold, it is a tool to get solutions by carefully, pushing the repetitive tasks to the computer and thereby achieving “automation”, meanwhile still requiring input from programmers/software developers