You can mindlessly code, but that can lead to code that works, but it's really slow. For example, I have seen code that requests a massive amount of data from a database over the network, then filter that data to a small list to work on. It would have been more efficient to write a better query that filtered it before sending a terabyte of data over the network.
I've seen a lot of crappy card shuffling algorithms being used when something as simple as the Durstenfeld method is more efficient and creates a perfect shuffle.
Creating a good chess program is difficult. That's amazingly difficult since you have to get good results within a time limit.
Achieving the directive while taking into account cpu/memory limits, network latency, disk io, security, stability, etc requires problem solving skills.
Living on Earth may be expensive, but it includes an annual free trip around the Sun.