Company: Top Selection
Location: Moscow, Russia
Employment: Full-time
Work Format: Remote possible
Qualification: Senior
Specialization: Data Engineer
✅Position:Data Scientist💻✅Employment: Full-time✅Location and citizenship: RF 📌 ✅Employment Type: As an Individual Entrepreneur
🛠 Requirements:
- Proven experience in implementing ML/DS solutions into industrial operation (including beyond prototypes and Jupyter notebooks);
- Confident command of 3D geometry and spatial data processing: working with polygonal meshes, voxels, triangulation, 2D/3D objects, understanding the underlying mathematics;
- Practical skills in Information Retrieval and LLM tasks: building hybrid search (combining dense and sparse approaches, including BM25), working with embeddings, applying tools for evaluating search quality and model responses (e.g., LLM-evals, retrieval metrics);
- High level of engineering culture: deep understanding of the principles of the technologies used, ability to write reliable, asynchronous, and easily maintainable code for production;
- Experience in coordinating a small team or technical leadership of developers;
- Ability to translate abstract business tasks into clear technical requirements and break them down into implementable subtasks;
- Proficiency in Python 3.10+ (including asyncio and typing), as well as libraries like NumPy, SciPy, Pandas;
- Knowledge of the Search and LLM ecosystem: experience with vector databases (Qdrant, Milvus, pgvector, Weaviate, and others), building hybrid search pipelines (working with embeddings, sparse representations, re-ranking methods like Reciprocal Rank Fusion);
- Proficiency in LLM generation and search quality evaluation tools like LLM-evals (Ragas, TruLens, DeepEval) or the ability to develop custom metrics;
- Skills in backend development and infrastructure: working with FastAPI (including microservice architecture, REST, asynchronous processing), application containerization and Docker, operation in a Linux environment (Ubuntu);
- Ability to use profiling tools such as cProfile, Scalene, memory_profiler, and similar.
📌Responsibilities:
- Solving complex algorithmic and research tasks: processing 3D data, polygonal meshes, and spatial objects, developing search pipelines;
- Designing the architecture of ML/DS services and integrating ready-made solutions into the project infrastructure;
- Profiling performance and reducing computational complexity, including when working with 3D structures and vector indexes;
- Preparing technical documentation, documenting adopted architectural decisions, participating in acceptance testing;
- Coordinating the work of the development subgroup: breaking down tasks into subtasks, estimating effort, participating in sprint planning;
- Performing team lead functions during their absence;
- Conducting Code Reviews, monitoring code quality, and adherence to adopted engineering standards;
- Mentoring, supporting onboarding, and professional development of Junior and Middle level specialists in the team.