How does Data Science sell you ads? Unity Engineer Interview

A week ago Nikita Aleksandrov, Data Scientist at Unity Ads, spoke on our social networks, where he improves conversion algorithms. Nikita now lives in Finland, and among other things, he spoke about the IT life in the country.



We share with you the transcript and recording of the interview







My name is Nikita Aleksandrov, I grew up in Tatarstan and graduated from high school there, took part in the Olympiads in mathematics. After that he entered the Faculty of Computer Science of the Higher School of Economics and graduated from the Bachelor's degree there. At the beginning of the 4th year I went to study on an exchange, spent a semester in Finland. I liked it there, I entered the master's program at Aalto University, although I did not finish it completely - I finished all the courses and started writing my diploma, but left to work at Unity without getting my degree. Now I work for a Unity data scientist, the department is called Operate Solutions (formerly it was called Monetization); my team is directly involved in the delivery of advertising. That is, in-game advertising - the one that is issued when you play a mobile game and need to earn an extra life, for example. I am working on improving ad conversion - that is, doing so,so that the player is more likely to click through the ad.



How did you move?



First, I came to Finland to study for a semester in exchange, after that I returned to Russia and completed my diploma. Then I enrolled in a master's program at Aalto University in machine learning / data science. Since I was an exchange student, I didn't even have to take an English exam; I did it easily, I knew what I was doing. I have been living here for 3 years.



Is Finnish necessary?



It is necessary if you are going to study here for a bachelor's degree. There are very few programs in English for bachelors, you need Finnish or Swedish - this is the second state language, some universities teach in Swedish. But in the master's and PhD programs, most of the programs are in English. If we talk about everyday communication and everyday life - here the majority of people speak English, about 90%. People live normally for years (my colleague has lived for 20 years) without the Finnish language.



Of course, if you want to stay here, you must at least understand Finnish at the level of filling out forms - last name, first name, and so on.



Does the quality of education differ from the universities of the Russian Federation? Do they provide all the necessary base for a junior device?



The quality is different. It seems to me that in Russia they are trying to give a lot of things at once: differential equations, discrete mathematics and much more. In fact, you need to take additional materials, as a term paper or thesis, to comprehend something new on your own, to go to some courses. Here it was easy for me in the magistracy; I knew a lot of what was going on. Again, in Finland a bachelor is not a specialist yet, there is still such a division. Now, if you are a master, then you can get a job. I would say that social skills are important in a master's degree in Finland, it is important to participate, be active; there are research projects. If there is interesting research for you, and you want to dig deeper, then you can get the professor's contacts, work in this direction, and develop.



That is, the answer is yes, but you need to be socially active, cling to every opportunity, if any. One of my friends went to work for a startup in the Valley - there is a program at the university that looks for suitable startups and arranges interviews. I think he even went to CERN later.



How does a company in Finland motivate employees, what are the goodies?



In addition to the obvious (salary), there are social benefits. For example, the amount of parental leave. There are health insurance, stocks, options. There is an unusual accrual of vacation days. Nothing fancy, mostly.



We have a sauna in our office, for example.



There are also coupons - a certain amount of money for meals, for public transport, for cultural and sports events (museums, sports).



What is the best advice for a humanities student to enter IT?



? /…



I advise, of course, to tighten up the mathematics. But it is not necessary to repeat the school course. More precisely, it should be repeated only if you do not remember anything at all. In addition, you need to decide what kind of IT you want to go to. For a front-end developer, you don't need to know math: you just need to take courses on the front-end and learn. A friend of mine recently decided to enroll in a course from Accenture and is currently teaching Scala; she is not a humanist, but she had no programming experience. Depending on what you want to program and on what, you need a different amount of math. Of course, Machine Learning requires mathematics, in one way or another. But, if you just want to try - there are many different tutorials, open information, places where you can play with a neural network or build it yourself, or download a ready-made one,change the parameters and see how it changes. It all depends on how strong the motivation is.



If it's not a secret - salaries, experience, what do you write on?



I write in Python, which is a universal language for machine learning and data science. Experience - had a different experience; I was a simple engineer in several companies, was on an internship for several months in Moscow. There was no full-time job before Unity. I also came there as an intern, worked as an intern for 9 months, then took a break, and now I have been working for a year. The salary is competitive, higher than the median for the region. A beginner specialist will earn from 3500 EUR; this varies from company to company. In general, 3.5-4 is the starting salary.



What books and tutorials can you recommend?



