I work in a digital agency designing different kinds of digital services for our clients. UX (user experience) design process often starts with user research and problem definition together with the client, after which you start sketching different options to solve the problem. Then you build a prototype of the chosen approach, and in the best case scenario also start building the product for real. Besides the research phase, my responsibilities often include interaction and visual design of the service, and I'm also able to participate in the front-end development.
As I'm interested in both creative and technical side, my job provides a great combination of both - I can wave my hands and also do as much front-end development as I want. It's also cool to create things together with a team, when everybody feeds each other better and better ideas. I also love the fact that I can never say I know everything about UX - you need to keep up with new design trends and technologies every week.
Also, even though you're not saving users' lives, in most cases you're really improving them. For example your users might be doing a certain process manually, and the service you're designing might make things several times faster and easier for them. Seeing users excited about the product is always rewarding, and makes you feel like you're actually doing something that makes sense. I also like my colleagues, I'm quite grateful for being surrounded by such motivated and intelligent bunch of people everyday.
Since it's impossible to say your design is perfect as you can always improve, designing and trying out different options can be quite slow. The fact that you want something to be as close to perfect as possible can add up lots of extra hours to your week, even though nobody forces you to do them. This is not that negative, but it's hard to forget your work if you're excited about what you're doing, and you keep getting ideas everywhere, even in your sleep. Also, it's sometimes hard to balance with wanting to improve things and schedule/budget - my extra improvement wishes might mean loads of work for a developer, or push the release dates further.
In addition, you need to accept the fact that you can never please every single person in the world, no matter how much you'd like to. Sometimes it's also frustrating that UX Designer is expected to have an answer to every problem, especially if you're not familiar with the industry or the users beforehand. As a good UX Designer you should always do as much research as possible before design decisions, but sometimes it's hard to get enough opportunities for this, and you are expected to make decisions without being completely familiar with users' needs.
Even though I guess you need to be born with some level of creativity, you get more creative everyday by looking for inspiration and gaining experience in solving problems. Teamwork, communication and listening skills are also something you learn when working with different kinds of persons. With general UX stuff, I listen podcasts and read blogs/articles about the latest news in the field every week to keep myself up-to-date. When it comes to coding, I do lots of online courses and video tutorials, though what helped me the most was a coding bootcamp where I could focus on learning to develop only.
However, I think it's important to highlight that UX Designers don't always need to code - even though it's a big advantage, many people also use graphic tools (such as Sketch, Photoshop or Illustrator) for web design, and developer takes care of coding.