tag:blogger.com,1999:blog-4846039822974346622019-12-12T05:31:31.816+00:00Robust SoftwareTales of a code samuraiGarry Shutlerhttp://www.blogger.com/profile/02687238400432537215noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-484603982297434662.post-34472391358873187912010-03-21T20:46:00.001+00:002010-03-21T20:46:58.934+00:00Describing the journey<p>Often when explaining something it’s easy to straight to the end goal saying: “This is how to do it. Isn’t it awesome?!” At this point you will get a blank stare and quite possibly a “why?” This can be frustrating, you’re showing something that’s an order of magnitude better than the current solution but they can’t see it.</p> <p>This isn’t their problem. They aren’t idiots. It’s your fault. </p> <p>In order to understand a solution you have to understand each step that was taken in order to reach it. You may think you’re doing them a favour by helping them avoid all the trials and tribulations you undertook; but you’re not. You’re doing them a disservice. Understanding the journey taken will give them a deeper knowledge and understanding of the destination.</p> <p>If when you learnt to ride a bike your dad rode past you going: “Look isn’t this great? Now you do it.” You’ll try, faceplant and go home crying. The pain of you learning to ride a bike would be your burden alone. You might have still learnt to ride a bike, in a rather painful way, but you would be more likely to have given up. What your dad actually did was hold on to you, put stabilisers on your bike and taught you each part of the process individually. He shared in your pain, invested in you and ultimately he shared in your success.</p> <p>If you really invest in teaching something to someone you’ll tell the story. Make sure they understand the initial problem, explain the various approaches you took before selecting the final one. Describe the ones you dismissed out-of-hand and why you did that. With all this knowledge then the student will be in the position to say “this is awesome” and the teacher won’t have to.</p> <p>Do anything less and you aren’t sharing your knowledge, you’re sharing a solution. If all you share are solutions you aren’t enabling people to create their own.</p> Garry Shutlerhttp://www.blogger.com/profile/09896269341967717523noreply@blogger.com