Legal sua postagem, certamente ela tem utilidade, mas eu preciso fazer umas ressalvas para as pessoas que vão ler isso.
Primeiro a definição do https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect está errada, é o oposto, se você sabe que não sabe nada está ótimo esse efeito não está te pegando.
Algumas pessoas sofrem de Síndrome de Impostor. Ao contrário da crença popular, essa "síndrome" ocorre com bons profissionais que são capazes de fazer tudo o que é necessário, mas ela chama que não sabe. Se ela realmente não sabe e tem entendimento que não sabe ela não tem a tal "síndrome", ela é realmente incapaz. Pode haver vários níveis disso, então pode ser pouca coisa ou muita que a pessoa tem.
Só saber como se virar não é suficiente para determinar a capacidade da pessoa, isto é algo bastante complicado de avaliar.
De forma geral a maioria dos programadores, ou outros profissionais, são saberão avaliar se sabem programar ou não e aí o efeito Dunning-Kruger pode surgir ou não, ou até a Síndrome de Impostor, embora quando esta última aparece com persistência e de forma intensa, a pessoa não tem mesmo toda capacidade necessária, apesar de ter quase tudo.
"Saber programar" não tem uma definição clara e cada um pode estabelecer suas próprios regras. Tenho um amigo que a regra dele é "se você disser que é programador, você é programador". Ele é muito experiente, não é burro, mas é influenciado por uma bolha positivista e inclusive que cria distorções. Eu conheço várias pessoas que determinam que só sabe programar quem sabe toda a computação e engenharia de software em todos os seus aspectos, ainda que não tenha forte experiência em tudo isso, mas ela está preparada para se aprofundar mais, tomar boas decisões com conhecimento de causa. E claro que tem diversas variantes entre esses extremos. Eu estou mais perto desse segundo extremo do que o primeiro ou mesmo bem no meio. O texto do autor parece ir na direção oposta. E talvez não seja claro para alguns que determinar isso com precisão é muito difícil.
Geralmente, até atingir uma grande conhecimento e experiência, a pessoa não consegue se autoavaliar bem. Ela precisa da avaliação de outras pessoas que sejam extremamente experientes não só na programação, que entenda tudo isso que eu estou falando aqui e que não possua vieses sócio-políticos ou mesmo técnicos, que o desqualifica para avaliar alguém de forma correta. Não se esquece que os processos seletivos são muito mal-conduzidos e está cada vez pior, porque as pessoas estão com dificuldade de avaliar outros profissionais, e muitas vezes a sua própria incompetência superestima a competência do outro. Também pode ocorrer o oposto.
O texto original não está errado, mas é uma apenas forma de avaliar, uma que não é muito rígida e provavelmente serve para indicar que você é um trainee ou quem sabe um júnior. Algumas pessoas vão errar até pelo efeito DK.
Se você preferir pedir para alguém te avaliar, lembre-se essa pessoa pode não ser boa avaliadora, ou pode até ter pudor em dizer que você ainda não chegou lá para não desincentivar você, o que já vai te viciando, é como uma droga, parece gostoso, mas depois você paga um preço por ter usado.
S2
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui).