Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Articles People Re-Engineering How-To’s: Mentoring As A Service

People Re-Engineering How-To’s: Mentoring As A Service

Key Takeaways

  • We are an industry that  revamps half of its manpower every five years with fresh grads. This is a source of renewable energy but also naturally brings with it lack of maturity
  • This leaves us in a state of Perpetual Inexperience
  • People-reengineering proposes Group Mentoring and In-line Coaching as a partial remedy for this
  • The Mentorship Hug is an informal–looking, non-celebrative, non-lecturing interactive event run for newcomers
  • Mentorship As A Service is an ongoing part of providing  professional wisdom in an organization


People Re-engineering, as I proposed it in a previous article of the same title , is a spirit of insistence on wellness that happens through five threads of action inside an organization. These are Mentorship & Coaching, Leadership Revamping, Team Energizing, Executive Awareness and Active Monitoring .

So if you have read the first article and it inspired you to look further, this one is for you.

In this second article, let’s delve into some of the how-to’s. Our subject is the Mentorship and Coaching Thread, with focus on the mentorship side, best described as Mentorship As A Service or MRaaS as I call it for short.

The Energy-Discipline Dilemma

An estimate by one of the leading minds in the craft, Robert C. Martin (Uncle Bob), says that the number of programmers doubles every five years with fresh CS and EE grads (mostly) poured from education into the voracious development market. That sounds an acceptable empirical rule with insight much like that of Gordon Moore in transistor packaging decades ago. I won’t leave here before I urge you to take a look at this talk by Martin (Uncle Bob), with a lot of insight on the issues of maturity of our people in the industry. So in an industry that seems like the foundation of human civilization today, we have an average experience approaching that of almost a novice at any given point in time, a little more than that of a novice! This fact encompasses a bless and a mess at one time: We are blessed by that huge renewable source of energy, flow and hyperfocus. The mess comes in what the older cohort in the business see in the self-organizing abilities and discipline in the personalities of the newcomers. I personally disagree with this 'mess theory' and see it as a normal difference in perspectives between generations that were professionally made in different ecosystems, with sharp differences in tempo and culture. Actually it’s our role (as veterans in the craft) to stretch a good hand to get the newcomers professionally in shape seamlessly and gracefully. So what’s the problem, then?

Well, that becomes an issue when resources to coach these hordes of not-yet-matured practitioners are not enough. Especially when we remember the sometimes insane pressures on teams and leaders to meet their schedules, leaving very little space for helping juniors outside what’s barely needed to get them 'technically productive'. And best described, again by Martin in the same talk, we see ourselves in a state of Perpetual Inexperience.

What then can be done?

This is where Mentoring and Coaching should come into play to bridge the gap with Generation Y, or the Gen Yers, the term that refers to those born from the beginning of the eighties till approximately the middle of the nineties. Those who are surely more than a half of our working force.

The catch here is that Mentoring is understood as a one-to-one lengthy process of guidance. This can be costly and even almost impractical to avail for all in normal work conditions. Also, and while coaching is doable on team basis, it still has to be well fitted in the normal day-to-day work environment and situations to avoid cuts and waists in teams’ productive time. Let’s look first at more pragmatic models for both mentoring and coaching as seen from the perspective in People Re-engineering to serve its purposes.

Mentorship and Coaching in People Re-engineering Context

For a practical model of mentoring , I’ve opted for Group Mentoring, where a group of mentorees have access to one mentor for a specific subject for given series of sessions, enough to make the desired change. I refer here to an introductory treatise on the ATD (Association for Talent Development) site for a bit more detailed look on the concept.

On the coaching grounds, I’ve used In-line Team Coaching, sometimes called line-manager coaching, which is part of any effective leader’s duties. My trial here stems from building a good base of Leadership in the organization in the first place, then ensuring that its leaders know how to coach, and not advise, basing their coaching on topics naturally implied by their people’s performance results as well as their willingness to improve.

One more role here is naturally formulated according to the models adopted for mentorship and coaching, that is of the facilitator for that Group Mentorship process. Actually, the natural players here are the leaders. They find out 'with' (and not 'for') their teams what topics to feed into the mentorship service to act on. They arrange and facilitate the mentorship service sessions and have the right to review their effectiveness and impact with their people.

