The reason why I *know* I'm not a very good programmer is that once in a while I stumble upon something which objectively looks like quite a simple problem, but my mind isn't able to fit the puzzle together in the correct order despite knowing what the pieces are, which are the starting ones and what the end result needs to look like.
(And this happens for relatively small number of pieces too, n ~=5)
The reverse of that is that I am somehow able to read requirements and make architecture decisions for large scope issues and reach, most of the time, the correct goal.
I am the #imposter