The 'should' word
I’ve been reading Coders at Work recently and one of my favourite answers from the first chapter interview with Jamie Zawinski is the following:
I think one thing that's really important is not to be afraid of your ignorance. If you don't understand how something works, ask someone who does. A lot of people are skittish about that. And that doesn't help anybody. Not knowing something doesn't mean you're dumb - it just means you don't know it yet.
A variation of this which I’ve noticed myself doing is internally telling myself that I ‘should’ know how to do certain things much better than I can.
This is most typically the case when I’m struggling with something on a new project that I’m working on and while it is indirectly useful for helping to identify areas that we can work I think the voice in itself is not that helpful to our learning.
When this happens I’ve started writing down whatever it is that I think I should know better and then taking some time to read more in that area.
Wherever possible I also try to speak to people who already have that skill and find out how they went about learning it.
For example, as I mentioned in my post about reading the Unity source code, reading code is something I want to get better at and when I’ve worked with Dave Cameron he’s able to understand how things fit together much more quickly than I am.
When we discussed this he pointed out that he’d spent a lot of time debugging through a lot of different code bases just for fun and working out how they fitted together by following the control flow.
It’s pretty much always the case that others have spent quite a bit of time working on these skills so it’s certainly something to keep in mind next time I come across something I ‘should’ know!