Feel free to tell about what your day looks like. I'm exploring different positions so it'd be very valuable to me. I've already done a few courses in C# and Python, they seem to be quite common. My goal here is to get to know this role better, for now I have limited information about it. Is it rather repetitive, or is there always something new to do? What part of it do you enjoy the most and the least? Is it true that many desktop apps are really webapps?
May just be bias from my experience, but a lot of back end stuff is cloud now. I had to learn how to design, deploy, and maintain Azure resources. Programming is still in C#, but now I have to give extra considerations into the limitations and abilities of Azure Function Apps. To me, it's like a puzzle. How can I design a system to best achieve what the company needs done? Do I use Cosmos DB, Storage Tables, SQL? Every step of the cloud infrastructure design is up to me.
The last part of you post is pretty true though, lots of desktop apps now are just web wrappers. Stuff like Discord, Spotify, Etcher to name a few.
The entire IT world is just a huge ball of complexity. Partly because the actual (domain/business) problem is simply hard, sometimes because you have to deal with legacy systems, partly because you have to deal with difficult people.
As developer (and especially backend) our job is to coax or coerce this bundle of sorrow to do what we want it to do and hide as much duct tape as possible. Frontend then has to make that crap presentable and usable.
The reality is, 90% of my work is not writing code, but all the stuff around it. I spent several hours in meetings to coordinate, how to split a long string into three. I'm not exaggerating. But there's just 5 different consumers of this data and three different sources and you have to find a way to make all eight parties happy.
Sounds like my position. I maybe write code a more than 10% of the time; maybe close to 40% these days. But code is definitely the least interesting thing I do anyway; solving the puzzle is the fun part. Coding is just following the plan most of the time.
Puzzle is a good analogy, but sometimes one without a perfect or singularly correct solution. Instead you have to optimize all the pieces you choose to use and how you use them to produce the most optimal result that balances cost, performance, and labor.