The Pi is great, but you can't beat the Arduino user base and peripherals.
Why is anyone even speaking Arduino and Pi in the same sentence? Two completely different beasts. Arduino=embedded, and Pi=really cheap Unix box to teach kids who can't afford a real computer.
OP: If you wanna build a MIDI interface, get an Arduino. If you want to learn PHP or Python, get a Pi. But you don't really need the Pi for that, because you've already got a much better computer.
You can definitely find work without a degree in the bay area, but you will need provable skills and experience to compensate.
This. OP: a person can prove basic employable skills pretty easily. Get a GitHub account ant start contributing to an open source project.
We've been explicitly and repeatedly told that HTML, CSS, javascript, etc are not "code" for the purposes of "writing code" for promotions.
It's bizarre that JavaScript is on that list...especially now that Node.js is catching on.
The last 3 lead programmers at my work didn't have any college degrees, but the people working for them did.
I've seen this more than once.
That's nice, most people I work with have PhDs, and MS is a minimum that will be considered.
There are always exceptions, but if someone is looking for a job NOW they either need to have lots of experience or have degree. Of course degree doesn't mean one will get the job, but it will get an interview.
There are many types of employment opps. Some will need a degree, others will not. Apparently, in your domain an MS is a minimum. That is not the case in the vast majority of software development jobs, at least not that I've seen.
OP: The Thiel Foundation is paying students to drop out of school and create a startup, rather than get a degree. What does that tell you about the value of a degree in this age?
The consensus in this industry is that work experience and know-how trump degrees for the most part. If you want to make $150k+ working at Google then you might want that master's or PHD.
Exactly...some shops will require a degree. But even at Google, it's not necessary. It just depends on what you know, and how bad they want that knowledge.
OP: the guys telling you to study algorithms and math are 100% correct. Luckily, it's not that hard. All you need is a basic CS Algorithms book. You might find one with examples in the language of your choice. For math, all you really need is statistics. There's other stuff to learn, but start with statistics.
As for the Bay Area being saturated, it's true there are a lot of engineers here, but there is also a massive amount of opportunity. I don't know any engineers who are unemployed, unless it's by choice.
My opinion, learn web technology and get involved in the startup world. So learn HTML 5/CSS/JavaScript and the JSON format, and along the way pick up Php, Python, or Rails. If you went after learning this full time, you would be employable rather rapidly.