I find your desire to improve very impressive, but I think you will be better off finding a paid opportunity, as counter intuitive as it sounds.<p>Most of the time, the only technical skill you will develop by doing an unpaid internship is how to simultaneously make coffee and photocopies. This is not what you want.<p>When a company commits financially, the stakes are much higher and not training you properly will actually result in a waste of money. It will be hard with no prior programming experience but we fortunately, are a field where what you can <i>do</i> overweight where you come <i>from</i>.<p>This is only true to a certain extent of course, and you need first and foremost to be able to <i>do</i> things. It will take years and thousand of hours before you become a decent programmer.<p>For companies to invest in you, you need to demonstrate that you are sweating to get better and that you <i>will</i> actually get better.<p>It means reading, writing and studying code, programming methodologies and paradigms. Overwhelm yourself, learn passionately and ruthlessly. It may sound like a platitude but there is actually very little else you can do.<p><i>Start doing that now</i>, yes now. Focus on that, take a job as a waiter and learn, learn, learn on your free time. When you start feeling a little less inept, it will be the right time to send a couple emails, calls and posts on HN.<p>This will also act as a test, you might be a little delusional and drank a little too much koolaid. Working all day and studying at night will let you truly assess whether it is the case or not, whether you are chasing a mirage or a vocation.<p>Technical internships, jobs should be viewed as opportunities to get better, professional and familiar with new problems and technologies. if you want people to invest you, start investing in yourself.