I don't really care why your career has played like that.
At best, you are a an awesome employee who won't stay with them more than your "frequency period".
At worst, you get discovered and fired within your frequency period.
Especially true for senior roles. Team lead for 5 months? Drop the resume.
Not always true, but in general terms if you are a great employee then you tend to hang around.
I know these are generalisations but when I am sitting there reading 300 resumes in a row and trying to work out who is going to get through an employers gruelling assessment process then if you hop jobs then it's just not worth the effort to even try to assess you.
In software development, there is a co-investment between employer and employee in which time spent in a job tends to result an an increase of value through knowledge of the systems and therefore productivity. Job hoppers don't accumulate such value, and leaving early removes that value from the employers side of the relationship.