Programming is solving problems. Some programmers would consider it fun and do it for enjoyment. But for most people programmers just solve a problem. It is just a form of engineering. A civil engineer builds a bridge, a software engineer sets up a web store.
At the bottom it is just about knowing how to organize the concepts and them build a system according the specifications.
There are tools of course: the language, the platform, programming paradigms, patterns and algorithms. A good programmer will have to be familiar with a large set of those and then pick the best for the job.