In response to Jeremy Miller’s post. Sorry if this comes off as rantish, you have a good point and a good post.
I think that mentoring has great benefits. It can also be frustrating. Last year, a developer on my team was learning ASP.NET and C#. Now I am not a master developer, but this new guy asked a series of questions that I knew the answers to. So I decided to invest some time in helping him steer clear of a number of pitfalls I fell into while I walked the path he was on.
Over the course of the next couple months, I answered many questions and additionally I did a few things he would not have been able to do on his own, including:
- Getting him set up with an account on the dev IIS server.
- Setting him up with a series of code reviews with developers on the team.
- Telling other developers that I was working with him and therefore providing him with some credibility.
Unfortunately, over time I was seeing a pattern develop and repeat itself. It went something like this.
Guy: I have a question.
Me: What can I help with?
Guy: Well, I’m having problems with X when I try to do Y.
Me: Ok, well that’s because of Z, You should do A instead.
Guy: why?
Me: <explanation, sometimes taking a long time>
… 1 week later ..
Guy: I have a question.
Me: What can I help with?
Guy: Well, I’m having problems with X when I try to do Y.
Me: Well you should really be doing A, didn’t we already talk about this?
Guy: Yeah, we did, but I think doing it this way is better.
Me: But, as you can see, when you do it this way you run into issues. You should do it with method A.
.. this happened more times than I wish to count. This frustrated me to no end and made me feel that I had wasted my time. Not only that, it upset me that I put my credibility on the line for someone determined not to listen. The conclusion that I come to out of this is that there is a certain maturity as a developer necessary from both the mentor and the mentee (?? sounds like mentos, the freshmaker). But, I’m not exactly sure how to tell if this is there or not. I think it has something to do with my comments on professionalism and passion, i.e. that a developer must be passionate about their work to realize their full potential.
Also, there is a certain amount of failure that is necessary to get your bearings. If you don’t fail, you don’t know where the boundaries are or what might be improved. I’m not sure where the proper place for failure to end mentoring to begin is. Perhaps it’s just with a simple request for help.