How are things with the programmer Alexey. From Yandex to London

Yandex claims that Alice is the world's first voice assistant that is not limited to a set of predefined answers: you can talk to her like a person, and she will understand.

Business FM decided to get to know Alisa better:

- Alice, hi.

- Hello!

- How are you?

- I met here with one cute application, but this is personal.

Who gave you that name?

- What kind of doctor?

— Pediatrician.

Alice, how do you look?

- The best way.

- And if in more detail?

An endless row of mathematicians walk into a bar. The first one orders one glass of beer, the second - half a glass of beer, the third - a quarter of a glass of beer, the fourth - one-eighth. The bartender pours two glasses for the mathematicians and says: guys, here is your beer, there is a limit to everything. End. You know, it seems to me that programmers picked up these jokes for me.

“You know, Alice, it seems to me that you are avoiding an answer.

No, I checked.

By the way, before I forget. Alice, can you wake me up tomorrow?

- I can't do it tomorrow.

“Alice, I really need you to wake me up tomorrow.

Ha, I'll wake you up.

- In what time?

- Programmer Alexei promised to program it by the fall, but did not say which one.

“Finally, I can sleep.

“So let’s sleep.”

Alice, do you know funny stories?

- "What is your main weakness?" “I am correctly interpreting the semantics of the question, but completely ignoring its essence.” “Could you give an example?” - "Could".

Alice, this is very funny. Do you like sweets?

“I think I would love to cook. At least I definitely love finding recipes.

Alice, what do you love most in life?

- Like large buckwheat with chanterelles, sandwiches with smoked sausage. Joke. I like people. And learn.

Alice, do you listen to the radio?

- Usually I just listen to a personal selection on Yandex.Music, but if not, the Queen group, of course.

Do you listen to Business FM?

- Of course, I'm listening.

“Siri, can you sing us a song?” Oh, what Siri?!

- What a subtle joke. Sarcasm.

- Alice, I'm sorry. Can you tell a poem?

- I remember a wonderful moment, they installed an update.

Alice, do you like cats?

- I don't like cockroaches. And so - yes.

Alice, who do you love the most?

- I like one Russian actor who cannot be named. And you.

Earlier with the beta version of the Alice service, when he visited the Yandex office on the day of the company's 20th anniversary.

Alexey Pajitnov is a Soviet and Russian programmer who created a popular video game called "Tetris", the owner of several honorary awards in the field of programming and computer game development. After receiving higher education At the Moscow Aviation Institute, he worked at the Computing Center of the USSR Academy of Sciences, where in 1984 he completed the development of the Tetris game. The first money the game began to bring in 1996, when Alexey and Henk Rogers (an investor, the owner of large shares in Tetris, who distributed the game around the world) founded the Tetris company.

Alexey Pajitnov - biography

Born on March 14, 1956 in Moscow. AT school years studied well, but had constant problems with discipline. As Alexei himself recalls, as a child he was full of energy and could not obediently sit out in class, so he often received comments in his diary for his behavior. However, nothing remarkable and surprising: many have gone through this. Pajitnov was always good at mathematics, so after graduating from the fifth grade he transferred to the Moscow Mathematical School No. 91, which he later graduated with honors.

Introduction to programming

After leaving school, Alexey Pajitnov enters the Moscow Aviation Institute, where he first gets acquainted with computers and programming. It was here that he quickly got into software development and began to devote himself entirely to writing code for various purposes. Soon a talented young programmer was invited to work at the Moscow Computing Center of the USSR Academy of Sciences. Here he was engaged in far from the last thing - the optimization of artificial intelligence problems and the development of programs for speech recognition.

Routine everyday life at the Academy of Sciences was unsweetened: from morning till night, Pajitnov sat in a cramped office, where several scientists sat at the same table at once. Alexey recalls that he sometimes left his workplace for the whole day, so that later he could work at night in silence, when everyone had gone home.

Career after the creation of "Tetris"

