I am going to follow what you suggested, but if you could answer some of my further questions, that would be great.
I have not been making contacts to much people. I did not even apply to positions in a daily basis. I just occasionally spent 3~4 hours applying to a bunch of companies on their career websites from either Google search or LinkedIn/Monster/Indeed etc.
I just copied and pasted almost identical cover letters always with my resume for every application (https://docs.google.com/document/d/1e8rx0JiEGlpwxTa2--7rQvla...), as writing in English was very time-consuming for me, and I was busy, and mostly, I knew they would not give a damn about my cover letter attached to the application even if I had put much effort on it. Thus far I had two (one on-campus and one phone) interviews, each with a good company, but neither of them were through a web application.(I got rejected from both, though..)
I did not care too much about the applications, and I kind of messed them up. One relief is that I have not applied to companies I prefer the most, which are start-ups and mid-sized companies in NYC, and I went to NYC to attend Columbia University Engineering job fair 2 weeks ago. I talked to people there, handed my resume(the original one that did not look very good), and got business cards from 7 people from different companies. Of those 7, I had memorable conversations with two, esp. with an entry-level engineer about my Rwanda project(he would at least vaguely remember me. but they only use web languages, so I may not fit..). There were quite many good companies based in NYC in the job fair, and I have some 'stories' to talk about when I contact them.
I would like to focus on the companies I want to go to, and I want to do well this time. Of course I will have to apply for 'safety' companies, too but I will put my time and effort in applying to 40~50 companies in NYC and Silicon Valley.
Here are some of my questions. First of all, you said you contacted people in the companies. Whom did you contact (HR? Engineer? Sr. Engineer? CEO? or someone else?), and how did you find their contact info?
Second, what do you think I should include in the three sentences about myself? Language(Java/C++)? Experience? or other soft skills and characteristics? Could you show me an example?
Lastly, although you made "it as easy as possible for them to get back to me, and take the conversation from there", it is not easy for a non-native like me to write a letter that is easy and simple. Particularly what made your letter easy for them to get back to you, not compromising the amount of necessary information?
Thank you so much.