Is there anything I can do or any way I can market myself to beat this sort of issue?
I think there's been a huge misrepresentation of the value of a degree. You hear this from people that have a degree already because a degree does not seem to be life-changing once you have one. It's not but it gives you an edge. At the very least a degree signals to an employer that you have some knowledge and are able to work towards a goal. Any employer will hire someone with a degree over someone that does not have one given similar resumes. Also, employers will almost always require some kind of degree if they are filling a management job. So if you ever plan to go above developer you'll mostly need a degree.
Here's my advice: build a network of contacts that understand your skills. Take the time to meet people in the industry. You'll need to find a way to do that.
- Try meetups
-take classes where you might find people that are professionals and hire people.
- Become friends with the HR people of the place where you want to work.
- Find bars where these people might meet
Additionally, work on your education. At the very least get a certificate that is given by a recognizable and respected school
Please don't take the, "no degree needed" advice. It's wrong no matter how old you are.
Second, if you can get past HR, you have a better shot. That is, if the person who will be your eventual supervisor has met you, they will often tell HR to go ahead and send you in for an interview. The HR (or recruiter) doesn't have the authority (or knowledge) to do that, but they will if the person they're headhunting for says to (typically).
This is hard, but going to programmer meetups and such can sometimes help, as does emailing the tech lead or supervisor directly whenever you can find that out.
If you really want to work at a place that "requires" a degree or enough experience to offset it you'll need to find some smaller businesses, or even some of the larger enterprises where they will interview you as a person and not worry so much about the piece of paper you don't have. This will let you get your 5-6 years of experience that will mainly offset the lack of a degree. Also, for your resume you'd likely do better with a functional resume with projects/accomplishments on it, rather than a chronological resume. The functional will let you highlight more details about your open source and hobby work. Chronological will show your relative lack of experience just by the dates shown, and generally makes it harder to show all the relevant stuff you have done since you are trying to summarize a job position instead of talking about different projects/problems you have solved.
Just a personal note and from my own experience. I have over 20 years in the industry and I do not have a CS degree and I do not list my formal education on my resume as it is irrelevant for what I do (generally). When I have applied for positions in the past I'd use their response about a degree as a good filter about the company. Because if they are calling me to talk but then tell me that without a degree that I am not worth chatting with then I just found a company to avoid. I say this because intelligent people want to associate themselves with other intelligent people, and a degree does not make someone intelligent. A degree may help to increase someones intelligence, but it more so just proves you can endure a level of memorization for a few years to pass some exams, not that you are intelligent or even competent to do the job. Personally, I prefer to work and associate with people who are intelligent because they have a thirst, desire and hunger for information and learning, then I do someone who uses a degree or a specific school as a filter to whether another human is intelligent or worthy. This is the reason I do not let my teams use the lack of a degree or where a degree is attained to influence whether we interview someone, the only things we look at are the resume & cover letter and if we like what we see we interview the person.