I live in Seattle and I'm an African student. Things just seem hard right now because I don't know where to begin this journey and how much time it'll take.
Do you have any college under your belt? I went back to school when I decided to switch careers (I was a banquet manager at the time).
> how much time it'll take
I already had a few years of undergrad (completely unrelated to tech...I was a Political Science major "the first time around") so I pretty much didn't need to take any classes outside of my major and it took two years to complete (that was with working full time). Started my first job as a developer just a couple months before I graduated.
I ask because I am in a similar situation: already got a degree and could graduate with a C.S. degree in a little less than two years.
My biggest concerns were 1. finding suitable internships and experience in such little time 2. condensing four years of C.S. courses into two without much "slowdown" aka easy other courses; rush rush rush as opposed to quasi leisurely learning and 3. job prospects as this would cost like $20,000 in tuition alone.
While I was in school I worked at a smallish-but-growing startup in tech support. I used what I was learning in school to write a couple apps that made our department's work a little easier...this was as good as any internship as when I was going through my first [dev] job search most interviewers were far more interested in discussing that than anything I did in school.
> condensing four years of C.S. courses into two
That depends on your situation...I was fortunate to have enough credits transfer that I was able to knock out the remaining in ~2 years
> as this would cost like $20,000 in tuition alone
I'm still a very junior engineer (~3 years) and make more than triple what I averaged in my previous career - I wouldn't worry too much about $20K. If you're really worried about money you may want to look at WGU[1] (where I went) which is pretty cost-effective.
People will respect you for putting that aside and focusing on the task at hand. Marshall McKusick is gay, his husband, author of sendmail, is gay. We know them for their achievements.
People draw types unconsciously. Make sure people associate you with being an engineer and your accomplishments.
Find an environment that blocks out distractions. A library. A place with free wifi and headphones. Get over ear headphones to block out the outside.
Pick up a web framework like Rails, Laravel or Django. Then go to elance and work your way up. Checkout craiglist and look for for junior level positions.
Keep practicing. Install Linux (Ubuntu, Mint or Debian is fine.)
Short on cash? Get a used Thinkpad.
Are you eligible for FAFSA? You can use that to spend on a laptop.
Use permissively licensed software wherever possible. It's commercial-friendly and doesn't reinvent the wheel. Reinventing the wheel is your worst enemy.
Later on, depending on when you want to. Learn C, and learn it well. We are breeding a generation of programmers that only understand higher level programming languages and won't understand the internals of how programming and deep systems work.
5 years from now, it's the systems programmers who will be in power - since we'll be saturated golang / rust / python / node programmers. Bubbles will bust; expect it.
In any event, as you specialize yourself - carve out a profitable niche that people actually need. These often may not be popular or cool, but those things can be more lucrative than you think.