This is the third post in the teaching and learning series. The teaching and learning series includes the following posts:

  1. All Developers Should Know How They Learn Best
  2. _The Secret Of Being A Great Mentor_**


  1. The Secret Of Being A Great Apprentice _(this post)___
  2. Become A Better Developer By Indexing Your Brain
  3. Learn More – Faster By Using The World-Wide Community
  4. What Playing Cards Can Teach Us About Ramping-Up And Transferring Knowledge

ApprenticeBeing a great apprentice is easy. It is especially easy in software development. If you use a little bit of common sense coupled with your natural software developer curiosity, you won’t go too far wrong. It doesn’t matter if your mentoring relationship is formal or informal (see the previous post in the series), you need to do the exact same thing either way to be a successful apprentice and to get the most out of your mentoring relationship. Don’t worry though, I am not going to ‘leave you hanging’ with some amorphous advice about curiosity and common sense, we’re going to examine precisely the qualities that make a great apprentice.

Being A Great Apprentice

As a mentor you have much to consider. You are responsible for another person’s development and for charting the course of their future career. There are many things you can do well and just as many (or more) that you can do badly. As an apprentice, on the other hand, all you’re really responsible for is absorbing as much information and experience as you can. In essence, all you need to do is learn. Simple, right? Well, not really, you can stuff up learning just as easily as you can stuff up any other task. So, here are a few guidelines to make sure you don’t.

  • Be genuinely interested in what you’re being taught – this is probably the most important point. There is nothing more pleasing to a mentor than seeing their apprentice get a real kick out of what they are learning. What this means is that if you’re not truly passionate about software development then perhaps a mentoring relationship is not the way to go for you. It is really tough to fake genuine interest. So, how do you show it? Listen closely when someone is trying to explain something, observe when others do the activities that you’re trying to learn. Ask questions, and I’ll say this again, ask questions, nothing will indicate your curiosity and interest more than asking your mentor to elaborate or explore a topic more deeply.
  • Forge your own path – your mentor is not the only source of information out there. This point ties in very closely to the previous one. Another great way to show genuine interest in what you’re learning is to constantly be learning under your own steam. Dig deeper into the subjects you’ve been discussing, find your own information. Once you think you’ve dug enough, go back and discuss it all with your mentor. Not only will this help you crystallize the new information in your own mind, but you might also learn some helpful hints and tips from your mentor. Of course another upside of digging up stuff on your own is the fact that it is likely to generate an endless stream of questions on your part which will encourage your mentor and give them energy to keep imparting their hard-earned experience onto you.
  • Respect and appreciate your mentor – this is paramount in any apprentice/master relationship. I’ve written about the value of respect before. Showing a genuine interest in what you’re being taught is one of the signs of respect, but we already have this one down. So, what are some of the others? One is being willing to follow directions without argument and experimentation. There is certainly a place for questions and experimentation in a mentor/apprentice relationship, but sometimes it is better to just do what you’re told and see what happens. People who are really great at what they do will often find it hard to explain why you need to do something a certain way because for them it is almost instinctive. But, they can show you and if you’re willing to follow directions you will usually be able to see the benefit of doing things their way. Another way is to show your appreciation for your mentor by voluntarily taking on some minor annoying and time consuming tasks that are normally the mentor’s responsibility (i.e. perhaps they need to generate a minor weekly status report, or maybe they are responsible for producing a chart of some sort etc.). As the saying goes, “Shine your master’s shoes”. We don’t have to be quite that literal is software development :), but if you can easily find a way to make your mentor’s life easier, it will go a long way towards showing your appreciation.
  • Don’t allow yourself to be ignored – life often gets very busy in software development. Your mentor may have a lot of responsibilities besides yourself and sometimes, in all the rush, you may be forgotten. Don’t allow this to happen. Your mentor is not doing it on purpose, multitasking at any but the most basic level is tough for everyone. Sometimes it will be up to you to remind your mentor that you exist. Perhaps you might set up the next meeting or give them a friendly reminder as you walk by. Don’t expect your mentor to always initiate contact. And don’t be afraid of ‘interrupting something important’. When you have a great relationship with your mentor they will likely be glad to have a break and spend a few minutes with you.
  • Don’t be afraid of looking stupid – this is one of the few times in your life when looking stupid will cost you nothing and is infact almost expected from you :). Too often people are concerned with maintaining appearances. It is very hard to learn without making mistakes and believe you me, it is much better for you to ask silly questions and look stupid now, then to not ask and look like a complete fool when you make rookie mistakes ‘in the wild’.
  • Experiment on your own – there are times when you need to follow directions and not ask too many questions and then there are times when you don’t ask any questions and just give it a go. Your mentor can’t spoon feed you everything and just because you’re in a mentor/apprentice relationship doesn’t mean you suddenly have no will (or brain) of your own. Try things out, experiment with what you’re learning, your mentor may despair at the mistakes you might make, but they will respect your enthusiasm and desire to learn which will only strengthen your relationship further.

Is It Even Possible To Fail

It is even easier to fail at being an apprentice than it is at being a mentor. As a mentor, when you make a mistake your apprentice potentially doesn’t even know that you have stuffed up (that’s why they’re the apprentice after all), so you may get away with it once or twice. As an apprentice, when you’re stuffing up you still may not realize, but your mentor certainly will (that’s why they are the mentor :)). The danger is that you won’t know for a while that your mentor has stopped engaging with you especially if the mentoring relationship was informal. Fortunately, stuffing up is what apprentices are meant to do so you don’t need to worry about being perfect. Make as many mistakes as you like as long as you always retain two qualities:

  • Curiosity
  • Respect

We have discussed both of these above, so we don’t need to go over it again. Just remember, as long as you respect and appreciate your mentor and show genuine interest in what you’re being taught you will almost always be a great apprentice.

I hope that you have found this post helpful. If you have any other tips on being a great apprentice, then please share them with everyone by leaving a comment. This is the third post in the teaching and learning series, stay tuned for the next one which is titled – Become A Better Developer By Indexing Your Brain.

Image by johnnycorduroy