Convincing developers to look outside of the technologies they use every day

This is an issue at the company I work at.  I see 4 obvious kind of situations at work here:

1. The developer just doesn’t want to learn something else.

2. The developer is so busy at work that they don’t have time to learn other alternatives.

3. The developer doesn’t feel confident enough to suggest something that they have learned.

4. The developer would like to learn but his life outside work keeps him from being able to keep up.

I don’t see how a situation 1 developer can ever think out of the box when they are stuck in the box and won’t look over the top of the box.    

Now I think situation 2 is a little different than situation 4 since I have been in this situation.  I was working with a group for 2 years that was doing 3 week sprints with 1 dedicated dev, 1 offshore dev, and 1 ½ time dedicated dev.  We spent the first 3 days of the sprint reviewing the work load and designing.  After that I spent a good deal of time answering questions from the offshore developer at night and trying to find him work when he finished early.  I was then also having to do my work, support other products,  fix any bugs found, prepare the releases, and actually do the releases early every morning on the weekends.  I was really burned out and the last thing I wanted to do when I got home was read more about software development.  I blame this situation on management.  If you run your developers into the ground they will leave.

I think situation 3 relates to developer confidence.  I think that this can be fixed by creating a good culture that is open to new ideas.  You really want the developer to be confident enough to make a suggestion about using a new technology.

I also don’t see how situation 4 is an excuse either.  Technology changes constantly.  Keeping up with it is part of your job.

As to how we solve each situation, I think you have to determine what situation each developer is in and try to resolve it.