⬆️ ⬇️

We are at Highload ++ this November: ask a question to Badoo engineers



Hi, Habr! And special greetings to those who are attending the Highload ++ conference this year, because we will meet there. We will come, and not empty-handed: eight reports in seven different sections.



But we don’t want to just show descriptions of our reports so that you can read and say: “I see.” We will play 3 conference tickets . In order to get them, you need to ask a question in the comments to this post to one of the following speakers, and we will consult and reward three participants. So that you could come up with questions, each of the guys talked a little about the team in which he works and about his role in it.



Under the cut - the names, passwords and, of course, descriptions of our reports at the conference.



The first day of Highload ++, November 7



Mikhail Ovchinnikov, Scalar , head of the Antispam team





About the team and about yourself:



In Badoo, I deal with the fight against spam, fraud and other unpleasant jokes. This is not an easy task, there are no exact methods or specialized solutions to combat spam on the social network, and each company reinvents its antispam.



Our team creates manual and automatic tools that help us quickly find and block hundreds of thousands of bad accounts. We actively use our internal technologies, such as the script cloud and the LSD streaming daemon, as well as Spark for data processing and machine learning tasks. We write in PHP and Scala. We write In MySQL, Tarantool and HDFS / Hive.



The topic and description of the report on Highload ++

Topic: We calculate by IP: how to deal with spam in a social network

Section: Big Data and machine learning

Time and Hall: 13:00, Nairobi + Casablanca Hall



What is the report:



Badoo is a social network of dating and a very attractive place for spammers and scammers, Nigerian princes and peddlers of adult content.



The report will contain a story about why you will not find these characters on our service, how to classify billions of user actions and identify spam in real time, how we use machine learning models and get rid of false positives.



Let's talk about the rites of detecting damage to the IP-address, curses on the device or lapel on the phone number. We identify spam by photo and facial features and study split personality with the help of Apache Spark.



As an antispam, Badoo has gone from 2 scripts and 75 regular expressions to a whole variety of systems of all sorts and colors.



Alexey Rybak, fisher , ex-head of Badoo development





About the team and about yourself:



Former head of badoo development. He worked in Badoo from 2005 to 2017, so you can ask any questions related to the development of Badoo.



The topic and description of the report on Highload ++

Topic: How to build a good performance review: Badoo experience

Section: Development Team Management (tmlids)

Time and Hall: 15:00, Main Hall



What is the report:



Many engineers nervously twist their faces when they hear the words "performance assessment." Someone remembers rumors about Microsoft's orders, someone - senseless lengthy forms that you have to fill out once a year on orders from above.



- Manager mutoten!

- Engineers can not be measured, review only interfere!

- KPI for engineers do not work, only annoying!



All this can be heard during the performance review discussion and, perhaps, in many cases, this is true.



Badoo is an engineering company, and, of course, we were not born with performance review. Our first acquaintance happened a long time ago when, it seemed, we were about six years old. Then in our company there was a senior comrade who had already dealt with a performance review, and he persuaded us to try. We decided, convincing ourselves: “Well, once or twice. We can always stop. ”



In general, we liked it so much that the review has since been working for us with almost no changes, and we can no longer imagine how to live without it. With the help of it, we relay our values, share news, thank you, tell colleagues where to grow, and this process helps a lot with technical support.



In this report I will tell:



  • simple rules for a successful review;
  • how we created and implemented the process itself;
  • what problems and how we solve them;
  • do you even need a review.


Second day Highload ++, November 8



Vitaly Sharovatov, vsh , Front-End Head





About the team and about yourself:



In Badoo, I lead the frontend development department, managing two teams: Mobile Web and Desktop Web. The frontend in Badoo is released every day (or even twice), releases hundreds of A / B tests and supports many projects.



I deal exclusively with management, I lead the strategy of the teams, I help the team leaders of both projects to build processes, motivation and atmosphere. My teams each quarter beat their own performance records, and projects grow by leaps and bounds.



The topic and description of the report on Highload ++

Theme: As I was a team leader, and now - a head of the direction.

Section: Development Team Management (tmlids)

Time and Hall: 11:00, Main Hall



What is the report:



In the report, I will talk about two topics: how does growth from a timlid look like a head of a department, and how to choose a tmlid as a substitute, help it to become effective.



The presentation is based only on my experience with two teams: Mobile Web and Desktop Web. Perhaps you have already read my post on Habré about how I grew up from the developer into the team leader, but this will be my performance a little higher. I will share my updated experience.



I will talk a little about psychology, about the atmosphere in a team, mentoring, of course, about hiring and much more.



From my talk you will learn how:



  • correctly choose a team leader: based on what criteria, how to check how a person can approach, how to sell the idea of ​​a career change and deal with classical fears;
  • to help the chosen person to confidently enter into the course of business and become as efficient as possible, to fight;
  • monitor the situation in the teams and keep your hand “on the pulse”;
  • stop leading the team yourself, and how lead management differs from developer management.


Ilya Ableyev, ableev , head of the monitoring team





About the team and about yourself:



I supervise monitoring in Badoo, I know everything about the technical and organizational part of the department. Problems happen all the time, therefore our department is round-the-clock. On Khiload I will talk about how we live with them (problems), how we notify about them, follow and understand after repair.



As a platform for testing the performance of critical components, we use Zabbix: I have repeatedly performed with various reports, telling how we are preparing it.



