Have an older co-worker who has been a programmer for about a year here, and just can't seem to break out of the code-by-the-seat-of-his-pants mentality. Is there a good way to help, or after a year of not taking advice is it best to give up?
views:
1834answers:
9Tips on how to inoffensively help an older co-worker to become a developer instead of a code-monkey?
Have you tried using pair programming and pairing him with others? Perhaps he could learn something from other programmers' practices.
This will have been said many times before, but simply give him a copy of Code Complete.
And if you've not read it either then buy yourself a copy at the same time.
I think the pair programming is not a bad idea. If your organization supports it, accountability is a great tool for helping developers understand the consequences of their working style. Nothing teaches you to design and code better than being forced to fix your own bugs...
Maybe have brown bag lunches and get people around the organization to take part (including your cowboy). Take turns in giving presentations on issues such as design, automated unit testing, new technologies, etc.
This may get him enthused about professional programming and would remove any fears he has about not understanding what he should be doing.
I recommend instituting code and design reviews (for everybody, not just him). At the very least, quick "buddy checks" before checking in new code. Practice the Socratic Method for code reviews:
- "What is this function supposed to do?"
- "But what happens if this pointer is Null?"
- "How do you recover if an error occurs here?"
It can be that the older developer sees you as a threat when you try to change his way of working. For him the introduction of a new way means voiding part of his knowledge and pushes him out of his comfort zone. People tend to resists change but as a software developer there is not an option not to follow the industry. As said above, you should try to help him discover the missing joy of learning. The initial step could be to find out why he is reluctant to learn.
Get everybody on the team into the habit of using ReviewBoard.
Use it for many small, casual reviews as opposed to big, scary review everything at once reviews. Let the reviews be peer driven (keep the managers mostly quiet and in observe-only-mode).
When you say "older" what do you mean? It may not be him. Your working environment may not be condusive or encouraging to an "older" programmer. While I was working for one particular employer I found myself afraid to ask questions out of fear of being labeled an "idiot". Young, skilled and arrogant can be intimidating to "old" and still learning. Just speaking from an experience.