I’ve recently noticed an issue that I face as a begintermediate developer. If I am working on a feature that I have implemented many times before, and solved over and over, it is easy for me to Get the Thing Done, and implement the feature with little time or effort required.
However, on the not-so-rare occasions when I encounter a new feature, where I need to learn how to implement it, either logically, as an algorithm, or how an api works, I can usually spend an almost unlimited amount of time reading the docs, or tutorials, playing with minimal examples to see how they work, and so forth, eventually learning how it works in some relative amount of detail.
Lewis Hine, Boy studying ca. 1924
Both of these are good scenarios. In the first case, we GTD, and in the second, we learn something. However, when external constraints come into play, I find myself running into problems. For example, if I am on a tight deadline, and need to implement a feature that I am unfamiliar with, I revert to GTD mode, look up a working code snippet, fiddle with it until it works, and then I’m done.
So far, so good.
But, there’s a problem. I haven’t learned anything. This means that the next time I run into the problem, I’ll probably hit the same quandary of GTD vs. time and learning. In the best case, I can take the time to learn it properly, in the median case, I repeat my copy-paste fiasco, and in the worst case, I may even believe that I understand it, when I don’t.
This is a very insidious problem. Because I recognize the problem as one that I have “solved” before, my brain assumes that that means that I also understand the problem, even when I may not have taken the time to learn how it really works.
I have a feeling that this kind of problem may extend into other domains. For example, in many classes, a wide variety of theories are taught superficially, possibly leading students to believing that they understand a topic, when in fact they were only given an overview. In conducting research, if we read enough articles that apply or refer to a given theory, we may believe we understand that theory, until, of course, we actually need to apply it.
Maybe I should be making a list of things I’ve read and not really learned in depth, so I can go back and study them in depth later on.
Yes, absolutely. I think this idea of deep understanding vs learning enough to get the job done is true in most scenarios. In research, it could be using a famous quote from a famous person without fully understanding the concept behind it.
This actually happened to someone (who will remain nameless… ahem!) who cited an idea in a recent paper. The citation was good enough to make the point. But it wasn’t until the researcher found an earlier citation for this idea and worked hard to understand it and to be able to explain it to others, he didn’t really see the big picture.
I think this happens all the time. I see a lot of posts on Facebook where people are repeating talking points without actually understanding the science or the full ramifications of what they are saying. But they feel strongly enough about “the facts” to shout their opinions from the rooftops.
Yes, exactly! This is definitely something broadly applicable. Of course, here I’m shouting my opinions from a modest rooftop (first floor window?).
I also thinking of my issue where I replicated the AFL, without really thinking about my real goals. You also see it in cases where a novice researcher (here I include myself) uses a method they’ve seen used by others without understand the reasons for its use in context, and the implications of its use.
Hmm, I need to update my style. The first line of these comments looks terrible…