We script and automate a lot, we embed it in Zabbix, we finish it without changing the main code - basically bash (simple and understandable for everyone) and Python (as it allows complicated things, it’s just monstrous on bash).



The topic and description of the report on Highload ++

Theme: Incident Management in Badoo

Section: DevOps and Operation

Time and hall: 12:00, hall "China"



What is the report:



Technological teams of different sizes sooner or later face the fact that the problems that arise are becoming more difficult to control. Some events occur on their own, some - “due to” human intervention - or something goes wrong after the pre-planned work.



All this leads to the fact that users are suffering (because something is not working for them), and employees (because they have to spend more time finding out the reasons for what happened).



In my report, I will talk about the evolution of how we in Badoo controlled incidents, which methods allow us to minimize the time spent to solve problems that arise and what we do after we have localized them.



Mikhail Kurmaev, demi_urg , head of A-Team





About the team and about yourself:



I lead a department called A-Team. A-Team are PHP developers who are engaged in writing code for working with a database, syshny demons and creating tools for solving problems encountered by other developers in Badoo. For example: queuing systems, caching, cloud computing, collecting technical statistics, etc.



Our team is also developing internal utilities for managing servers and displaying code.



The topic and description of the report on Highload ++

Theme: Life after sharding

Section: Architecture, Scalability

Time and Hall: 14:00, Main Hall



What is the report:



Many people think that in order to create a good highload project, it is necessary to load data in a proper way and sleep well, delivering the server as needed. In fact, it is only after sharding that the most interesting begins, since after physical separation the data does not cease to be logically related. That is why it is necessary to create tools to maintain the integrity of this data.



I will tell you how we at Badoo approach the solution of problems of this class.



Alexander Gutnikov, alxgutnikov , frontend developer, Desktop Web





About the team and about yourself:



In Badoo, I do front-end development, I write and support the build and release tools of statics, sometimes I write articles on Habr. Web in Badoo is a very dynamic area, we work a lot on experiments in the field of UI / UX, we conduct a large number of A / B tests and release dozens of tasks a week. As for the technical part: we do not have many third-party tools that we actively use, but they are there: for example, WebPack or Sass, and we also look towards static typing tools.



The topic and description of the report on Highload ++

Topic: Monitoring frontend performance in Badoo

Section: Architecture and performance frontend

Time and hall: 15:00, hall "Moscow"



What is the report:



Productivity is an important aspect of the work of modern web-applications, and every year developers pay more and more attention to it. We put a lot of effort into development and optimization, we thoroughly test everything, but is it enough to make sure on the day of release that our users are really good and working fast? The best way to make sure of this is to follow how the application behaves with real users.



The report will talk about the collection and analysis of data in general and what tools for this are used in Badoo.



Yaroslav Golub, yagolub , PHP developer, SRV Team





About the team and about yourself:



My name is Jaroslav, and I am a PHP programmer in the server team. I'm from the part of the team that deals with the support and development of the internal API for our clients on the back-end side. We write in PHP, the protocol we have is Protobuf, and we have hundreds of thousands of man-hours of walking experience on the rake of API development.



The topic and description of the report on Highload ++

Topic: How do we support 100 different versions of clients in Badoo

Section: Section Backend, programming theory

Time and Hall: 16:00, Main Hall



What is the report:



In Badoo, at the moment, there are several different projects on a common code base on all major platforms (iPhone, Android, Web, etc.), where each platform can have more than a dozen simultaneously running versions.



In this report I will talk about how we live with it and what approaches we solve problems of different code for different versions of clients. Namely: how we change the protocol, how we support different server code for different versions of clients, what a minor feature is, why an old client is not scary - and how this all helps in A / B testing.



Anton Turetsky, banuchka , system administrator, IT Ops





About the team and about yourself:



In Badoo, I administer servers, infrastructure, deployments of internal and other services, containerization and Puppet. Sometimes I write articles about it, and sometimes I even go out to people and tell something from the stage. I do not like the definition of DevOps!



Admins in Badoo are almost dungeon people: what we do, usually no one knows what we are doing, either.



In fact, we are not dinosaurs and our technological stack is quite extensive: xCAT, docker, puppet, glpi, consul, elasticsearch, kibana and stuff like that. Yes, I completely forgot: we like the most to make it as simple and reliable as possible. Inside the team, we like (those who don’t like - we instill this feeling) fumble with knowledge, which is one of the reasons for the successful work of the team.



The topic and description of the report on Highload ++

Theme: Gentleman's Sysadmin Set

Section: System Administration

Time and hall: 18:00, hall "India"



What is the report:



I would like to share examples of workflows and practices we have developed in Badoo. Tell about how you can automate resource-intensive processes, after which they seem quite simple.



  • you will see a talking admin;
  • I will not talk about lsof, strace and linux. You already know about them!
  • I will tell you that the planning tools that you have heard about from managers can be useful from the point of view of a simple admin;
  • write documentation and fumble knowledge - the key to the success of the team;
  • what admins are and what we have;
  • I will tell you that the infrastructure of the data center is not terrible and not so difficult with the proper approach;
  • xCAT, Puppet, Docker, Consul? Easy!


PS The presence of a beard and a sweater with deer is welcome!



UPD: tickets won: LionAlex for the question ; altexxx for the question ; artemirk for the question .



')

Source: https://habr.com/ru/post/340444/



All Articles