The first thing we need to understand is what do you mean by a good UI Developer. The job of a UI Developer who is also known as a front-end developer is to translate the UI Designs and the interactions into conversational pages. If a UI Designer has made a design for a website then the job of UI Developer is to convert the design into HTML or any other required front-end pages, using the latest possible coding standards.
The same way, when it comes to mobile apps there will coders who do the backend job and there will UI specialists who translate designs to stunning looking apps. The role of UI developer is very crucial when it comes to putting life into the design. The designer job is to make the best designs which are user-friendly and the UI developer works closely with designers to ensure they are out to live the way they are designed.
Now to get back to the question of how to become, then the answer is to learn and practice all front-end technologies. First, you have to choose the career path, if you want to be a front-end developer for web then the technologies are different. If you plan for mobile then you need to adapt to other things. No matter what the platform is, the core logic is something you need to be smart on.
Typically you need to hands-on with all the below and more.
- HTML and CSS
- Media Queries and Frameworks for web
- Familiarity with frameworks like bootstrap, foundation, UI kit, materialize
- Android libraries and guidelines
These are just some essentials to get started but ideally, you need to grab an institute or take up online courses on all front-end technologies and then do practice a lot. Simple thing to remember is when you use something on the web or mobile and when you like it, it is possibly done by a combination of designer, developer, and coder. So, you are the one to do such stuff.