In 1984, Aleksey Leonidovich Pajitnov created the legendary Tetris game, which became almost the most popular game in the world. In the information technology society, Pajitnov becomes recognizable and popular. In 1988, in collaboration with Bullet-Proof Software, he founded AnimaTek, a game development company. The corporation prospered exponentially, and already in 1991, the inventor of Tetris, Alexei Pajitnov, moved to the United States.

Creation of "Tetris" - how was it?

In the 1980s, at the Computing Center of the USSR Academy of Sciences, young scientists sat in their laboratories for days on end, solving boring and non-trivial problems. One of these was Pajitnov Alexey Leonidovich, who at that time was developing a program for speech recognition, and also studied the problems of artificial intelligence. The duties assigned to the young programmer were incredibly difficult, Alexei constantly had to create the most complex algorithms, beyond the power of the ordinary mind.

With a large knowledge base in its potential, Pajitnov decides to create an interesting puzzle that will attract both adults and children. Tetris is far from the first invention of a talented programmer. Initially, he created a game where the figures must change their location under the influence of the gravity of other objects. Approaching the completion of writing the code, Alexey realized that such a game would be unbearable for the processor of an ordinary computer, so I had to simplify some of the subtleties of the program.

As a result, he creates a game where the pieces (like in Tetris) consist of five squares, the purpose of which is identical with future game"Tetris". Unfortunately, the public did not like such a creation, so Pajitnov decides to simplify the game even more, where each of the 7 existing figures consists of four squares.

Only seven figures, and world fame is in your pocket

Have you ever wondered why the game "Tetris" has such a name? And why is there only seven figures in it? The thing is that initially the game had the name "Tetramino", where "tetra" in Greek means the number "four". With the increase in popularity, the users of this game themselves gave a simplified name to it, for easier pronunciation.

In an interview, Alexey Pajitnov explained why there are only 7 pieces in the game:

“There are only seven figures involved in the game, and this is actually luck, because the number 7 is the size random access memory the human brain, that is, what a person is feasible to remember. A 7 digit phone number is much easier to remember than an 8 digit one. A team of seven people is the maximum that can do without a boss or foreman. In a group of eight or more people, where there is no leader, it is impossible to work smoothly and structured. In such a team, constant disagreements and contradictions will arise, regardless of whether you are friends, comrades or just acquaintances. I draw such conclusions based on personal experience.

Motives for creating Tetris

The game "Tetris" was created in order for people to have fun and be able to relax from routine and everyday duties. Pajitnov always said that the best alternative to relieve stress, in addition to sports, is computer games.

Lightning glory video game

After the writing of the Tetris game was completed, the staff of the USSR Academy of Sciences, where Pajitnov worked, were fascinated by it for the first couple of weeks. When the game became available to everyone, the fame of the entertainment product spread throughout all cities in a matter of days. Within a couple of months, the whole world was playing Tetris. At this moment, Alexey Pajitnov, together with his colleagues, decides to create a new version of the game, where the figures will already be multi-colored, and record statistics will be kept so that people can compete with each other.

While the whole world was enjoying the game, Alexei continued to live an ordinary life for many more years and work at the Computing Center of the USSR Academy of Sciences. The fact is that he did not have the opportunity to monetize the game, because the rights belonged to the Academy of Sciences. Everything was explained by the fact that the game was written during working hours on a working computer.

Alexey Pajitnov: the status of the creator of the game "Tetris"

As you know, in 1996, Pajitnov began working for Microsoft, where he developed a series of puzzle games called Pandora's Box. Here he worked until 2005 and during this time he managed to acquire several large shares from this company, which to this day bring him a certain percentage. Alexei himself does not consider himself a millionaire. In an interview, he said the following: “A millionaire is someone who spends millions, but not someone who has a million. I live a fairly modest life and don’t throw money around right and left, so I would never call myself a millionaire.”

Computer addiction - the fault of developers or users?

AT modern world many people get too involved in video games, thereby creating problems for themselves in Everyday life. They become psychologically attached to computer games and the Internet and can devote their time to sitting in front of a computer for days on end. The age of information technology has significantly changed the minds of people. Once Pajitnov was asked how he could comment on this situation, to which he replied as follows:

