February 17, 2020 Opinion
February 17, 2020 Opinion
If you want people to like you, ask them for advice instead of giving one.
Recently I was approached to give advice on learning and improving tech skills by someone not on my team. I agreed, though this was somewhat unexpected that someone would ask me this, like if I were any authority on the topic. “I know shit, why would you ask me anything?” where my initial thoughts. Whatever was the reason we spoke about different approaches to self-improving and especially techniques to deepen one’s technical knowledge.
The things that came from the top of my mind were these, and in this post I will give few thoughts on them:
Learning Pyramid is one one the learning models which stacks learning activities based on the retention rate of knowledge. Here is a table from wikipedia:
Retention rate | Learning activity before test of knowledge |
---|---|
90% | Teach someone else/use immediately. |
75% | Practice what one learned. |
50% | Engaged in a group discussion. |
30% | Watch a demonstration. |
20% | Watch audiovisual. |
10% | Reading. |
5% | Listening to a lecture. |
Source wiki: Learning pyramid
Effectively what it says is that using knowledge, practicing and teaching others is magnitude more effective than reading. When I think about this it seems somewhat paradoxical as often to teach someone or to practice you would actually need to read. The difference I could derive here is probably the timing of when the application of knowledge happens, i.e. if you read a short chapter on something and immediately try to use the knowledge vs. reading 20 chapters and then trying to do something about it.
The below is a technique of learning by Richard Feynman on the same lines. If you don’t know, Feynman was one of bright figures in science world. If you haven’t read “Surely You’re Joking, Mr. Feynman!” I would strongly recommend it.
The FEYNMAN technique of learning:
— Richard Feynman (@ProfFeynman) January 9, 2020
STEP 1 – Pick and study a topic
STEP 2 – Explain the topic to someone, like a child, who is unfamiliar with the topic
STEP 3 – Identify any gaps in your understanding
STEP 4 – Review and Simplify!
When I spoke with my colleague, I mentioned that brain processes of information retrieval are different from the processes of information storage. You make it one way road if you only read without practicing. This brings us to the next topic:
Not all practice is equal. After years in software I tend to do things the way I’m used to, despite knowing there might be better ways. This is not right as it is always a good idea to step back, see what you can do better, learn it, repeat few times to make it a habit and so on.
While regular practice might include mindless repetitions, deliberate practice requires focused attention and is conducted with the specific goal of improving performance.
by James Clear, from here: https://jamesclear.com/beginners-guide-deliberate-practice
I think looking at your own knowledge gaps, and spending time to explicitly work on those areas is probably the best you can do to improve. Sometimes you would need help to help you understand what the gaps are and what you can work on to improve. Unfortunately, just repeatedly doing what you already know might not help.
There are four different kinds of activities that I do at work to help others learn and to learn myself. Unfortunately I’m not sure if I can expand on what they are exactly, but in essence they are about sharing knowledge, encouraging others to share knowledge, discussions around concrete technical topics, and hypothetical problem solving. I encouraged the colleague of mine to do something similar in his team, starting with a small group of interested people and then extending if this goes well.
If you are reading this post and are interested in expanding your technical knowledge it might be a good advice for you – start some learning activity with the group of interested people (teammates, local nerds, etc). The activity could be anything that interests you in particular. This may sound selfish, but you will be the main beneficiary of such activity.
Let’s finish with the Dunning-Kruger effect – you know that plot of perceived knowledge versus actual knowledge over time. Here it is, in case you don’t remember:
I’m definitely post “mount stupid” but I have no smallest idea where exactly – maybe still sliding down, who knows. There was time, maybe first 2-4 years into my career when I had enough confidence to give talks, write 100s of blog posts and write an e-book. Now I feel like I don’t know anything. Though, in retrospect, this should not be the reason not to do things. Doing is learning. This is also the reason I started writing more on the blog. So again, if you are still with me, doing things is always better than not doing them (kind of self-evident, I know). Reading is not enough (another sin of mine), applying knowledge is what makes you move forward!
Share in comments how you are working on your learning.
Markdown | Result |
---|---|
*text* | text |
**text** | text |
***text*** | text |
`code` | code |
~~~ more code ~~~~ |
more code |
[Link](https://www.example.com) | Link |
* Listitem |
|
> Quote | Quote |
I would highly recommend reading the following book as a follow up https://www.amazon.com/Pragmatic-Thinking-Learning-Refactor-Programmers/dp/1934356050/
It basically covers the same topics, but is written by Andy Hunt (the Pragmatic Programmer Guide)
Hi Oleh,
thank you for the recommendation! I will definitely check this one out!