Rich Dad, Poor Dad. That was my mass-market pop introduction to assets over liabilities, paying yourself first, and building value (long-term and tangible) over submitting to short-term lazy don't-rock-the-boat thinking.
Glass will fail unless it's price tag is $99.99 or less. Since, from what I've read, the fair minimum price at this point is around $499.99, they have a long way to go.
They should play up whatever the person does 90% of the time. For Engineers that could be demonstrated by the following profiles: GitHub, TopCoder, StackOverflow, Quora, etc. Just get right to the heart of what they do and what their skills are in a way that demonstrates those skills. That's what's missing. Everything else, and most of what is currently used, is a misguided attempt to gauge or estimate what really matters by asking about everything other than what matters.
My regress to an average (or worse) developer did happen all at once, but I guess I'd say yes, because it was due to this same reason (jealousy/BS). Before "the event," many constantly did everything to get in my way and this slowed my progress down considerably. Years ago, I was on the cutting edge nearing greatness, but this BS eliminated any chance of me actually achieving that.
Also in there is my tendency to procrastinate, which also slowed me down, but I don't procrastinate much when it comes to writing code and working.
Proficient vs. perfect? One summer. Then another one to round it all out. Which sucked, because I spent the next few years having the life beaten out of me by others that were jealous or thought what I did was impossible. The backward point of view of most people and their attitude of negativity and jealousy toward anyone that's good at what they do is maddening. I'm sick of being around idiots.
Now, it's likely I'm behind and forgetting. Any potential, or world-changing talent is now wasted away and I'm closer to being decidedly average. I can't believe it.
After working at Google for a while, I think this person, unless he is really lucky, will end up looking elsewhere to find a more satisfying job. You could pick any random Engineer at Google, and end up with someone unsatisfied with what they are doing. If they are good, then you can steal them away. Or maybe not. Maybe they are constantly spammed with job offers.
You can try to get the company offering less money to beat the offer made by the other. If it's Facebook and Google, as you said, then this shouldn't be that difficult.
Google working on groundbreaking things (they are not) or Facebook having all these hot products that everyone wants to work on (they do not) doesn't mean anything if you aren't working on them. Look at what you'd be working on and the group you'd be working with and see which you'd prefer. If there isn't much difference between the projects, then go with the company paying more money.
As far as which company is more popular or the hotter place to work, I think that Facebook's "buzz" has waned enough that both companies are about equal, but Facebook may still have a slight edge in this area. Previously it was clearly Facebook, because Google was becoming stagnating big company wasting everyone's talent and Facebook was the pre-IPO "startup" where you could actually work on something important without all the politics, bullshitting, and churn. That is, what Google promised, only Facebook delivered.
You want to pick the company that allows you to learn and do as much as possible, not just fix bugs, and you want to avoid being around people that don't know what they are doing or that will try to get in your way. Usually at Google, all you'll end up doing is fixing bugs, or working on irrelevant projects, so this would cast a vote for working at Facebook, but I'm hearing the same situation may now exist at Facebook as well.
You can also check the reviews for each company on Glassdoor to see what employees are saying.
They aren't likely to read through everyone's email, but they'll send them to the government, just like a bitch, at the drop of a hat.
Also, be warned, if you work there, then they are likely to read through (or scan through with automation) your personal emails with intense interest. Don't pretend they aren't that nosy, because they are.
Also, for those with AdWords accounts, the employees on that team (and maybe others) can look through all your data at any time. Maybe things have changed, but they can log into any AdWords account using their internal system, and what they will see will be exactly what you see when you log in, and more. And to cover it up, they usually point the hostility of blame for unethical behavior at someone, then react in an extreme fashion to make it seem as though they treat privacy seriously, then turn around and continue doing exactly what they were doing in the first place.
This same idea is true for almost every other company. They pretend as though your data is private and as though they aren't sticking their nose into or selling your information, but that couldn't be farther from the truth. They sell everything, and they are always looking for ways to tie everything about you together, especially if you are an employee there, so they can hold it over your head and pretend everything they then say is true, because "they have the data to back it up."
It doesn't take much effort or a great stretch of the imagination to realize this is happening once you see what these people look like, or once you see what these people are like. It's so easy to tell when someone is full of it, that just taking one look at these people will clue you into the fact that they are guilty on all charges.
And when I talk spying, I'm not talking tying information together while not linking it to someone's identity, or tying information together, but using automation to do it so that a human being can't jump in and snoop around in someone's business. I'm talking about them deliberately trying to stick their nose into specific people's lives (and then everyone's) by trying to get as much information about them as possible, then turning around and trying to throw it in their face. Nothing well-intentioned, though obviously even if they meant well what they are doing is still shady and wrong.
Don't underestimate how nosy these people are. Just think back to the nosy gossiping bitch from high school, or think about your nosy next door neighbor. That's what they are like. And they can't breathe properly until they know everything about everyone. But then they have to cover up their bullshit, as they do in every other arena of life, by being loudly and strongly opposed to all spying, snooping, or misuse of data, and by dealing aggressively with anyone misusing data, as long as it's not them. They especially like reacting aggressively to these situations when the person accused hasn't done a damn thing, as they get to screw over someone innocent (they really get off on doing that), while making themselves look good, and while, in their minds, making it impossible for you to realize that they are the guilty ones ("these idiots are dumb enough to think I'm on their side when I'm the one doing it to them, haha, they are so stupid"). The louder these people are about being against spying on users (just look at them), the more likely they are to be doing it.
Luckily I read up on what it was like in the corporate world before starting my first job, so I knew what was what. What I wish someone had given me before I took my first job was a better job. More money, more freedom, less BS, etc. Or maybe a college environment that wasn't as hellish and miserable as the one I was in. Maybe then I would've had the time and patience to assess the job I was taking instead of getting nervous and taking the first thing that came along.
It's hard to think clearly and make good decisions when your self-esteem, sense of self worth, and belief in yourself is so slowly and thoroughly eroded to nothing. It's like the were doing it on purpose. It's hard to function when others try to destroy you and ruin your life because they are jealous of your accomplishments, disagree with the way you do things, are fully insistent on making you just another cookie-cutter university graduate, and think that because of your ethnicity they shouldn't let up until they've turned you into and exposed you as being the idiot they so strongly want you to be.
"Bow your head and submit."
"You are nothing."
"Do what you are told."
"Show up on time."
"Talk more, especially to people you don't like. You're not supposed to enjoy yourself, you're supposed to suffer."
"You are black, so you're stupid."
"If you go anywhere in life, then it's not because you are talented, it's because we felt sorry for you, and were so kind as to let you."
"The courses are hard, you're not supposed to breeze through them."
"You dress different, you're dumb."
"You dress well, that means you don't know what you are doing."
"You are 'popular,' that means you never actually do anything."
"Don't try anything new, unless we're so kind as to let you."
"Don't do things properly, do them in this mediocre half-assed manner, so we can insult you as being the idiot we so desperately want to say you are."
And it's weird, because as weak as my grades ended up being going into my first job, I still deserved better than that BS.
For some reason, even after all I read, and after all the internships I had, I didn't think I would end up working in a Dilbert cartoon, but then there I was. And when they started following me home, following me around, and sticking their nose into every aspect of my life, I knew I had arrived. And I knew it was really official when no one did anything but celebrate that I was, once again, getting shitted on.
The best advice for those going into the workplace is to do whatever you have to do to ensure that you don't end up in a crappy job. Only certain types of people thrive/survive in those terrible environments, and I think it doesn't take much to realize that there is no low too low for them to stoop to shit on someone's life. And just as part of their day to day job, not because of any specific reason. But it's especially pronounced if they are threatened, or see someone with talent/potential. Also, all it takes is one idiot manager to completely destroy your life, but remember not to submit to them. If they are holding that threat over your head ("I'll destroy you, unless.."), then just realize what you are dealing with and that they are going to do whatever they've threatened to do, no matter what you do.
A world filled with idiots is designed to do nothing but beat the ability and uniqueness out of you, so they can turn their nose up at you and talk down to you, to distract themselves from the shit that they are. I don't say any of this to depress you, even if it ends up having that effect, I say it so that you don't get caught off guard. Yes, this is all they are. Yes, this is all they are going to do. Yes, they have nothing else to look forward to in life except ruining your own. But don't just accept it. Don't let them do it.
Yes, I didn't take the Automata Theory course, but I learned essentially the same thing in Discrete Mathematics, Control Systems, and Digital Design (albeit with an eye towards Electrical Engineering applications). I remember looking through the courses, as you did, and the only gap I remember noticing was Operating Systems (and maybe graph theory, now that you mention it). It would have been nice to be introduced to machine learning while in school, but that's fine, I ended up learning it on my own.
There could easily be a bias error, but I said what I said simply because everything covered in the CS curriculum seems to also be present in the CE curriculum, but in the CE curriculum more is added. So I see the CE degree as a CS degree plus the essentials of an Electrical Engineering degree.
The advantages, if there are any, can definitely fade away after a few years of real experience, assuming everyone continues to better their knowledge, and those years aren't spent, as is typically the case, repeatedly re-implementing the same solution.