My background: Moscow, frontend senior, extensive experience and high salary claims (about 10-15% of the top offers on the market).
The first search was very unhurried, on my own initiative: I sat in my old place, I needed new projects, and I was too long awaited growth in salary, so I slowly chose only the most interesting offers, without opening my resume to recruiters.
The second search was already under the pressure of circumstances, since the new job did not work out, and the source of income promised to end very soon. Therefore, here I have already opened a resume on HH and began to accept incoming offers. Naturally, along the way, looking for interesting vacancies.
Economic crisis
The most important, of course, is how the crisis affected the industry. I won't say that programmers should complain about their fate, but in June there are noticeably fewer offers than in February. Seasonality has nothing to do with it: somehow I had the experience of looking for a job in 2017, also in June: then the phone was simply cut off, I was tired of fighting off good projects and good salaries.
In the summer of 2020, it is gaining mostly large. Of course, the main one, as always, is Sberbank: in this company, it seems, the wild turnover of IT personnel does not stop. Sberbank has the most recruiters. There are also many offers from other banks. The financial sector is still afloat. It is interesting that VTB, unlike the Green Bank, does not hire directly: there are many outsourcing and recruiting offices, but I have never seen a recruiter directly from this bank.
Offers from small startups have almost disappeared. Noticeably less recruitment from foreign offices. Those companies that continue to recruit have become more scrupulous about it. Nobody is in a hurry. They ask tricky questions and immediately refuse further conversation. A strong contrast to 2017, when they literally took it off with their hands and shoved the offer for a simple one-hour conversation on various topics. In short, the breath of the crisis is felt even in IT.
Coronavirus
Yes, now all interviews are remote. In February, I still managed to find full-time, in the summer - only by Zoom or Skype. I will not say that this greatly affects the quality of communication: you can talk directly about the case anyway. There are web platforms for coding. The downside is the inability to evaluate the people from the company themselves: how they behave, what non-verbal signals they give. You also can't look at the office and the people who work there. Sometimes this can be an important addition to the conversation: in one company that presented itself as super successful, I saw a stable (in the slang - a big noisy open space), tired people and an extremely angry, annoyed girl-secretary who had no idea about the basic rules of decency ... It is clear that it is better not to work in such a company.
Remote
Now, of course, everyone is working on it. However, when discussing working conditions, many admit both the continuation of the completely remote format even after leaving all quarantines, and partially remote work. This is just an example from the proverb "There would be no happiness, but misfortune helped." Finally, the business began to reach what many programmers dreamed of. It seems to me that partially remote mode would be ideal for most, and it seems that this is becoming a reality.
Salaries
While they are growing, if you take at least year to year. There is no dumping of labor, unless, as noted above, demand has fallen. We are ready to offer decent money to good specialists. I'm not ready to judge reliably about juniors, but judging by the open vacancies, they are also expected, and they are ready to pay.
Interviews
Now a few words about the interview tactics, how they were organized in those 30+ companies with which I managed to speak in two rounds this year.
For myself, I decided to close the holivar topic about algorithms and Olympiad problems at social security reports. On Habré, we argue a lot about whether it is necessary or not, what such a survey of knowledge actually shows. But in reality, the situation is that in most companies the interlocutors give just such tasks in the first place. Not too complicated. However, a quick and accurate solution is expected.
I don't really like it myself. In this regard, I am a brake: I do not always decide quickly, I need to think, collect my thoughts. In life, in practical work, I sometimes built cunning algorithms, solved completely non-standard problems, but all this was done in a working order, not for a while, without feeling the breath at the other end of the tube. Nevertheless, my conclusion is this: you just need to learn it, philosophically accept that it is necessary.
I had interviews in two companies, for whose vacancies my recent experience fits just perfectly: both there and there it was planned to work with two rather rare solutions, with which I had worked closely on previous projects. And there, and there, I simply flew by on tasks from HackerRank, unable to quickly figure out a solution. It's a shame, but true. In fact, I was actually even ashamed that I could not complete such simple tasks. By the way, both companies have been unable to fill these vacancies for at least the second month. That's how we missed each other.
Most companies are very intelligent in their interviewing tactics: first a conversation with HR, then a technical screening, then a conversation with business and top executives. However, there were exceptions: for example, one company arranged long conversations with the business, and only then they began to talk about technical knowledge. By the way, I didn't go there. This is how HR organized an unnecessary loss of 8-10 man-hours of its employees.
Recruiters
Among HR, as elsewhere, there are real stars, and then the conversation becomes an adventure, a challenge, even a discovery. Certainly it flatters pride when a person gives all the best in a conversation with you ... But seriously, it's just great to witness the work of a real professional in his field. So, in one company, towards which I had a strong negative prejudice, they still brought me to the offer. By 95% HR. And from this communication, I will only have pleasant memories, although the company itself has hardly become much better.
In general, HR-s in general over time (I have been in the industry for 10 years) become better and more professional. If someone else does not know how to write elementary Russian without mistakes, or is extremely careless about his work, it already looks wild now. The days when one in three confused Java for JavaScript seem to be over. However, programmers traditionally have stones in this garden.
The first and foremost thing that can still be put on the surface: optional, if the applicant did not fit or does not quite fit after the first or second conversation. People literally disappear, they promise to write right tomorrow, tomorrow, after a reminder, they swear that the day after tomorrow for sure, but they don't write or call. One person (I give it credit) called and explained in detail why they had not taken it, but only after a reminder in the messenger.
Against this background, companies look advantageous that a) do not forget to report the result of 2-3-5 hours of work (and this is exactly the work, and not the easiest one!) B) give more or less detailed feedback: what you liked, what needs to be improved. I don't know what prevents others from working in this style, but does everyone understand that this is an investment in the company's reputation? ..
She's also a funny thing, which seems to have become fashionable (or I just now caught my eye): in case of refusal, they often write "let's stay in touch." I don't know what HR means by this. What is the connection? - My business is to quickly find a job, I won't need to keep you informed later. You, I think, too, even if I turn to you a second time, first pick up my profile and read the reasons for the refusal. Not the best start for a new conversation, right? By the way, I had such an experience with one company: two years later I was refused immediately, without talking, as soon as I reminded that I had been with them once.
Refusal is a natural thing. I don't think you should mask it behind a dozen non-binding empty phrases. There was one very amusing case: I interviewed a foreign company, but I talked with Russian employees and HR (in fact, there is a full-fledged office here). A lot of correspondence, even more conversations about Zoom. But when it was necessary to write a refusal, HR somehow did it in English, hiding the essence of the message in 3 paragraphs of insular courtesies. Honestly, I didn't even immediately understand the meaning of the letter.
Rounding off the topic of criticism of HR, it is also worth mentioning that lies on their part are intuitively calculated quite quickly, and one does not want to deal with the company in the future from the word “absolutely”. So, some figures said that they closed the vacancy by another person, they say, he came more from experience. As a result, the vacancy hangs for almost a month after our conversation, it is regularly updated on HH. Ay-ay-ay, Ksenia ...
Tests
There is also such a thing as tests: psychological, logical, etc. Rare companies offer them, but I got one. As an applicant, I would like to see the test results. It is especially offensive when the details of the offer are already being discussed with the company, and the last point she suggests is to sit and select the checkboxes in the web survey. And then, after 3 days, a deaf refusal comes. If the psychological profile of an employee calculated from such tests is really critical for you, it is better to give them closer to the beginning, again, for reasons of saving time. Well, it would be nice to give some kind of summary, especially when the case is turned 180 degrees. The tests themselves assume objectivity, and there is nothing easier than giving a dry result. A person will definitely be interested in looking at himself from the outside.
Techies
The technical part of the interview. As already mentioned, most interviewers love algorithmic problems. From the knowledge that is a must-have for a frontend in 2020 - this is an event loop (see Ivan Tulu p), Promises, PureComponent (if React): this was asked by almost everyone this season. Very little - and it really surprised me! - conversations about working on Redux / Mobx, about complex component compositions, about sources of truth and other things that are usually racked by at work.
The most important lesson I learned from interviews with colleagues: almost everyone really does not care about your experience and the technologies that you have mastered. No one reads beyond the second entry from the top of the resume. Almost everyone asks to tell the experience on their last project, and then smoothly wrap up to the stored tasks. Perhaps the interviewees are simply not ready to climb into this jungle in order to save their own strength.
But there are, of course, interesting and engaging interviews with techies. There are two types of them. The first is when a tech lead / tech lead of a small company is recruiting a team or looking for a specific person. I came to one such interview, and the person began to discuss with me my 2.5 technical articles on Habré, which he found himself. Agree, this immediately brings the conversation to a different level.
The second is a rare type of team leader who knows how to make an interesting, completely unexpected conversation out of an exam, which sometimes gives more than three months of reading the documentation. I will not miss the opportunity to mention one of these people - Artyom Pulyavin from Citymobil - who seems to have found the perfect interview form, combining technical tasks with a story about company processes.
The most unpredictable technical interviews take place where the backend interviews you (for some reason, there was no front for the interviews / it is not in the company).
Search for team leads
And a separate word on team lead interviews. I, of course, know that a strange, even paradoxical situation has developed in IT: the industry generally believes that a team lead needs to be raised, that this person must necessarily be from the team itself. It would seem that we have common technologies, we write code in the same languages. Almost nowhere in other industries, as far as I know, there are any problems with the transition of a middle manager to a new job in the same capacity. Nevertheless, I decided to try it several times.
It seems to me that these interviews are the least logical and adequate. First, because the interviewers themselves don't really know what to ask. It seems that they want to hear some special, correct set of general phrases, and are not ready to delve into the analysis of leadership competencies during a live conversation to the point. In addition, none of these few companies, again, were interested in my experience below the second line of the resume from the top. A typical conversation was structured like this: okay, tell us how you were leading in the previous place - At the previous one, maybe not very much, but 13 years ago I had the experience of managing a full-fledged team of 10 people - Thank you, this is not interesting for us.
Well, the owner is a master, but the criterion of truth is practice. So, one company on my list has been unable to fill a team lead vacancy for at least 6 months (just what I observe). In the center of Moscow, salaries are good. The second company is also looking for a candidate for a long time.
Not finding a line manager in any other mainstream industry in the largest city within six months? - Shots on the street with a wolf ticket. And only in IT it is customary to hope that this process is extremely difficult, that leads are rare pearls, etc. No, I'm not motivated by resentment for wasting time on interviews. Let's just look at this situation from the point of view of programmers in ownerless teams: is this a normal situation? It’s strange, at least: they say, it’s so difficult to team lead that even half a year is not enough to find a suitable person for you idiots ...
To summarize
Overall, we can say that the search and hiring process in our industry is more or less settled. It is approximately clear how this happens, it is approximately clear what will be asked and how to answer. There are fewer wonderful companies that have obviously played some kind of role-playing game (although sometimes they still come across). Perhaps not all aspects of hiring are perfect, but this balance is also good.
The crisis and quarantines have not affected career opportunities that much. While some companies have suspended recruitment or are doing it at idle, others are seeing rapid growth (primarily online retail and all kinds of online courses). Our profession is still in demand, and salary offers are quite good.
What the industry still has to work on: it seemed to me that many of the companies do not provide an induction plan, career development, conflict resolution mechanisms. Just try asking these kinds of questions: you are likely to see confused answers from the "already understandable" series. For most, the hiring process ends exactly on the day the offer is approved, which, in my opinion, is wrong. But this is a topic for a separate conversation.
ps. How did it end for me personally? As a result, I got a job with a salary one and a half times higher than what was paid where I worked before this whole story. I also got a lot of interesting experience, some very useful correction of my opinion about myself as a versatile professional and a rich texture for building a further path in terms of self-development in the profession. To be honest, changing jobs in times of crisis is a bit nervous, but in my case, the results were worth it.