This one is for any software developers out there who have worked on both front end UI type code and automated back end code ("Back end" does not mean the server side of the CRUD- more the transformation of financial data and applying of complex business rules by automated processes). There's a LOT behind this question- I original typed it all out but it ended up being VERY long winded and tl;dr. So let's start general- I'd love any feedback I can get, as the project I am on is really struggling.

Our specific struggle is that our back end code (the part that handles the processing of complex financial transactions) is coming along great, while our front end UI code (CRUD with a lot of complex business rules regarding which users can do what) is constantly riddled with defects and is consistently responsible for pushing back our user demos.

I've always thought that back end, complex financial business logic was more difficult to write well, especially when you consider it has to be highly available and extremely stable, but I am starting to feel that while it is certainly more critical and complex, it is also fairly deterministic, whereas UI code tends to be filled with side effects. It seems that the UI code might in fact be more difficult to write.

So in your experience, is UI code more difficult to write well, or is writing automated back end processes the greater challenge? Or if there is more nuance to this question (which there certainly is) what factors come into play in answering this question? The real result I am looking for is what steps we should take to alleviate the struggles the UI team is having. I am on the back end team and there has been at least passing mention of switching up the team makeup.
_________________________
-Jeff
Rome did not create a great empire by having meetings; they did it by killing all those who opposed them.