Mark Pearl

Intellectual humility is a core part of mentoring and being mentored

Making it intentional

Recently we started a mentoring programme - nothing rigid or too formal, but intentional.
In essence each person in the company has picked someone else in the company as a formal mentor and they have committed to meet at regular intervals. Formal developer mentoring is new to us and with that in mind we are still not exactly sure how it will work. For now we have committed to doing independent short experiments and then to get together as a company and share what worked and what hasn’t. To help with the process here are a few notes we found from various sources regarding mentoring and what a developer mentor should do. (Credit goes to Janco for compiling the majority of these items).


Get the mentee to do most of the driving, they learn more when they are typing things in, than when they are listening to the expert telling them what they are doing.

Breakable Toys

Read about the concept

Johanna Rothmans Ideas on Mentoring

Mentoring is a professional developmental partnership. The mentor shares knowledge, skills, information & perspective. The aim is to foster personal and professional growth of someone else.

Ground Rules

  • There are no stupid questions. Ever.
  • Confidentiality


  • Recognise and identify mentee’s learning style.
  • Seek to take advantage of their preferred learning style.
  • Identify clear goals and outcomes.


  • Take a real and active interest in mentee’s life and progress
  • Short feedback loops
  • Set expectations early
  • Don’t assume knowledge
  • Don’t lord knowledge and experience
  • Share freely
  • Listen, explain, guide - don’t direct
  • Set goals and lay path to achieving them
  • Be proactive
  • Make yourself available
  • Give the benefit of your experience (war stories)
  • Keep pointing them in the right direction (so they don’t waste time learning something less valuable)


  • Neglect the relationship
  • Break confidence
  • Control
  • Overwhelm
  • Not sharing common moral / ethical grounding

You’re confusing teaching with managing

The traditional career path is linear, which often means pushing top talent down a management track, supervising others. Leaders may notice that one of their people enjoys teaching others, and then assume that they’d enjoy managing others. Mentoring and managing might seem similar, but they’re entirely different skills. Management is really about getting work done through others, which makes it highly people-focused. Mentoring or instructing–especially when it comes to software development–is more about a knowledge-transfer of technical skills. Be careful not to mistake a technical expert who enjoys teaching for one who enjoys managing. Instead, offer your best senior engineers more than just one kind of leadership opportunity; carve out a separate path for technical experts to advance up the ranks based on how well they help their junior colleagues “skill up”–even if that doesn’t involve managing their work.

This is why your best developers keep leaving

Sources / Additional Reading

Mentoring Junior Engineers
The Secret Of Being A Great Mentor
Seven tips on mentoring entry-level developers
Dreyfus Model
The Religious Tradesmen, pages 217 onwards
Struggling to find great senior javascript developers? Mentorship is the answer
ThoughtBots Mentorship Handbook
Mentoring & Giving Feedback at 8th Light
How to mentor software developers by Daniel Irvine
Mentoring & Apprenticeships for Software Engineers
4 tips for mentoring developers

blog comments powered by Disqus

Want to get my personal insights on what I learn as I learn it? Subscribe now!