Is It Easy to Transfer Experience?
Topic: Martha's Diary
June 7, 2024
Once again, one of my long-time customers started to build an internal team.
It always sucks when it happens. I work for hire, but I work very hard to let people feel I am the best engineer out there.
Come on, stick to me! You don’t need anyone else!
In this case, the customer actually explained himself. He said he realized that he had become too much dependent on me.
If I was not around, he felt helpless.
His goal was to have reliable people in his local area. A good goal overall.
But reliable people do not appear with a wave of a magic wand. Instead of reliable people, you usually get just people - and hope they will become reliable over time.
So, he got those new developers with zero knowledge of his seven-year-old software and started pushing them to learn the system.
Long story short, he asked me to transfer my experience to one of his developers.
Teaching was not too much beyond my capabilities - I had been teaching software engineers for years.
But hey, do you think it’s easy to transfer experience from person to person?
Under what conditions does this problem have a solution?
This is what I do to teach engineers in my company.
- I interview them personally before hiring. I try to assess their fundamental knowledge and basic skills in algorithms, data structures, problem solving, etc. I also assess their willingness to learn.
- After hiring them, I get them through an intense course with several topics a software engineer needs to know. Algorithms, functional programming, object-oriented programming, relational algebra, SQL querying, client-server architecture, etc.
- I try to become an authority for them. I take every chance to prove my knowledge and gain a reputation.
- That also includes good human relations. Our work is hard, and aiming at high quality requires mental strength and consistency, so I show them I fight alongside them.
- I do not expect quick results. The truth is, if I have spent twenty years acquiring experience, my student will need approximately the same amount of time for that. I can simplify the learning curve by showing shortcuts. But there is an opposite factor - the factor of the student's personal grip - that balances out the advantages.
This is how much effort it takes to teach someone.
No wonder transfer of knowledge is only possible under certain circumstances!
To simplify the above, a good student usually needs approximately the same time and effort to get approximately the same experience as I have.
An average student needs twice as much.
A poor student… Well… I cannot estimate the effort - it’s beyond my imagination.
Let’s think about good students.
If I have spent five years working on a project, another quick learner also needs five years to get to the same level of knowledge.
However sad that sounds, it is just the truth.
But what if the person I am to teach has not been interviewed and selected by me? What if the developer is not willing to spend five years learning? How much time would I need to pass the experience over?
What if I am not an authority for the guy? What if the individual thinks it is me who is his subordinate?
The less bright they are, the more they think of themselves.
One may even try to teach me the best way to code the application I have been working on for five years.
Because he has an opinion!
How would you guys calculate my chances of transferring my experience?
How soon can we expect results, what do you think?
There are several wannabe reliable guys I have to teach now. One of them got scared and made a lot of noise a few days ago when he heard the word ‘decouple’.
I am very, very sorry, but you will have to depend on me for some time.
But hey, I am here and happy to be helpful!