Development Team Lead for the Search Infrastructure Team
About the Team
Our unit handles one of the most critical parts of Avito: the search infrastructure. All text searches, all parameter-based searches, recommendations, and several other interesting, less obvious clusters are served by our Sphinx engine. We write and operate the search engine in C++ and services in Go for delivering data to the engine ourselves, and we also closely assist colleagues in adjacent units, where they build complex machine learning models for ranking ads and create smart hints for users.
You will be responsible for:
- managing projects as a manager (setting goals, helping the team achieve them, monitoring the backlog, communicating with internal customers);
- executing projects and tasks as a developer (writing code!);
- participating in the formation and achievement of goals and tasks on a long-term horizon (quarter - half a year);
- developing employees: solving their problems, helping them achieve career goals, jointly creating and managing individual development plans, evaluating during performance reviews;
- developing the team: planning hiring, interviewing candidates, onboarding newcomers into processes and the project;
- developing yourself: the project has complex specifics (we write a DBMS with all that entails), and you will definitely need to get familiar with a number of technical things;
- working in close collaboration with search quality, recommendation, and other groups, which will allow you (with minimal desire) to dive into ML, NLP, and A/B testing topics;
- working on that very rare case where a fairly large project rebuilds in under a minute, and it's possible to make and roll out a feature to production in 1-2 days;
- working with high loads: about 200 million active ads in the index, hundreds of millions of searches per day, so in some places we do count cycles, optimize at a fairly low level, and observe noticeable effects. It will be interesting ;)
We expect you to:
- have 4+ years of commercial C++ development experience;
- have experience managing both technical projects and a team;
- know basic data structures and algorithms at an "above basic" level;
- be able to design, discuss, and defend architectural solutions (you know databases, queues, caches);
- be able to set goals and achieve them through teamwork.
It would be great if you:
- have experience developing in several modern programming languages;
- have experience developing DBMS or full-text search engines;
- have experience working in a large company or have worked with the OKR system;
- prefer to work in a mode of maximum transparency.
Working with us means:
- the opportunity to implement your ideas in a project with a multi-million audience;
- a talented team ready to support your initiatives;
- a transparent bonus and incentive system, a decent salary — we will discuss the amount during the interview;
- company-paid training: we pay for participation in Russian and international conferences, professional courses, and access to the MIF online library, and we buy necessary literature for growth and development;
- comfortable working conditions: DMS from the first day of work, fitness, meal compensation;
- remote work and a wonderful office two minutes from the Belorusskaya metro station, as well as the ability to work remotely.