I work as a programmer and have been lead developer on a new project at my company for some time. I haven't been given the official title of lead developer, but for this project it is a role I have naturally filled and acknowledged in practice.
Recently, a new programmer started on the same project. He has some experience and skills. However, he brings with him a lot of bad practices which I need him to stop and also to follow the patterns already set in place.
I don't mean to talk myself up, but for the purposes of this question I do believe that I'm quite skilled at what I do and still best suited to role of leading development, aside from the project manager who doesn't code.
Anyway, I am relatively young in comparison to the new programmer. I have tried talking to him about some of the practices I desire him to stop. Early on he took it on-board, but now I am finding him more difficult to deal with. I've asked him to make changes which he initially agrees to but never follows through. I can sense some annoyance on his part.
Probably due to the age difference he doesn't appreciate being told how to do his job by someone half his age. I'm not afraid of conflict, but I would like him to listen to me without making him feel like I'm too big for my boots or that I am belittling him. I would like his contributions to be welcomed.
Knowing myself, I'm not exactly a push over so I want to be careful that I'm not being too forceful with my opinion either. I don't want to come across as a 'code nazi' so to speak. I've kept my engagement to suggestions, comments and the odd request, not so much a command or order.
If it comes to it, I will speak with the project manager about my concerns but I don't want to create any ill-will by superseding him in that way.
How might I best establish some more respect from my mature co-worker without causing a major drama or issue?