I don't particularly like to learn from books - it's important for me to try it on the fly; download something ready and try it yourself. I consider myself more of an experimenter, so I can't help with books. But I watched some interviews and live broadcasts here, where the second speaker talks in detail about the books.



There are various tutorials. If you want to try out some algorithm, take the name of the algorithm, method, method classes, and type it into the search. See what the first link comes in.



How many remain clean?



After taxes - you need to take taxes plus 8% (which, as it were, not a tax, but a tax) - remains 2/3 of the salary. The rate is dynamic - the more you earn, the more tax.



Which companies are looking for advertising?



You need to understand that Unity / Unity Ads are advertising mobile games. That is, we have a niche, we are very well versed in mobile games, you can create them on Unity. Once you've written a game, you want to make money from it, and monetization is one way.

Any company can apply for advertising - online stores, various financial applications. Everyone needs advertising. Specifically, our main clients are mobile game developers.



What projects are better to do to improve skills?



Good question. If we are talking about data science, you need to pump yourself through an online course (for example, Stanford has it) or an online university. There are a variety of platforms that you have to pay for - like Udacity. There are homework, videos, mentoring, but the pleasure is not cheap.



The narrower your interests (for example, some kind of reinforcement learning), the more difficult it is to find projects. You can try kaggle competitions: go to kaggle.com, there are many different machine learning competitions. Take what some baseline is already attached to; download and start doing it. That is, there are many ways: you can study on your own, you can take an online course - free or paid, you can participate in competitions. If you want to look for a job on Facebook, Google, and so on, then you need to learn how to solve algorithmic problems - that is, you need to go to LeetCode, get your hand there in order to pass interviews.



Describe a short Machine Learning roadmap?



Ideally, I will tell you without pretending to be universal. You first take math courses at university, you need knowledge and understanding of linear algebra, probability theory and statistics. After that, someone tells you about ML; if you live in a major city, there should be schools offering ML courses. The most famous is SHAD, Yandex School of Data Analysis. If you pass it and you can study for two years, then you will receive the entire ML base. You will need to further hone your research and work skills.



If there are other options: for example, Tinkoff has courses in machine learning with the possibility of finding a job at Tinkoff after graduation. If it is convenient for you, sign up for these courses. There are different entry thresholds: for example, there are entrance tests in the ShAD.

If you don't want to take regular courses, you can start with online courses, of which there are more than enough. It depends on you; if you have good English - good, it will be easy to find. If not, then perhaps there is something too. The same lectures by ShAD are in the public domain.

After receiving the theoretical base, you can go ahead - for internships, research, and so on.



Can I learn machine learning myself? Have you met such a programmer?



I think yes. You just need to have strong motivation. Someone can learn English himself, for example, while someone has to go to courses, and only in this way this person can learn. It's the same with ML. Although I don't know a programmer who would have learned everything on his own, perhaps I just don't know much; all my friends were just studying in the usual way. I do not presume to say that 100% need to be trained like this: the main thing is your desire, your time. Of course, if you do not have a mathematical base, you will have to spend a lot of time to develop it.

In addition to understanding what it means to be a data scientist: I don't do data sci myself.

ence as research. Our company is not a laboratory where we develop methods by closing in the laboratory for six months. I work directly with production, and I need engineering skills; I need to write code, have engineering skills to understand what works. People often omit these features when talking about data science. There are many stories of people with PhDs writing horrible unreadable unstructured code, they have big problems after they decide to go into the industry. That is, in conjunction with Machine Learning, one should not forget about engineering skills.



Data science is a non-self-explanatory position. You can get a job at a data science company and you can write SQL queries, or you can do simple logistic regression. In principle, this is also already machine learning, but each company has its own understanding of what data science is. For example, my friend on Facebook said that data science is when people just run statistical experiments: they click on buttons, collect results and then provide them. In doing so, I myself improve conversion methods and algorithms; in some other companies this specialty may be called machine learning engineer. In different companies, things can be different.



What libraries are you using?



We use Keras and TensorFlow. PyTorch is also possible - this is not essential, it allows you to do all the same things - but at some point it was decided to use them. With existing production it is difficult to change.



Unity has not only data scientists who optimize conversion algorithms, but GameTune is the kind of thing where you improve your metrics in terms of profit or retention through various tutorials. Let's say someone played a game and said: I do not understand, I am not interested - I gave up; it is too easy for someone, on the contrary - he also abandoned. Therefore, GameTune is needed - this is an initiative that adapts the complexity of games according to the abilities of the gamer, or according to the history of games, or how often he buys something in-app.



