1- Start by creating a web presence for yourself, a simple bio website that explains who you are and what you do a long with links to some of your work.
2- Create a GitHub (or Codepen) account and open source any reusable code, plugin, etc. Just make sure you actually own the work and are allowed to do this.
3- Create a profile on UpWork and find freelance work there.
4- Pick a side and a language and start specializing a bit. It's great to be well rounded and have lots of skills but it is a much easier sell to say I am a front end engineer and love building UIs, I am experienced in CSS, JS, Angular, etc. versus I do C, C++, front-end stuff etc. You can mention that you are comfortable on any side (front or back) but it is better to say which is your stronger skill.
Good luck!
If you have some portfolio, you can try monthly "Who's hiring/Who wants to be hired/Seeking freelancer" threads here on HN, the next would be in just a few days:
https://news.ycombinator.com/submitted?id=whoishiring
You've got pretty impressive range of skills, and at least PHP/frontend are very remote-friendly, with enough demand on the resources I added above.
Since you're familiar with C++ and competitive programming, you might also try things like TopCoder/CodeEval; it's more about competition, but the corporate sponsors are watching competitors and might hire the best.
My email is in my profile, feel free to get in touch if you have more questions. Best of luck!
Anyway, the topic of actually finding work is broad, but this might help you get in the right direction; pick some things you'd like to work with, and look for specific job boards for them. For example, I'm pretty proficient with the Drupal framework/CMS, so I'll usually watch the official Drupal jobs board when I'm on the lookout for a new gig. There's also LinkedIn; you should at the least have a profile there, even if you aren't actively searching for jobs there. It also helps to have a personal site and do a little SEO on it so that it comes up if someone searches for "Lua developers in [your city]."
That's a basic answer, but it might be enough to get your foot in the door at a few places.
Try codementor.io, your credentials will most probably help you to find some gigs and you'll be paid on the hourly basis. Also you can try toptal.com and gun.io.
In general, the way to overcome lack of experience on your first gig is to win on price. But as soon as you have one official project under your belt, your marketing should be that you make you customers successful. Don't drop prices anymore (on the contrary, raise them).
I know Galvanize has some funded scholarships. I am sure other bootcamp-style programs will also have this.
(Full disclosure: I work at Galvanize.)
Good luck!