Everyone who writes code that other people interact with is making interfaces. It's kind of a misconception that only frontend developers need to think about user experience.
Write a website? That's UX. Write a CLI? That's UX. Write a library? That's UX.
Regardless of what you're building, it will have signifiers and affordances. How do you know what the CLI will do? Do the flags do what they indicate they will do by their names? Same for library API functionality.
There are very few things you would code that don't have UX.
A script that aggregates data into a spreadsheet that only you run only has to make sense to you. If someone else has to run the script though, it becomes an interface that needs to make sense to other people.
Code that runs a graphical art exhibit that doesn't have any inputs has a UX for other people, but no affordances. So in that case you don't have to think a lot about it - you just don't want to have signifiers in your experience.
If you design interfaces of any kind – even if it's not for end-users – you should read The Design of Everyday Things.

https://www.amazon.com/Design-Everyday-Things-Revised-Expanded/dp/B07L5Y9HND
If you don't want to read a book (you should!), at least look up what signifiers and affordances are. They'll help you get better at what you do.
You can follow @qoouep.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: