Here is one the of the best presentations I came across when I was initially searching for an introduction to UI design for programmers.
Ryan talks about how UI is not a separate layer but is a part of the software and the most important from a customer perspective. For a customer the UI is the application!
Ryan talks about the key elements of design which helped me streamline my thought process about a design.
1. Modeling
2. Screens (Inside-out Method)
3. Flows
4. Templates
I believe programmers in your companies would definitely appreciate a perspective on UI design and it would only help your future interaction with them.