It's been almost a decade since I've ranted against the use of, "It Depends", as an answer to any question. And, in the last 10-years, my feelings about "It Depends" haven't really changed; but, to be honest, I haven't given it much more thought. The other day, however, while listening to episode 141 of The Bike Shed PodCast, Derek Prior shared his feelings on the "It Depends" answer; and, added some more nuance which I found to be very insightful.
When I first discussed the "It Depends" answer, I looked at it from a "best practices" point of view. Meaning, when a teacher is asked how something should be done, I felt that the teacher should provide an answer that encompasses best practices. And, if necessary, bring up reasons as to why one might break with those best practices.
On The Bike Shed PodCast, Derek Prior also rallies against the "It Depends" answer, favoring responses that encompass best practices. But, in his case, he points out that those "best practices" have to be commensurate with the skill level and experience of the developer asking the question. Meaning, the answer shouldn't be the "best approach" - it should be the "best approach that the student can reasonable implement."
As with all things, I think the answer to all these things - all these questions - really comes down to, "It depends." But, that's not an interesting answer, I tell a lot of people. And, almost as a separate topic, I find that the "it depends" answer is applicable to people depending on the level of experience and skill that they have, right? So, early on in your career, when someone says, "How should I do X?"; or, maybe you as an expert in your career, someone earlier on in experience level says to you, "How should I do X?", I feel like I'm more likely to give an answer that's like, "You should do these three things", right? And, be much more unequivocal like, "I think this is a good way to do this." Where as, as they progress, as their skill level progresses and maybe their question gets a little more nuanced as well, I'm much more likely to give the answer of, "Well here's my first thought is this; but you may also need to consider this other thing," and make that kind of guiding.
NOTE: This is my personal transcription of the audio; so, my apologies for any mistsakes or omissions.
I really like this. His perspective takes the "It depends" answer and inverts it: "depending on your skill level, the answer is X." This approach makes it harder to answer questions because it requires more discussion; and, more empathy and understanding on behalf of the teacher. But, I think that this kind of teaching can make a huge difference when it comes to empowering (and motivating) students with less experience.
| || || |
| || |
| || || |
As a student myself, this strikes a chord. I know that I am most motivated when I'm "challenged" by my skill level, but not overly frustrated. I liked being stretched when coming up with a solution. But, I get discouraged when the "right" solution seems to be far out of reach.
As a teacher, I try to avoid ever saying, "It Depends." But going forward, I'm going to use Derek's perspective to help me contemplate and color the answers that I provide. I need to have more empathy with the people who ask questions. And, those watching this process need to have an understanding that my answers are also commensurate with my own skill level and experience. We are all, at the same time, both teacher and student.
ASIDE: In my post from 10-years ago, I had just started learning about Object Oriented Programming (OOP). It saddens me somewhat to know that in the ten years since that post, I've only progressed from being terrible at OOP to being really bad at OOP. Things aren't progressing quite like I would have liked. But, I still get to build some cool stuff. So, it is what it is.