There is also Unity Labs - you can google that too. There is a video: you take a cereal box, and on its back there are games like mazes - but they are compatible with augmented reality, and you can control a person on cardboard. It looks very cool.



You can talk directly about Unity Ads. If you decide to write a game, and decide to publish it and earn it, then you have to solve some difficult problems.



I'll start with an example: here Apple announced the launch of iOS 14. In it, a potential gamer can go into the application and say that he does not want to fumble his Device-ID with anyone. However, he agrees that the quality of advertising will deteriorate. But at the same time, this is a difficult task for us, because if we cannot identify you, then we will not be able to collect certain metrics, and we will simply have less information about you. It is becoming more and more difficult for the data scientist to optimize work in a world that is more committed to privacy and data protection - data is becoming scarcer, as are the methods available.



Besides Unity, there are giants like Facebook and Google - and it would seem, why do we need Unity Ads? But you need to understand that in different countries, these ad networks can work in different ways. Relatively speaking, there are Tier 1 countries (America, Canada, Australia); there are Tier 2 countries (Asia), there is Tier 2 (India, Brazil). Advertising networks can work in them in different ways. The type of advertising used is also important. Whether it is a regular view, or advertising "for a reward" (rewardable) - when, for example, to continue from the same place after a game over, you need to view the advertisement. Different types of advertising, different people. In some countries, one ad network works better, in some other. Also, as an additional note - I've heard that Google's AdMob integration is more complex than Unity.



That is, if you created a game in Unity, then you are automatically integrated into Unity Ads. The difference is the ease of integration. What can you advise: there is such a thing as mediation; it has different positions: you can set positions in the "waterfall" (waterfall) for setting advertising placements. You can say, for example, like this: I want Facebook to be shown by priority, then Google, then Unity. And, if Facebook and Google decide not to show ads, then Unity will. The more ad networks you have, the better. This can be seen as an investment, but you are investing in a different number of ad networks at once.

You can also talk about what is important for the success of an advertising campaign. Actually, there is nothing special here: you need to make sure that the ads match the content of your application. You can, for example, search Youtube for β€œapp ads mafia” and see how the ads might not match the content. Then there's Homescapes (or Gardenscapes?). It may matter if the campaign is set up correctly: so that ads in English are shown to an English-speaking audience, in Russian to a Russian-speaking audience. Very often there are mistakes in this: people simply do not understand, they install at random.

You need to create various cool videos, think about the format, think about how often to update them. In large companies, this is done by special people - user acquisition managers. If you are a solo developer, then you do not need it, or you need it after reaching a certain growth.



What are your future plans?



Still work where I am now. Maybe I will get Finnish citizenship - this is possible after 5 years of residence (if less than 30 years old, you also need to serve, if the person has not done this in another country).



Why did you move to Finland?



Yes, this is not a very popular country for an IT specialist to relocate. Many families move because there are good social benefits - kindergartens, nurseries, more maternity leave for either parent. Why did I move myself - I just liked it here. I could like it anywhere, probably, but Finland is quite close in cultural mentality; there are differences with Russia, of course, but there are also similarities. She is small, safe, and will never get involved in any big mess. This is not a conditional America, where a president who is not loved can get caught and something will start because of this; and not Great Britain, which suddenly wants to leave the EU, and there will also be problems. There are only 5 million people here. Even with the coronavirus epidemic, Finland coped quite well in comparison with other countries.



Are you going to return to Russia?



I'm not going to. Nothing would hurt to do this, but I'm comfortable here. Moreover, if I work in Russia, I will have to register for military service, and I can be drafted.



About master's degree in Finland



Nothing special. In terms of lecture content, it's just a bunch of slides; there is theoretical material, a seminar with practice, where this theory is honed, then an exam on all these materials (theory and problems).



Feature: they are not expelled from the magistracy. If you have not passed the exam, then this course will simply have to be taken in the next semester. There is only a limitation on the total study time: for a bachelor's degree - no more than 7 years, for a master's degree - 4 years. You can safely finish everything in two years, except for one course, and stretch it for 2 years, or take academies.



Is work in Moscow and in Finland much different?



I would not say. The same IT companies, the same tasks. Culturally and everyday life is convenient, work is not far away, the city is small. The grocery store is one minute away from me, the hall is three, work is twenty-five, door to door. I like the sizes; I have never lived in such cozy cities where everything is at hand. Beautiful nature, beach nearby.



