For a majority of that time I have been taking the "shotgun approach" of applying to tons of software development positions regardless of the company and its size, and only trying to meet some of their requirements. Then I realized that I was doing that too much.
In all, I probably have applied to somewhere between 1000 and 1500 job listings in the past three years, if I were to take a guess. I have taken about 40 first round interviews and about 10 on-sites. 90% of the jobs are local (I live in Chicago), and the other 10% are out of state or remote.
I stopped trying that brute-force approach sometime last summer and have been focusing more on research and applying only to companies that I truly have a vested interest in. My interview-to-application ratio has improved so I can now use my time more efficiently.