The Importance of Mentorship

2 באוקטובר 2010

4 תגובות

It's hard to become a professional. It's even harder to become a professional Software Engineer.

Last week, during a small management conference I bumped into an old friend of mine, who I didn't see for a couple of years. Being a leader of a software engineering group, he was frustrated and worried:

"I have a group of 20 people, working hard to meet harsh deadlines. The project has just started, but most of the software engineers are already not pleased. There are junior developers that consider themselves as senior developers, there are senior developers that consider themselves as team leaders and there is no uniform professional knowledge. All of these are affecting the product's quality and really hurting our work."

Although there are many ways to shape cohesive and gelled teams, there is one important notion that just lately received its attention: Mentoring.

Mentoring a Team

The professional life of a Software Engineer is rather sporadic.
Most of us are drifted with the stream. The lifecycle is pretty much the same; You find a job, you receive features or requirements to implement, you code, you debug and then you move on.

But, have you ever felt that if mentored by a true professional you would succeed more?
You would know deeper. You would decide better. You would have better choices of your career paths.
I reckon that most of us did feel the same…

Moreover, good mentors, not only promote individuals, but usually create around themselves a great environment (and therefore great teams).
Excellence drives excellence and professional excellence usually directs all the team members to shared ownership, partnership and targets.

However, it is hard to find a true professional and it is even harder to find a true professional that knows how to mentor.

There are a lot of parameters that shape a mentor, but no doubt the first virtue will be experience: Experience of successes, experience of failures and experience of crisis-es.

Those are true Software Craftsman, that spent their days and nights in polishing their skills.
And being masters in building and managing software, they can teach you a lot: How to write good requirements, how to architect, how to design, how to produce clean code, how to build software, how to ship software, how to manage technological teams, how to receive better technological decisions and etc… and etc…

There is much more to say about mentoring. I will dedicate a few posts in the future, to describe what are, in my opinion, the virtues and the ways to do it well. However in the meanwhile, I would like to take up the glove I have thrown in this post… On our next Software Craftsmanship Meetup, I will enroll a Mentorship program.

A Mentorship program will allow Mentees to find an appropriate Mentors.
The mentorship period will be for at least 4 months (IMHO, it should be more than 4 months, but let's start with that period).
During the mentorship period both the Mentees and the Mentors are committed to each other.
They will meet for at least 2 hours each week in order to:

  • Provide Technical Guidance and Feedback.

  • Provide Reading Sources.

  • Review and Build Carree Paths.

  • Hold Code Reads, Code Reviews and Pairing.

  • Do Architecture and Design Reviews.

  • Review Management Decisions and Advise Management Dilemmas

  • Etc. . .

Samurai - A total Devotion to the Occupation

If you are not coming to the 4th Software Craftsmanship meetup, but still want to participate you are most welcome to contact me via the blog.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

4 תגובות

  1. Moshe Kaplan3 באוקטובר 2010 ב 23:12

    Hi Uri,

    We discussed it earlier today,
    It will be very interesting who would be the wanna be Mentees and Mentors?
    Could it be a success story such as in the entrepreneurship? What each party will earn?

    Keep Performing,
    Moshe Kaplan

  2. Max4 באוקטובר 2010 ב 22:16

    > Most of us are drifted with the stream. The lifecycle is pretty much the same; You find a job, you receive features or requirements to implement, you code, you debug and then you move on.

    This is the problem, not mentoring. If you are passionate about the craft, if you want to learn more, you will find advice, challenges and help even if there are no "true professionals" in your immediate surroundings.

    On the other hand, if you're in the majority "drifting with the stream", you wouldn't even read a blog, much less seek mentoring (unless if it's forced on you – and then you would resent it as you would rather go home and spend the evening with your family or hobbies).

  3. Uri Lavi4 באוקטובר 2010 ב 22:48

    Well, even if you passionate, it can take you a long time to learn the right things. Sure, passion is a very important ingredient, however a good mentor can shorten the path.
    So, I don't say you don't have to have a passion. You do !!!
    Regarding the majority; I know… that's why I started the Software Craftsmanship in Israel movement. However, I don't accept that they won't read a blog. A good mentor must inspire, and if they will have a few great craftsmen in their environment they will ultimately follow. Believe me, I a have seen this happens.

  4. Susan Bender Phelps5 באוקטובר 2010 ב 0:17


    You are right on track in seeing that a mentoring program can be a powerful tool to forward a person's career. You hit the nail on the head when you mentioned that the key is knowing how to mentor. An effective mentor must know how to listen, how to spot patterns of behavior and performance, understand that even engineers have different ways of thinking and at arriving at solutions, and they must learn to ask thought-provoking questions that lead a mentee to solve his or her own problems. An effective mentor also needs to learn to acknowledge progress, success, and even failure. All of these skills can be learned. Ultimately, these are the skills in addition to engineering that will make program participants more successfull as leaders and team-mates.