For example, I think one of the key skills for fixing bugs is being able to map specific examples (e.g., testcases for bugs) to a software design that you're familiar with. Being able to do this well makes fixing bugs much easier.
Jul 14, 2019 · 4:36 AM UTC
1
1
In other words, fixing a bug quickly often involves (a) having a mental model of what should have happened (through the software system) in the testcase and (b) observing (perhaps by testing variants of the testcase) in which part of the system things likely went wrong.
1
2
And it seems like there's a huge amount of variation between engineers in how good they are at doing that or at least in how quickly they learn to do that when exposed to a new software system.
1
As much as I can teach people how a system works, and walk through how specific examples move through the system, I'm not sure how to teach the skill of thinking through how a particular example is handled by a system.
1
I can explain that this skill exists, suggest that experience working through problems (both alone and with others) and learning the details of the system may help develop it.
1