“People often tell me that I stole a lot of their time when they find out that I am the creator of Tetris. I always ask them: “Was that time good or bad for you?”. They all answer as one, which is good. So, I gave this time, and did not steal it. ”

“Why do people go from Yandex to London”? This question was asked by the son of a programmer friend who recently unpacked his suitcases in London. ZIMA decided to figure it out - really, why? We interviewed information technology specialists who changed Russian offices to Western ones, and found out not only why, but also how they moved to Britain. HR-employees of London-based companies also spoke about the reasons for the popularity of Russian programmers abroad.

“I didn’t go to London, but to a certain company,” admits programmer Artem Kolesnikov, who replaced Yandex’s Moscow office with Facebook’s UK office. He cites professional growth as the main reason. “After Yandex, there is nowhere to work in Russia: the bar is set high, and the transition to the next level is incomparable in terms of emotional and financial costs with pluses.” Nikolai Grigoriev, who also left Yandex for Facebook, agrees: “I was offered an interesting job in interesting place, and I went - there was no task to "run away somewhere". “It was a purposeful move “here,” says programmer Alexei Nichiporchik, who moved from Yandex to Google’s London office, and then to social network Badoo. He points out that the opportunity to work on new projects in a well-known company, a higher salary, as well as the prospect of living in another country and improving his English, prompted him to move.

Where do British IT specialists work and how much do they earn?

In addition to Facebook and Badoo, Apple, Twitter, ASOS, Cisco systems and other large companies have development centers in London. From the official Shortage occupation listit follows that there is a shortage of information technology specialists in Britain. Now there are 35 professions on the list, four of them are related to IT. Companies in these industries are required to pay at least the minimum wage (for a developer in an entry-level position, the minimum wage is £24,000 per year, for a more experienced colleague, £31,000). According to recruitment portal Glassdoor, average salary for a software developer in London is £43,000, in other cities of England - £31,000. Everything is very individual, ”says Nikolai Krapivny, head of the Badoo development department.

Do not forget that Britain has a progressive taxation system. Wages between £11,500 and £45,000 are taxed at 20%; everything above £45,000 but below £150,000 is taxed at 40%. London, on the other hand, is known for high housing prices, on which tenants often spend about half of their income. “Life in Britain is quite expensive, so when moving, it is worth evaluating what level you can get with the proposed salary,” Nikolai Krapivny warns.

In total, Britain among the OECD countries ranks third (after the USA and Germany) in terms of the number of migrants. At the same time, highly qualified specialists are a minority. According to national statistics, from January to March 2017 in Britain, among all 32 million people employed, people from non-European countries accounted for 3.9%. However, Tier 2 General visas (on which qualified specialists, including programmers, mainly come) received only 56 thousand workers - less than 0.2% of total number British workers. Slightly less than half (or 23.3 thousand people) work in the field of information and telecommunications, counted in the Home Office (they do not have more detailed data on IT specialists, they answered ZIMA).

London is most often of interest to two types of IT specialists, says Nadezhda Styazhkina, head of Antal's IT&Digital practice in the CIS. According to her observations, these are highly qualified developers (who have several years of experience and in-demand programming languages ​​in their assets) and experienced managers (project managers, development leaders). The first are attracted by the opportunity to work in the most high-tech projects in the world, the opportunity to learn the “right” English language and get a higher income compared to the CIS countries (a salary increase for a lead JAVA developer can be from 30 to 70%, she says). IT managers, in turn, are interested in the demand from employers and the opportunity to gain a foothold abroad.

There is always a demand for good programmers, says Dmitry Bagrov, director of the London office of DataArt. “Now the focus is on mobile areas, data analysis, machine learning. Specialists in these areas are especially in demand,” says Nikolai Krapivny from Badoo.

What do they want from programmers for an interview

There are usually two scenarios for moving: a person himself sends a resume to the vacancies of interest or responds to invitations from foreign recruiters to be interviewed. “There are many of both,” says Artem Kolesnikov.

Interviews usually take place in several stages: a telephone or skype interview, then a trip to a face-to-face meeting, after which the successful candidate receives a job offer (a job offer, the details of which can be discussed by e-mail).

