Recently in my social bubble, mostly on Twitter, there has been a lot of talking about mentoring. Senior developers mentoring juniors and so on. Although I’m not, by any means, saying mentoring is bad and juniors should leave seniors alone, I’d like to also share my opinion. Shedding some light into this seemingly black-and-white problem.
Mentoring is not babysitting. You were assigned a task and you’re expected to do most of the work. Mentor can help you when you’re stuck or can’t decide which route to take. But that’s it.
Don’t mix mentoring with teaching. Read books, read articles, take some courses. Ask your mentor for book recommendations, problems to solve as a quiz. Just show you did your studying, before asking any question.
In fact, almost every company I worked with or for, was more than happy to buy books for people or allow the usage of the company’s equipment after work for study.
Be prepared to do extra. Did you notice “after work” in previous paragraph? Yes, to become better, you need to do something extra. Easy as that.
Just because you’re more into cross-country skiing (for example) doesn’t mean, you can’t be a good developer (or maybe even A-class developer). But make your priorities straight. Don’t play it 50% effort into programming and 50% effort into cross-country skiing to see what happens. Mentor respects you, so respect hers/his time and knowledge, and do whatever he asked you to do (or expects you to do).
I believe everybody can be a good developer, if the work is put in. I even think the mentor can get different perspective on a problem from a mentee. I even consider mentoring talking to my colleague (senior or junior). It does not have to be formal. Every bit (pun intended) of knowledge counts. That’s why I also like pair programming (but that’s a different story).