As a fellow self-taught developer, whose degree is also in an unrelated field (undergrad: English, Hist, postgrad: masters of research in history). I can assure you that it's not as difficult as you think.
If you're willing to demonstrate your abilities, and be able to show that you are aware of your own weaknesses as a self-taught developer. Showing an active interest in improving your theoretical knowledge and understanding, then you're on the right track.
Enthusiasm goes a long way with certain companies, and their willingness to employ a self-taught developer can sometimes come down to company culture. The employer that I work for is committed to, among other things, the skills shortage in the UK. So employing someone in need of more formal training isn't really a big deal for them.
The first hurdle to consider for any prospective job is usually an over the phone discussion about the job role, requirements etc. This is where you need to not only show your experience around your chosen speciality, but also that you have the right set of skills, namely: problem-solving, patience, ability to discuss without the use of Jargon, ability to discuss using the correct technical language, willingness to learn, self-reflective attitude.
As for your resume (CV), just keep it to the point, discuss your technical abilities, list your GitHub, and add a section for some basic details regarding your projects where relevant for the employer. But it's unlikely they will actively look at your GitHub account, so make sure your resume highlights everything you want them to know, in as precise and concise a way as possible.
These are the principles that I followed; I've been in the industry for a few years now so I can tell you first hand that you can make this work. You just have to be very willing to learn, know your own limitations and endeavour to overcome them. It's your ability to find the best solution to a problem that defines you as a developer. It's your work, rather than your methodology that will be used by management to rate you in the end.
Finally, it's worth considering applying for 'graduate' level developer opportunities. Practical experience already puts you slightly further ahead than some of your counter-parts who have completed their comp-sci degrees. Demonstrating an ability to put your understanding and knowledge towards practical applications shows potential employers that you can work on tangible, real world products should the opportunity arise.
The structure of my CV was as follows:
Personal statement (About me): Small paragraph explaining who I am, what I do, and what I enjoy.
Jobs: Small paragraph on responsibilities for any jobs that were remotely similar to the ones I was applying for. Otherwise just listed job company, job role, from and to dates.
Projects worked: This was tough, because I worked on a series of projects, both outside of work and when I was in an IT job making the odd programs to make life easier for colleagues. So I listed each one, very very short description, then listed the relevant technologies used so that I could demonstrate a familiarity with those technologies.
Education: listed information about my degrees, and with each one listed the underlying skills that I learned from each one that I thought could be transferrable to the world of development.
My contact information: basics, address, contact number, email, and any relevant sites (GitHub etc.).
I had some experience of graphics design from back in my college days, so I made sure that the CV was nicely formatted and utilised minimal designs for maximum impact. I got 8 interview offers from that bad boy after a couple of days of it being submitted to a popular work search website. After that it's all down to you. Hope this helps somewhat.