Regarding laundry list of jobs: I dont think there is anything wrong in determining what I feel is the best suited job for me (based on my current self (mis-)appreciation. Plus never have I stated in my post that I am Good enough to become a Google Engineer or FB Engineer. [I just mention it is really hard]
Finally Open Source is a good alternative to display your capabilities. But the fields in which I currently work [Machine Learning/Data Mining], writing a correct code is just a primary and non-significant step. While coming up with a novel algorithms is considered as a significant contribution.
I recently tried implementing an algorithm which I felt was interesting in my favorite language and distributed on git-hub. however I still felt [note I might be incorrect] that this sort of work was not valuable enough in my area of interest [again not expertise to be humble]. I can try to show my programming skill via my grades. But Open Source isn't that much important in my case.
Thanks again for your views
You see, as the parent post stated, there are young kids who are knocking balls out of the park, so to speak, in the actual real world of open source. These are the people you are competing against. If it is your perfect marks in school vs someone that is pumping out good code on a real-world open source project, and (perhaps in an interview) you give me any sort of a feeling that you don't respect his work, or consider it not particularly relevant, I would send you packing in a heartbeat.
I think you are missing the most important point, massively.
Open Source is amazing for programmers, but for someone who wants to develop say a novel recommendation system or special Computer Vision algorithm. Open Source participation is secondary. Also in many case ML algorithms tend to be trivial in their implementation.
Also my time is limited, I could try getting involved in Weka and implement recently discovered algorithms in it Or I can read papers, explore different datasets and try to come up with new ideas. Second case makes more sense to me.
All I am saying is that it makes more sense for me to display my capabilities in developing better algorithms rather than ironing out their implementations.
It sounds like you need to improve your immigration status to achieve your goals. Seems logical that you should focus on that. Are you working on open source projects that exploit your abilities? If you are so hungry to solve problems then do it for free for a while. You will get noticed by important people if your work is good. If you get a good opportunity, then take a job that will stand out on your resume. Do your interesting work on your own time.
I generally don't like to harp on the open source thing, but it is the perfect mechanism to vault you into the position you want. As far as your age is concerned... yes, age is most definitely a factor. The fact that you haven't even finished your education and already have a laundry list of jobs you have no interest in shows quite a bit of immaturity. Your post read like an episode of Property Virgins.
I remember following a guy named Jose Valim during google's summer of code a few years ago. The kid was completely unknown, but made a name for himself very quickly in the ruby world. He took on many open source ruby projects to help solve common problems for the rails community. The kid just finished his phd and is already on the rails core team. I'm amazed at how much he's accomplished in such a short period of time. That's the kind of guy I look at for inspiration. He doesn't waste a second, he just gets shit done and gets it done well. If you can focus on that then all the other details will sort themselves out. You need to create your own opportunities.
Good luck!