The Mentorship Hug

How should these new brains step onboard, first of all? How to declare to them that you care to provide them with mentorship for building sound careers?

Let me put it simply and plainly: With a Mentorship Hug! That’s the way this PRE (short for People Re- engineering) thread should start.

Every organization has some way to welcome its new people and seat them comfortably into their teams. That’s usually covered by HR in one way or another. There has to be also some sort of Orientation Session or Orientation Day that tells the newbies about their lives in their new jobs.

However, the Mentorship Hug is in neither. It could be scheduled as part of that orientation day (half the day, say), but better if it’s a complete day on its own. Not expensive if the newcomers haven’t got into deep commitments on their projects yet. It’s not difficult to get it arranged by your administration or HR team whenever you get a number of newcomers that’s no less than three from various development jobs up to a team leader’s level, say. Higher Leaders actually have their own thread. The closer to the admission day, the better.

Be it part of the orientation day or better a separate day, just remember to keep it apart from the celebrative spirit usually associated with those welcoming events. It’s intended as a 'professionals talk' that bridges the gaps of age and maturity.

My personal experience with the day is fantastic, if it’s run by the right people in the right form. I’ve defined 'right' based on what I saw after a couple of iterations. We will see that later.

Now, let’s proceed with some specifics of that Hug!

Let’s First Define a Profession and a Mission

Our target in this first encounter is to get the newcomers aligned on the quintessence of a profession: What it means, what it takes and what one should expect it to give along one’s career.

First of all, choose a Leader for the day. Someone with enough experience to impress the new brains. Select someone with some leadership merits. She/he must believe in the mission of mentoring less experienced 'colleagues' to leave them with a sort of a 'manifesto' for practicing effective software development in the days of knowledge revolution (not the industrial one).

Second comes the agenda and the content. Tailor that to your needs, but with one fixed item atop of all, that is the Vision of Software Development in the Knowledge Era. This link is an example. That’s what I use when leading that mentoring hug day. It’s actually my vision for Techstamina, an initiative I lead towards a people-centric development environment.

One nice way to start the talk is to tease people with a couple of questions like these:

  • What is the order of magnitude of number of lines of code in a modern car (Martin’s Talk)?
  • What is there in common between grocery and aircraft design? (Answer: simply software!)

Well, I can guarantee here that after half an hour or so of discussing the role of software and how critical it is to humanity today, if vividly presented, the true meaning of being a developer glares and the eyes start to open wider.

At that point, with such a true and sincere ethical foundation for the craft, we should have emphasized the nature of the job of the developer as a craftsperson (avoiding any gender bias there!), leaving that vivid notion of craftsmanship in the ears and the hearts of the new comers. I’m myself one of the advocates of this perspective for our activity in development. I made quite a benefit of that wave of craftsmanship and pragmatism launched by some industry veterans years ago.

Most of the topics of the day afterwards are suggestive. I will give my choice for that which met most of the needs in my context, then leave it for you to do your exercise if you like. Let me also suggest three seminal works that surely will inspire you therein:

  • The Clean Coder by Robert C. Martin and The Pragmatic Programmer by Andrew Hunt and David Thomas.
  • Peopleware: Productive Projects and Teams, Tom Demarco & Tim Lister.
  • The Pragmatic Programmer by Andrew Hunt and David Thomas: This one somewhat technically oriented, but still has very good introductory chapters on the meaning and the value of pragmatism in programming.
  • And, don’t miss Uncle Bob’s talk I referenced above. It’s truly inspiring.

Living and Excelling as A Software Developer

So, having shown the 'rank' of software in today’s 'human life' and not just 'business', the question now arises: What’s more do you need to tell your recruited 21st century’s 'worries-to-be' about their challenging career?

