I would say that unless you're making command line programs or AI the most important part of an application is the GUI. It is all your customers see, and if it doesn't work nothing else matters much.
It's not unimportant. It's just menial and trivial when done in code. Yes, there's an art to it, but that's not a technical challenge in the programming domain. The outside veneer is important, but it's not interesting to work on from a technical viewpoint. And furthermore, it's best left to UI experts to design -- any sane GUI designer makes it easy enough for 90% of the UI to be done by drag and drop. (Yep. No sane GUI designers that I've seen yet exist for web apps,partly because there's no standard GUI toolkit.)
It's not like mechanical engineers spend the majority of their time deciding on the trim and positioning of internals which compose the interface to the car. Instead they collaborate with the designers the constraints on the interior layout, and then they leave the interface details to the designers, while working on the drivetrain, suspension, frame, and so on.
The point I'm making isn't that GUIs are unimportant. The point is that GUIs are uninteresting if you are looking for a technically challenging problem to solve with code. This lack of challenge can be compounded today with the trend towards designers providing specs to programmers, and then leaving the programmers to implement it, as the creative element is reduced.