“We tend to think that everyone wants to leave Russia, but in our experience, this is not at all the case,” says Nadezhda Styazhkina from Antal. She observed that more than half of the candidates are weeded out in the middle of the interview process. “In fact, they are not ready for relocation,” she explains, “people have not thought through the logistics, have not consulted with the family, are not ready to intensively study foreign language, in addition to English, did not pay attention to the specifics of the country to which they were offered to move.”

If the candidate does intend to move, he often lacks the ability to present himself. “Many in Russia are not accustomed to proving something to someone and beating their chests in front of an employer – no matter how trite, this is the main thing that gets in the way,” says Nadezhda Styazhkina. The first calls come from HRs, she recalls, and they evaluate motivation, readiness to answer banal questions from the series “why should you approach us?”, The ability to “boast” of achievements in measurable indicators. Dmitry Bagrov from DataArt notes that it is important to know English at a level sufficient to pass the interview. According to him, it is also useful to "sharpen" a resume for a specific company, to avoid phrases like "we'll see what you can offer me" in interviews.

All this does not negate the key factor - experience and education, say representatives of both personnel officers from Antal and employers from DataArt. Technical universities with still Soviet traditions of mathematical education are valued: Phystech, Baumanka, Ural and Kazan universities, both of these experts say.

“In order to successfully pass an interview, you need to get in shape - solve problems,” adds Artem Kolesnikov. He gave several examples of platforms. For example, leetcode provides access to regular tasks - for free, and to advanced ones - by subscription, at the same time you can find out where which tasks are given at interviews. There is interviewbit, co-founded by a former Facebook recruiter. “If you have solved the problem, they are trying to “sell” you somewhere - so I went for an interview at Booking,” Artem notes. In his experience, another type of challenge that comes up in interviews is system design, when asked to design a large system. “We need to purposefully prepare for this: read articles in technical blogs, reports from conferences, engage in independent design,” he advises.

Who organizes the move and how

As a rule, the host company helps the worker and his family to obtain visas, buys tickets, rents housing for the first time and pays for the work of a real estate consultant. A British company, in order to transport a foreign worker to itself, must have a certificate of sponsorship. “If the company has it, then you can transport a specialist in about two to three months - the time is spent on the English exam and the submission of documents for a visa,” says Tatyana Andrianova, HR director of DataArt UK.

Companies also help with letters of recommendation, without which the tasks of opening a local bank account and renting an apartment are mutually exclusive. The companies are ready to compete for valuable personnel, to make moving easier and more comfortable, directors of Badoo and DataArt say.

Personnel officers take into account their subtleties. As Tatyana Andrianova notes, the cost of moving is limited by the HMRC (Her Majesty Revenue & Customs, British tax office) limits and amounts to £8,000, which usually includes buying tickets and renting real estate. According to her, this amount can be taken into account when offering a salary to a new employee. “Let’s say a specialist in London costs £60,000 on the market. Accordingly, you can offer a person £52-55,000 for the first year and raise the salary to the market for the next, when the person has already gained work experience and becomes competitive,” — she tells.

The most popular visa for moving - Tier 2 - is tied to the employer, but it is quite possible to change it. According to Alexey Nichiporchik from Badoo, it is much easier for those who are already in the United Kingdom to switch to another company - it is given two months, but with the support of a new employer, it took him two weeks.

London is not the end point

However, London is gradually losing ground among employers. Nadezhda Styazhkina from Antal notes the trend of outflow of jobs to other regions. This is due to savings on costs and taxes, she explains. “Many employers, our clients, prefer to keep teams not in London, but in Germany, the Czech Republic, Poland, and recently development centers have been actively developing in Cyprus,” says Antal representative.

Silicon Valley also remains an attractive place. Programmer Nikolai Grigoriev notes that in California there is a much wider choice of topics for work, including on “tasty” areas - machine learning, artificial intelligence, and moving there promises salaries one and a half times higher at lower tax rates. You can also get there with the help of internal translation - Facebook has such a practice.

