I used to have a 38" curved ultra-wide (LG 38UC99-W). The main thing I hated about it was the lack of vertical space. Ultra-wide might be fine for gaming or media production, but it's terrible (IMO) for development work. I also did not enjoy the curve because it seemed to make it harder to get a consistently good viewing angle. I suspect curved vs flat is mostly just personal preference, though.
I now use a single 43" flat monitor (Dell U4320Q), and it is great. More than enough space in both dimensions. For terminal work, I often tile them 2x2, or do "1 big, two small" in either horizontal or vertical. For my IDE, with its own separate-reality-UI-paradigm-in-a-window obnoxiousness, I let it take over the entire screen. I also keep my browser maximized, so I can keep a big vertical tab bar and my devtools open at all times. I like to keep my fonts quite large because I feel like it reduces eye fatigue at the end of the day.
One last piece of advice: ditch the stock stands and get some nice monitor arms. I consider this absolutely necessary. I cannot believe it when my fellow developers use the terrible monitor stands included in the box. They almost always have poor adjustability. Monitor arms are relatively inexpensive, and make it so much easier to get a comfortable, ergonomic setup. Not to mention they allow me to make bigger adjustments when I switch from sitting to standing. Plus, I can lift up my heavy monitor on its gas cylinder to access its ports and dust under it more easily.
One of the issues is sharing your screen and aspect ratio.
You'll want a tiling window manager, depending on your OS