Java Developer (AI/GenAI)
Middle/Senior Java Developer (AI/GenAI) at SberSpasibo. Full-time, Moscow office. Backend development for GenAI platform: RAG pipelines, vector DB Qdrant, LangChain/LangGraph multi-agent systems.
Developing a platform with generative AI capabilities integrated into its core. Responsibilities: - Design and develop microservice architecture on Java 17+ using Spring Boot (MVC, Data JPA, Security). - Build Retrieval-Augmented Generation (RAG) pipelines: from parsing raw data to indexing embeddings. - Develop and maintain Qdrant vector databases: designing sharding schemes, configuring hybrid search (BM25 + Dense Vectors), and optimizing queries. - Create multi-agent systems based on LangChain/LangGraph to automate business processes. - Deep prompt engineering: writing prompts for different scenarios of a single agent, Few-shot techniques, Chain-of-Thought, structured output (JSON mode). - Debug model semantics: reducing answer entropy, managing variability through inference parameters, self-healing mechanisms for degradation of external LLM providers. - Optimize PostgreSQL performance: tuning complex SQL queries, working with indexes (B-tree, GIN/GIST, trigrams), designing transactional isolation. - Move computations to container environment: Docker, Kubernetes (Helm), building fault-tolerant CI/CD pipelines in GitLab CI/Jenkins.
Requirements: - Confident command of Java 17+, understanding of multithreading (CompletableFuture, Project Loom virtual threads — a plus). - Expert level in Spring stack: bean lifecycle, aspect-oriented programming, fine-tuning of DB connection pools and security parameters. - Experience designing relational models in PostgreSQL, ability to read EXPLAIN ANALYZE, effective migrations (Liquibase/Flyway). - Practical experience with vector DBMS (Qdrant) or Weaviate/Pinecone/Milvus, understanding of proximity metrics (Cosine Similarity, Dot Product, Euclidean Distance). - Experience developing with LangChain and/or LangGraph libraries, building state graphs, integrating external tools (tool calling). - Skill in writing effective prompts (Prompt Engineering) and managing LLM behavior without changing model weights. - Experience with Docker and Kubernetes (manifests, Helm charts), confident Linux shell user. - Configured CI/CD processes (GitLab CI or Jenkins): Maven/Gradle build, test coverage (JUnit 5, Testcontainers), static code analysis.
Full-time employment Work format: Moscow (office)
Don't miss a single job
Subscribe to our Telegram channel