Here, as I said, I’ll mention my 'preferred' seven essential topics in a skeletal way with some hints on what is there ahead of each.

  1. Our Challenges in The Software Development Career

    To hit them you must know them first!

    So, our first topic defines a list of the challenges that impinge on our work lives before we proceed to build strategies to counterbalance their effects, which we will do along the rest of the topics. Here are the challenges.

    1. Work Pressures.
    2. Software Quality.
    3. Boredom.
    4. The Collaborating Minds Enigma: People working with their brains can easily disagree and probably fall into conflict. Let’s look at how we should address this almost daily challenge in cognitive work. In my case, I saw this as one of the causes of 'friction' that slows teams’ progress at what they do. Sample slide 1 below elaborates more on the idea.

      Sample Slide 1

    5. The Dilemma of Self-fulfillment: Why do people really leave their jobs? Why are we more restless with our jobs than other crafts and specialization?

      The rest of the topics proceed to discuss tactics to live and excel under these challenges.

      Sample Slide 2

  2. The Foundations Of Professionalism

    This topic draws a clear picture for the 'mature' professional character, then shows off the benefits of being a sought-after professional and finally builds a generic model for how one should plan his/her progress in a successful career. Sample slide 2 above depicts a three layer model for the targeted mature professional’s character. Values in the second layer are actually pragmatic values that we need at work to get a non-fake sustained state of success. Key values I think we need here are: Commitment, Accountability, Resilience and Accepting Others (baseline of Teammateship). Then, comes one’s ability to present her/himself to the community around. How people feel about his presence, her ability to communicate effectively, particularly in disagreements. This is generally what makes a third layer of presentability.

    Sample Slide 3

  3. Understanding and Taming Excessive Work Pressures

    Here I create awareness of this phenomena being adjunct to this career and set pointers to how deal with it. Tactics are suggested to 'tame' that in the first place, then further techniques to recover from any effects on our minds, bodies and soles are introduced. Actually, HR teams should provide programs on pressure relief techniques to help people achieve that. In my case, I create the awareness of these provisions and explain why we should afford the time for it. Slide 4 depicts an intro to this topic.

    Sample Slide 4

  4. Software Quality

    Here we create, before anything, a defect fighting culture for our programmers. I used to take the slide above as an aid to explain what 'near perfect' is in terms of defect rate. It just says that acceptance issues should be minimal in count and impact, and that defects should disappear with time to get to stable operation 'before' end of warranty. Then the talk proceeds to other well-known attributes of quality software. The rest of the content is about resolving the deemed conflict between cost and quality and habits the will help a programmer produce quality spontaneously.

  5. The Secrets of Synergetic Teaming

    Let’s approach teaming from an energy perspective: that’s as source of energy for its members, their organization and even their customers. This topic aims at redefining teaming as a way to excel, learn, take up pressures and finally produce quality in the most challenging conditions while enjoying what we do.

  6. The Truth about Boredom in an Ever Challenging Craft!

    If you have noticed the same phenomena as myself with those so called Gen Y people, you should have seen that younger minds don’t afford staying with the same type of tasks for long. This is one sign of immaturity that we need to tackle early and resolve. How and where to find self-actualization in what we do is the outcome of co-operation between teams and leaders in the organization as a whole. This topic, from a self-actualization stance, tells the developer how value of what we do and success in doing it should be rewarding enough to kill any boredom in our work lives.

  7. The Mystery of Coding

    Well, it doesn’t have to be coding per se, but it could be any focus-intensive activity that contributes to building a good piece of software, anything like understanding and expressing requirements tactfully, building an intact design, writing elegant readable code, setting up an impenetrable test rig, etc …. This topic goes a bit into the psychological phenomena of Flow and how to implement it for the best outcome of what we do.

At this point, one enthusiastic mentor should have given a warm Hug of Mentorship to younger people who really need it, but they may feel that unconsciously rather than consciously. The newcomers should be left with a deep feeling that they are here to make a career and last the longer, with their minds and lives in peace.

Spirit Matters

Mentorship hug is the name of the game. For the event to get to the right destination, it needs to be run in a warm and informal atmosphere and not in an imperative lecturing fashion. Here are some tips which I developed over time and have found to work:

  • During the event, people should have access to some snacks, coffee and soft drinks in the room. They are allowed to have these during the discussions. If the event is longer, a quick working lunch, a pizza or some sandwiches, is also a good idea.
  • Start a topic with some question that digs into the minds of the participants. Ask them, for instance, about their perspective of quality, some examples of situations where they had work pressure and how they responded, and so on. It would be great if one can run the topic in a Socratic or maieutic way, where the mentor drives people to reach the facts and not just recite them him/herself.
  • Use humor when you can. Some technical cartoons can help within the slides of the presentation.
  • Give a couple of quizzes in the form of teasing questions that augment some thinking. Make that funny and not offensive. Set some little items as prizes for the right answers. You will know that you made a difference when you meet someone after a couple of years and she/he shows you a key chain that you once gave him/her on a day like that.
  • Act like a colleague who respects his fellow-developers and not in hierarchical way.
  • Have some handouts to give to people with some good takeaways from the hours they spent with you. Ask them for what they would like to add and if anyone would like to suggest a content to complement what you deliver.

