
Work for the programmer in the USA: 5 simple steps

My experience is somewhat different from the one described below (I got a job in the USA after an internship). But for 4 years in the USA, she talked with people who came here in different ways and gained some experience. So if I really wanted to find work in the USA today, then I would act approximately as described below.
I apologize in advance if my tone seems to someone mentor - I have no ambition to teach others life, just sometimes I get this style.
Work visa H1B
In one of my articles I wrote about the topic of work visas in detail. The summary is as follows: in order to work in the USA without a residence permit or citizenship, you need to get a visa with the right to work - a visa of type H1B. In order to get this visa, the future employer needs to prepare a package of documents for a foreign worker and pay considerable fees. Usually one visa costs the employer $ 5000-10000. There are other, less standard methods, but usually they use a lot less.
It follows from what has been written that, since the visa process is quick, expensive and difficult, only firms that can afford it are engaged in it.
A bit of math
In the issue of job search, I am a supporter of probability theory. In my picture of the world, this means that no matter how small the probability of finding a job, if you try a sufficiently large number of times, someday it will surely work out.
Therefore, if you want to work in the USA, then you do not have to put on one (or even two or three) dream companies. It seems to me that the best strategy is to send resumes and interviews to the maximum. If there is no offer, then there will be experience in interviews, and this is also a very valuable skill in finding a job. And if there is an offer, but not to your liking, then it is still much easier to refuse than to receive a job offer.
On the other hand, of course, you should not send resumes immediately to all firms. It is much simpler and more convenient to divide them into small groups and at the same time interview in a small number (say, up to five). And adapt your resume and strategy gradually, learning from mistakes that will certainly happen. Especially at first.
Step 1: We are looking for candidates for employers
As I already mentioned, not all firms in the USA make work visas. But even from that small number who are engaged in this, it is quite possible to find a couple of dozen suitable ones.
For example, here you can find a list of companies that deal with work visas. Submitting a resume without a residence permit or work right in the United States makes sense only for companies that already handle visas for employees. Unless you are a mega-specialist in some narrow field, and companies will fight for you. At 99.9% of programmers, this is not our case.
In our case, we are interested in companies that do not just make work visas, but do a lot of them for a relatively long time. Here is the TOP 25 list:

For convenience, approximate salaries for those who receive work visas are also presented there. The numbers, in fact, are very arbitrary, but sufficient to understand that, in terms of salary, it’s better to work at Google than at Accenture.
Step 2: Secondary Filter
Now we look at the detailed data. For example, the leader of our charts, Infosys.

And what do we see? For 3 years, they have filed nearly 50,000 applications for work visas, and only 68 applications for residence permits for employees, aka green card *. If you plan to go to work in the USA for a long time (or at least have such an opportunity), then it is better to look for an employer who not only actively makes work visas, but also a residence permit. Another alarming trend is the decrease in salaries. So Infosys is clearly not suitable. Cross out.
(*) Making a residence permit at the expense of the employer is standard practice in many firms.
Step 3: Patiently waiting for the right moment
There is one VERY IMPORTANT NUANCE . Applications for work visas are accepted from April 1 to 5. All. Therefore, you need to go through an interview, receive an offer and prepare all the documents for submission by April 1. This leaves very little time for maneuver, unfortunately, and usually means that you need to start sending resumes somewhere in October, and the whole process should end in January-February.
If you send a resume, say, in March, no one will even look at it, because even if you have a cool interview, you still have to wait a year and a half before you can start working. This is definitely a deal breaker.
Step 4: Send out a resume and prepare for an interview
Personally, at the previous stage, I would choose at least 20-30 companies for myself. It seems to me that at this stage you should not be particularly picky and limit yourself to the fact that "I will never work in X anyway." To refuse an offer is not to receive an offer. You can always and much easier. Therefore, it’s better not to sweep away the opportunities that have opened up, but to use them to the maximum — for example, as training for an interview in a company where you really want to get into.
It should be noted that sending resumes to 20 companies is not equal to 20 interviews. Usually, out of 20, 10 will not answer, 5 will answer that you do not fit them at the moment, 5 will schedule a telephone interview, and if you are lucky, you will end up with 1-2 face-to-face interviews. In fact, this is a rather optimistic scenario. I think the results will be even lower.
Step 5: Choosing Your Favorite Job
Choosing a job is almost like getting married. No need to rush into the pool with your head, it is better to first get to know each other better, to understand with whom you will have to spend a significant part of your next life.
Suppose you have 3 offers on your hands with approximately the same conditions. Suppose you do not have strong preferences on who rulezzz and who must die. First of all, congratulations! You are definitely mega-cool! Secondly, let's say one of these offers from Accenture. And you know almost nothing about them.
We go to money.cnn.com and look for our company . This is a site for investors and there are many special terms in which, in the absence of desire, you can not understand. We are interested in fundamental data:
1) Fundamentals of fundamentals.


So, the company is estimated at 50+ billion (this is a big one). And they have 275,000 employees, and the number of employees is constantly growing.
By the way, you can also find the names of the company’s management there and, for example, read their interviews to understand what their plans, values and all that are. But this is already beyond our rather superficial analysis.
2) Does the company grow in the long run. Going to work for a company that has been declining for a long time is hardly worth it, especially if there are other options. We look at Accenture:

Over the past 3 years, we have seen fairly stable growth. This is a good sign.
3) We look at the predictions of analysts. The trend is positive. Another good sign in the piggy bank!

4) Quickly view the latest news bulletins. The main thing is that there should not be articles like “CEO committed suicide”, “10,000 employees sue the company” and other apocalypses. Everything is clean with Accenture.

There is still a lot of information to study at the discretion - this is only the most basic.
What does it mean?
The absence of negative signals does not mean that it will be cool to work there and everything will be in chocolate. Of course, it is worth exploring other sources, and try to understand what is the corporate culture or how the company relates to employees.
On the other hand, if there are negative signals, and especially if there are a lot of them, then this is definitely a reason to beware!
Conclusion
If you want to try your hand, then the process is not easy and not fast. And, perhaps, before receiving a job offer there will be no refusal. This is normal and expected, and here you should not give up and be upset. The main thing to remember is that
Information + Preparation + A bit of luck = Getting what you want, sooner or later, one way or another