There certainly is imagination in creating software, from deciding on architecture, to micro-refactoring and optimisation.
If you just work on the typical websites you perhaps don't see this, because the domain is very well explored at this point. You have frameworks that solve most common problems and you just need to paint within the lines they draw. Hence the emphasis on UX as that is where there is still rapid change and the chance to innovate.
However, change your requirements and things get interesting. What if you want your website to respond within 50ms to anyone anywhere in the world? Suddenly you have a very interesting problem. You had better get creative with your architecture, because a bunch of stateless webservers talking to a relational database isn't going to cut it.
If you just work on the typical websites you perhaps don't see this, because the domain is very well explored at this point. You have frameworks that solve most common problems and you just need to paint within the lines they draw. Hence the emphasis on UX as that is where there is still rapid change and the chance to innovate.
However, change your requirements and things get interesting. What if you want your website to respond within 50ms to anyone anywhere in the world? Suddenly you have a very interesting problem. You had better get creative with your architecture, because a bunch of stateless webservers talking to a relational database isn't going to cut it.