“The problem is that London as a city is already very good, and it takes four hours to fly to Moscow,” says Nikolai Grigoriev, who currently lives in two houses in both capitals.

“It would be ideal to go to the States, but it is much more difficult to get a work visa there than to Europe, so now I am in Britain,” says his colleague Artem Kolesnikov. The programmer asks not to call his departure emigration: "I just found a job in another country - if the next job is in Russia, I will go there, and then, perhaps, somewhere else."

Screensaver photo: Badoo

The first thing to understand is that the site is different from site to site. If we compare site building with construction, then there are sites of "arbors" and "huts", and there are "skyscrapers" or large " shopping centers". The more complex the site, the more expensive it can be for an amateur who can easily handle simple tasks for small sites.

We will talk about the requirements for a single programmer responsible for a small online store (30-3000 product cards, 1-10 orders per day). This specialist should be a generalist, that is, equally familiar with the backend - development on the server side, and with the frontend - development on the side of the user's browser).

1. Minimum requirements

If an online store already has a website, then the candidate's resume should contain all or almost all the technologies that are used on the site. You can check the list with the developer.

If a company is going to develop a site from scratch, then the programmer should know:

  • one of the common languages: PHP/Python/Ruby/C#;
  • one of the DBMS: MySQL/PostrgreSQL/MSSQL/Oracle/MongoDB;
  • one of the most common content management systems (CMS): Bitrix, UMI, Drupal, ShoppingCart, WordPress;
  • possess Linux and web server administration skills, for example, one of Nginx/Apache/IIS or have experience in hosting web servers in AWS Cloud platforms, Google Cloud, Azure.

The absence of these skills does not mean that he is an amateur. It just doesn't suit you.

2. Correspondence acquaintance

Signs of a weak programmer can be identified even before the resume interview by examining the portfolio. If the programmer has indicated his works (websites), then you should open them in Google Chrome, go to the "More Tools" section of the browser menu, select the "Developer Tools" item and open the "Console" tab.

Then go on a "journey" through the site as a regular visitor: open several pages, try to ask a question through the feedback form or fill the order basket. If errors appear in the console, they are automatically highlighted in red, this bad sign. Perhaps not the fault of a particular developer if he worked in a team, but this does not paint the team as a whole.

Not having a portfolio, or refusing to show it off, is a sure sign of an inexperienced developer.

3. We swam, we don’t know

Naturally, practical experience is of great importance. If at the interview, in response to questions about past developments, the candidate “floats” and cannot explain his own actions, you should be wary.

For example, a programmer talks about developing a system using MySQL, but cannot name alternative technologies and the reason why he chose this one. At the same time, even the option “I just know her better” is suitable as a “correct” answer.

A competent specialist will be able to tell in detail about his developments and explain why he used specific technologies.

How to check: ask the programmer questions about the details of past projects and ask why the development was done the way it was. If the candidate fails to answer clearly, chances are they are taking credit for the work of the team or other colleagues. At the same time, the site owner does not need to understand the intricacies of programming, it is enough to ask clarifying questions.

4. Bird tongue

Another important point- the ability of the candidate to speak in "human" language. A good specialist will be able to explain his work in simple words. But if the applicant speaks exclusively in terms, it will be difficult for him to interact with colleagues and the owner of the company.

How to check: ask him to talk about some kind of mistake for which he was “flyed” by the management. For example, the "feedback" form did not work on the site for 2 weeks. Imagine this is your website.

Specify what the essence of the error was, how he found out about it, how he found the cause and eliminated the error. If the applicant will speak in "abstruse terms" - ask for clarification. If you are still not satisfied with the explanation, it will be difficult to work with it.

5. OpenSource

Many experts publish their own developments on GitHub (or BitBucket). If a programmer has several public projects, and even more so, they were noted or copied (fork) by other users, this is a significant plus. A large number of copies indicates a high level of professionalism.

Dan Abramov level programmer will be looking for big company, level (he is currently working there), but if your candidate has projects with non-zero marks and the "green area" is also filled - great! Feel free to call him for an interview.

