Asking this question on a public forum is a leap of faith, and to be applauded. Perhaps you'd get better feedback if you recorded yourself doing a mock interview on your webcam if you have one, and then upload as private/unlisted YouTube video, and then repost here but with a link to the video as well. If you need to you could also just upload an audio recording if you're worried about anonymity. Regardless, 3 years is a long period to search. You definitely need to try tweaking variables in your approach. There's something that's not working. It could be the # of companies you apply to per day or per week. It could be the quality of your resume or application. It could be your communication style. It could be your code. But without demonstrating those things in a tangible way to others on this forum or to other software developers online or in real life, no one can diagnose your issue.
I encourage you to continue to open yourself up and make yourself vulnerable enough to show those aspects of your job hunt persona and work to others so they can give you candid feedback. Just be aware everyone online can only speculate without seeing you do a mock interview, seeing your resume, seeing your code.
If you've spent 3 years, you might consider hiring a software specializing recruiter to work with you or finding one that works on commission. Getting honest feedback from a third party like a recruiter is more valuable than this forum. GL.
Lastly, it might be the 3 year gap itself that looks like a red flag to hiring departments. You might want to come up with a story about how you were sailing around the world, or spent time as an English teacher in Cambodia, or lived in a monastery as a Catholic monk.