Make a joke of it. If you get your job back, take all the same people out to lunch. Play up the funny side. Give a "take me back" speech, "what was I thinking" etc etc.
Laugh at yourself, and the world with laugh with you. With your immigration status at stake, this is not the time to stand on some misplaced ego thing.
This is one of those times. The process of leaving a job makes it feel so very final. A bunch of people made an effort to give you a good send off and just coming back seems like making a mockery of that. They gave you a good send off because they cared. You are the one who made the most effort and got burned the hardest. They'll understand. They'll be glad to have you back.
Hell, they might even feel like they dodged a bullet on this one and work extra hard to make sure you stop looking elsewhere for employment. "Remember that time we almost lost Bill to that startup? That was a close one, eh?"
This right here.
If you didn't have immigration status to worry about I'd say just go find another RoR job, the market is full of them ATM.
But in your case I'd say swallow your pride. You seem to be on good terms with your current team so yes this this will be a little bit awkward, but nothing more. Make a joke out of it and let people make jokes about it at your expense. Put it out in the open and laugh about it.
Don't apologize for the choices you've made (it was a business decision, not a personal one). Your manager and team will probably be relieved that you're staying, though you can probably forget any significant promotion in the short-term :)
If you can find some reasonable token of commitment (though I have no idea what that might be - anyone?), keep that in reserve.
Blame them (Flaky Corp) for acting unprofessional.
Go into your current manager, tell them you are in a really difficult and awkward situation. That you have had some communications very recently that have made you very uncomfortable with the new company and made you reconsider your decision.
Your Boss will understand that messed up stuff happens sometimes and will want to avoid interviewing for the position. Tell your Boss you honestly do not want to leave the company now given this situation and that you want your old job back.
Value yourself and take charge of the situation. Dont just allow an awkward ego-feeling or unprofessional behavior by Flaky Corp to own you!
Also, once you get your job, send http://t1.gstatic.com/images?q=tbn:yR0N5a0R8puacM:http://www... to the company who retracted the offer.
If you're any good at all your boss will be happy to see you back but I wouldn't count on a raise or promotion until you've more than proven to be there to stay.
And it wouldn't hurt to have a solid backup plan just in case they do decide to lay you off at some point in the future.
Keep in mind too that since you left voluntarily that if they do take you on again it counts as a new employment, essentially you're a new hire. You may even have to re-negotiate your salary.
Being out of a job normally would be hard enough, but since your residence depends on your job there is a very important reason to make this work.
That would be nasty. The gentleman thing to do would be to pretend this never happened. Everything was conducted in the most civilized way. There would be no reason to change.
Well... I wouldn't change that.
What I would ask in return, at most, would be that, next time you give me a month of advanced notice. It takes time to replace a good member of the team.
You are employed in the US for 5+ years. How's the permanent resident paperwork going?
Oh... BTW, "you" != "jacquesm".
And stop tying your self-worth to your career. You are not your work.
(I always find it easier to deal with unfortunate or embarrassing situations when I'm reminded that they appear more severe and permanent to me than they actually are.)
Weird things happen with immigration cases. And big corporates are sensible enough to understand such situation and help good employees.
Look at it this way -- would you really want to work at a company that would rescind a job offer this way? It says a lot about a company that they don't have their act together enough to know if they can hire or not.
Good RoR devs are hard to find -- I'd just let your current employer know what happened and see if they'll keep you on. Just say that the offer they made was too good to refuse. And, as it turned out, was too good to be true in the end.
Another possibility is telling them what has happened, but say you still planning on moving so offering to stay for another month.
OTOH, there is plenty of RoR work around, so I'd be surprised if you can't pick something else up pretty easily.
The fact is, you left, it didn't work out, and now you're back because you need something. Next time something good comes up and works out, you're going to leave, they reason. That makes you a risk.
The downsides of hiring someone new:
* It could take an indeterminate amount of time to find someone of a similar caliber (1 month? 3 months? 1 year?).
* It takes a certain amount of time to get comfortable with the internal codebase of a company, let alone the time that it takes to become proficient with it. This amount of time increases the larger the internal codebase and the older the company is.
* It takes time to 'bond' with the team and for the new social dynamic to become settled and understood by everyone.
* There is no guarantee that the new person that you hire will stick around either. You could spend a whole year looking for someone as skilled, just to have the person leave after 3 months before any of the growing pains associated with bringing on a new person are worked out. Then where are you? Back to square-one possibly spending another year looking for a similarly/equally skilled person.
You could side-step all of these issues by bringing this man/woman back on. If he/she leaves after another 3 months, who cares? He/she will be more productive during those 3 months than a new hire would be.
If you leave the job; not only you will be out of job, but out of immigration status as well. There is a lot at stake, this could ruin your career and personal life as well.
Ask your current company, if you can have the job back.
I'd just hate myself to go back with my head hung in shame telling them that 'oh my job didn't work out'...take me back. I had a farewell lunch yesterday. Everyone in my extended team knows I'm leaving. My exit interview is planned for early next week and they're processing my final paystubs.
I can't believe this level of unprofessionalism exists.