But in terms of work, I think everything is plus or minus the same. As for the Finnish IT labor market, with regards to machine learning, some note that for specialties related to ML, PhD or at least masters are required. I believe this will change for the foreseeable future. There is still a prejudice here: if you are a bachelor, then you cannot be a trained specialist, but if you have a master's degree, you have a specialization and you can work. And if it's a PhD, then everything is absolutely cool, and you can do IT research. Although, it seems to me, even people who have completed PhD may not be integrated into the industry at all, and may not understand that the industry is not only algorithms and methods, but also a business. If you don't understand business, then I don't know how you can grow into a company and understand how this whole meta-system works.



Therefore, the idea of ​​moving to a master's program and finding a job right away is quite difficult; if you move to Finland with a bachelor's degree, you are a no-name. You need to have some work experience to say: I worked in Yandex, Mail, Kaspersky Lab, etc.



How to live on 500 EUR in Finland?



You can live. If you are a student, you need to understand that you will not have a scholarship; The EU can provide money, but only for those who are studying by exchange. If you are entering a university in Finland, you need to understand how you will live. There are several options; if you enroll in a master's program with a PhD track (that is, at the same time for a master's program and for a PhD), then from the very first year you will do research work and receive money for it.

Small, but enough for the student. The second option is part-time work; for example, I was a teaching assistant for a certain course and earned 400 EUR per month.



By the way, Finland has good student benefits. You can check into a hostel for 300 or 200 EUR per room, you can eat in student canteens with a fixed price (whatever you put on your plate - 2.60 EUR). Some try to have breakfast, lunch and dinner in the dining room for 2.60; if you do this, you can live on 500 EUR. But this is the bare minimum.



Where can you go if you want to be a programmer?



You can enroll in the Faculty of Computer Science of the Higher School of Economics, MIPT - FIVT and FUPM, or VMK Moscow State University, for example. You can find something in St. Petersburg. But I am not aware of the exact situation with machine learning, try googling this topic.



I want to say that learning is not enough to become a programmer. It is important to be a social person, pleasant in communication, in order to make contacts as quickly as possible. Contacts can decide. Personal recommendations to the company give a tangible advantage over other applicants, you can simply skip the recruiter's screening.



Naturally, life in Finland is not quite fabulous - I moved and everything immediately became cool. Any migrant still faces culture shock. Different countries have different people, different mentality, different laws. For example, here you need to take care of taxes yourself - fill out the tax card yourself; buying a car, renting a house - many things work differently. This is difficult enough if you decide to move. The people here are not to say very social, the weather is like in St. Petersburg - in November-December there can be 1-2 sunny days. Some even get depressed here; they come with the confidence that they are very much needed here, but this turns out to be not the case, and you need to earn money by playing by someone else's rules. It's always a risk. There is always the possibility that you will have to come back because you simply will not settle down.



What advice would you give to novice programmers?



I advise you to try as much as possible, to understand what really interests you. Try not to get stuck in one area: try Android development, frontend / backend, Java, Javascript, ML, and other things. And, as I said, you need to be active, make contact, be interested in what is happening; what friends, colleagues, acquaintances are doing. Go to workshops, seminars, lectures, meet people. The more connections you have, the easier it is to understand what's interesting.



Where else is Unity used besides games?



Unity is trying to stop being a purely game engine. For example, it is used to render CGI videos: if you are developing a machine, for example, and you want to make an advertisement, you will certainly want to make a good video. I've heard that Unity is used for architectural planning as well. That is, wherever visualization is needed, Unity can be used. If you google, you can find interesting examples.



If you want to ask a question, do not hesitate to find me on all social networks.






What happened before



  1. Ilona Papava, Senior Software Engineer at Facebook - how to get an internship, get an offer and everything about working in a company
  2. Boris Yangel, Yandex ML-engineer - how not to join the ranks of dumb specialists if you are a Data Scientist
  3. Alexander Kaloshin, EO LastBackend - how to launch a startup, enter the Chinese market and get 15 million investments.
  4. , Vue.js core team member, GoogleDevExpret β€” GitLab, Vue Staff-engineer.
  5. , DeviceLock β€” .
  6. , RUVDS β€” . 1. 2.
  7. , - . β€” .
  8. , Senior Digital Analyst McKinsey Digital Labs β€” Google, .
  9. «» , Duke Nukem 3D, SiN, Blood β€” , .
  10. , - 12- β€” ,
  11. , GameAcademy β€” .
  12. , PHP- Badoo β€” Highload PHP Badoo.
  13. , CTO Delivery Club β€” 50 43 ,
  14. , Doom, Quake Wolfenstein 3D β€” , DOOM
  15. , Flipper Zero β€”
  16. , - Google β€” Google-
  17. .









All Articles