Finally, feel free to improvise to leave your people with the warmest first impression.

Sustainable Mentorship

The Hug day is just a start for a continued service that the organization provides its people with to develop their professional character over time. Here are few a points on how mentorship is sustained as a service based on the actual needs of the mentorees and their performance results. Mentorship

  • Mentorship As A Service( MRaaS) has agents to feed it with issues to handle. The main agents here are the leaders, especially those in direct contact with people in their teams: team leaders. The role of leaders should not exceed that of 'facilitators' as previously indicated in the in the section on mentorship and coaching in PRE context. They discuss issues with their team members and see what they would like (or maybe need) to set in the mentoring pipeline. There are other situations where the mentor is directly accessed by those who have the need for the service in one-to-one mode on very specific cases. I’ve seen and practiced both situations. The important thing is that the need for service is felt and approved by those who will receive it. Again, leaders here take the role of facilitators between the mentor and the mentorees in their teams. No more, no less.
  • Topics common to all can be handled on the organization level rather the team level. However, this is not the best case when it comes to detailed aspects of the craft. The 'intimacy of gathering' of the team has a value that can’t be neglected. The organization level sessions would work better in different situations which I will tackle in a second.
  • Some of the topics that will erupt in practice may have a general nature that is not tightly associated with the software family. This is notable in soft skills in particular, in which case the thing may be referred to an external speaker who is a subject matter expert. These topics are subject of 'training' and not that much of professional-to-professional talks that make up the essence of mentorship and coaching thread of PRE.
  • As you may have noticed, most of the talk in this article has lent itself to Group Mentoring rather than Coaching. The fact is that this Mentorship side relies on Coaching to find topics that will make the difference, while in the same time Coaching acts as an almost day-to-day leadership mission which will receive more of our attention when visiting Leadership Revamping and Enablement, the next thread in implementing PRE.

So, that is how the thread is started and sustained within the practice of the organization. Now, it’s time for some difficulties to face.

ِAnd, Avoid The Dismal Look, at All!Dismality!

Where does that look come from here?

Actually, the first issue that is typically raised when encouraging people to be mentored, be that in the initial event or in sessions later on, is 'production time'. Well, my personal experience is that this will not be a problem provided:

  • Proper and keen planning by leaders. Leaders are the facilitators here, they are the ones who know when the best time is that they can plan the event. As an example, I will take the starting session which I like to call the mentorship hug. In some cases, the content was found to be too intensive to cover at one time, or on one day. What we did is to have it in a compact format, then get together in rounds on individual topics in more detail. Some flexibility works!
  • Availability of Local Mentor(s). People who can play the role from inside the organization, and who have faith in it will diffidently avail the time themselves for the mission. This is a source of self-actualization and satisfaction for those who have such an experience to change the lives of the less experienced ones to the better.

In Conclusion

Well, that ends the talk about People Re-engineering first thread: Mentoring and Coaching with the associated service or MRaaS, until probably some more on coaching is presented in the leadership thread. I hope I could deliver a personal experience that I see of increasing value in software development practice in the knowledge era. Just please keep it always away from formal corporate training. It’s on demand, inexpensive and more vivid and intimate in the workplace.

About the Author

Medhat Sabry is a Software Development Consultant, Speaker and Writer addressing the development community over his own self-constructed web-based initiative called Techstamina, together with other social media and professional networks channels. Staying there in the heart of software delivery process for nearly four decades, Medhat had a sound exposure to the emerging challenges in the development industry that formulated his passion to help developers and companies build their professional stamina to take the ever-growing pressures and challenges in today’s software market.

Rate this Article