Here in Ukraine there is a joke: nothing spoils health of Ukrainian more then richness and welfare of his neighbor.
Also I often hear statement that helping others can transform your life to better. I've spent some time on finding the ways to help others. But helping not via giving money. As one man once said give somebody fish for two times and for third time that person will demand fish from you. So I wanted to be a person that can give fishing rod to people instead of just giving them fish.
As result I've decided to teach some close friends of mine programming. Well, it is not a surprise because I'm quite skillful in that area and what else can I teach? And you know, it changed my life to something that I never expected.
Lesson 1. Obedience
- Obey to your mentor or superior even if you sure that you know better.
After that story I've never did something against what Team Lead told me to do until I've discussed with him my idea. I learned this lesson because I've seen how bad it is to say yes, I will do as you say and then do something similar to what you've said, but not exactly as agreed. Interesting that George finally become software developer, but it took him 5 years. So one more tiny lesson: commitment can bring you good result.
Lesson 2. It is hard to become a programmer.
My second student was another friend that for me looked as very gifted person. Let's name him John. He didn't have money to go on courses of programming, so I organized for him pluralsight subscription and made bi-weekly monitoring of his progress. And I can say the following: John is really gifted person, but not in programming, but in selling. After few months of training I've noticed that John could convince me that he really knows and understands parts of C#, but only after deeper analysis I was able to see that it wasn't the case. On the example of John I've realized that John can sell to viper it's own poison with some discount and viper will be happy. After that I've recommended to John to work for companies as sales manager. And you know what? He gets promotion after promotion as sales manager. I'd with to be as good in programming as John in selling. Most surprising part for me is that John almost didn't have any courses on how to do sales. While for programming he spent plenty big amount of time but he is really brilliant sales manager. So lesson 2:
Some people need much more time to become programmers
Lesson 3. Mentor can make mistakes, but allow him to fix them.
My third student was one more friend, let's name him Michael. Michael was probably the most obedient student that I ever had. What was the most impressive to me, that Michael had plenty of disappointments. For him it was really hard to learn programming. He had issues with understanding what is array, what is collection, what is class. Why on earth they are needed, why object oriented programming is needed, etc. Some time I become so exhausted from explaining him what to do that I've sometime had desire to give up. But luckily I and Michael didn't. After half of year Michael had his first job interview that he failed. Try to guess, why? Because he was good in understanding of language, but he was very bad in application of language. He weren't able to reverse string in C#. And that was mine error as well. I so much concentrated on training Michael with theory, that I've ignored main purpose of programming language: programming steps. As result after Michael's fail I've made a change to his program and added much more coding practice. It is worthy to mention that Michael now works as software developer to. So lesson 3:
Mentor can make mistakes and will make them, but allow to mentor fix mistakes.
I have little bit more mentoring students then three mentioned in this article, but just want to say the following:
- If you will help somebody to become a programmer, you yourself will become better programmer
- Our brain works differently when you try to understand something and when you explain it to somebody
- If you search for mentor keep in mind that he can make mistakes in you, but still he knows better in case if he is working programmer
I hope this article will inspire already working programmers to stretch helping arms to other people that want to enter software development industry as well as inspire those who search for helping arm realize that such hand can really exist.