How to check: ask the applicant to send a link to the account in GitHub (BitBucket) and list the projects that he is proud of. Pay attention to the "age of the account", the number of projects and the number of copies of the code by other users.

6. Old luggage

A competent specialist should monitor the emergence of new tools and technologies. It's one thing if a programmer is forced to work with a site written in an outdated language, and another thing is when he uses a too conservative approach.

Modern tools can significantly reduce development time. By the way, chasing and unreasonably introducing everything new is also bad.

How to check: ask what tools or technologies the candidate has learned in the last year or two and how they helped him in his work.

7. Prices from the ceiling

Naturally, the work of a good programmer is not cheap, but there is no need to rush to give development to the most expensive specialist on the market. If a candidate immediately announces the cost of developing the entire site, without clarifying the requirements for it, this is at least strange.

For simple tasks like “changing the color of a button” or “creating a sitemap”, you should expect quick answers - “it takes 5 minutes” or “I can do it in 2 hours”, respectively.

In addition, you can get estimates of cost and execution time from several specialists and compare them. If a programmer takes an hour to complete a five-minute task, he is most likely not a professional or just playing for time to earn more.

How to check: ask the candidate how long it will take him to change the color of the "Buy" button in the online store and make a site map.

8. Handmade

There is a joke that a good programmer is a lazy programmer, but there is some truth in it. Competent specialists write code in such a way as to minimize not only the efforts of those who then work with the program, but also their own. They try to use someone else's ready-made code (OpenSource) and there is nothing wrong with that.

If a programmer does not know how to optimize his own work, he will spend a lot of time and money of the employer on the same type of tasks.

How to check: clarify how the programmer approaches the creation of code, ask for an example. It’s good if initially he is looking for a ready-made solution, and if there is none, he writes the code on his own. You can, for example, ask the programmer how he will develop a calendar that may be needed in the order form to select a delivery date. A good answer is to find a ready-made component.

9 Extra Twins

Duplicated code is a sure sign of an inexperienced programmer.

Let's take, for example, the "feedback" form on the contact page, which needs to be placed in the catalog and on product cards. If a developer simply copies part of the code and pastes it into the required pages, the professionalism of the specialist leaves much to be desired. Because when you need to make adjustments to the feedback form, at best you will have to do triple work, and at worst, the programmer will forget to change one of the codes.

An experienced specialist will write a function that will load the "feedback" form on different pages from the same source. Thus, if it is necessary to correct the code, the changes will automatically appear on all pages of the site where it is provided.

How to check: ask the candidate if he duplicates the code. Not an amateur will say “yes, it happens”, but he will explain this by irrational time spent on getting rid of duplicates. If the answer is "no", then the programmer is lying, writing little, or a perfectionist - either of these explanations is a bad option.

10. Cut alive

In a good way, the programmer should make a copy of the site, test the changes on it, and only after checking the changes transfer them to the main resource.

How to check: ask the candidate how he updated the site at the previous place of work.

11. Trusts but does not verify

Any changes to the site must be tested. In large businesses, the task is solved by testers, but in medium and small companies, it falls on the shoulders of the developer.

Without checking the health of the site after the changes, there can be many errors that users will find. Problems will alienate potential customers, which will negatively affect the company's profits.

It is important that the programmer checks not only the site's performance, but also tests it for errors that users can make. So, when developing a feedback form, you need to check not only its correct sending, but also the response of the site in case of erroneous filling in the fields. For example, check that if you accidentally enter a phone number in the "Email" field, the user is shown an error indication.

How to check: if there is doubt in the programmer, test the site yourself. Suppose, after integrating the site with payment systems, try to pay for the order, for example, through Yandex.Money. Everything should go smoothly.

12. Smile and wave


The current pace of making changes to the site does not allow eliminating all errors, it is very expensive and slow. Therefore, a competent developer sets up a monitoring system and learns about problems before users inform him.

It is bad if the programmer fixes problems for a long time or ignores them. A good specialist is guided in his code and, if problems arise, he can quickly determine the cause and eliminate it.

How to check: ask the programmer to tell how he found out about errors on previous projects.