Everybody talks about how hard it is to tell a good engineer from about one. I've been thinking about what exactly that means in terms of our day-to-day.<p>If 10% of the work you're doing this quarter is work that you are going to be doing next quarter, you'll need to be interviewed differently than if 90% of the work you're doing this quarter is work that you're going to be doing next quarter.<p>If the job is narrow and predictable enough, you can just assess somebody's ability to do the tasks you will ultimately need them to do. if the job is broad and unpredictable enough, you have to assess it by proxy. Like how due to the long tail of word usage [0], it's easier to just talk to somebody to see if they are fluent, rather than quizzing them on words.<p>I wonder if software engineering is in some weird anti-sweet spot, where our breadth of work isn't so broad that we really need many year degrees and licenses and boards, but isn't narrow enough that you can just assess somebody on the actual duties you want them to be performing.<p>Not to mention that different jobs in the field really do have different degrees of unpredictability/variety, so the breadth experienced in a few years at one shop would be completely different from the narrowness experienced in a few years at another, so a resume doesn't you tell as much as you'd hope.<p>[0] A full 50% of the words in <i>Tom Sawyer</i> only occur once, for example. It's why teaching languages can only go so far, and you really just get lots of experience using a language to become proficient.