SberSpasibo
Java Developer (AI / GenAI)
Full-time
Work format: Moscow
We are developing a platform that integrates generative AI capabilities into its core. We need a Middle/Senior backend developer who not only writes Java but also deeply understands LLM mechanics, knows how to build RAG pipelines, and design complex agents.
☑️ Responsibilities
- Design and development of a microservice architecture on Java 17+ using Spring Boot (MVC, Data JPA, Security)
- Building Retrieval-Augmented Generation (RAG) pipelines: from parsing raw data to embedding indexing
- Development and support of Qdrant vector databases: designing sharding schemes, configuring hybrid search (BM25 + Dense Vectors), and optimizing queries
- Creating multi-agent systems based on LangChain/LangGraph for business process automation
- Deep prompt engineering: writing prompts for different scenarios of a single agent, Few-shot techniques, Chain-of-Thought, structured output (JSON mode)
- Debugging model semantics: reducing response entropy, controlling variability through inference parameters, self-healing mechanisms for degraded external LLM providers
- Optimizing PostgreSQL performance: tuning complex SQL queries, working with indexes (B-tree, GIN/GIST, trigrams), designing transactional isolation
- Offloading computations to a containerized environment: Docker, Kubernetes (Helm), building fault-tolerant CI/CD pipelines in GitLab CI/Jenkins
☑️ Candidate Requirements
- Solid Java 17+ skills, understanding of multithreading (CompletableFuture, Project Loom virtual threads — a plus)
- Expert level proficiency in the Spring stack: bean lifecycle, aspect-oriented programming, fine-tuning DB connection pools and security parameters
- Experience in 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 similarity metrics (Cosine Similarity, Dot Product, Euclidean Distance)
- Development experience 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 altering model weights
- Experience with Docker and Kubernetes (manifests, Helm charts), Linux shell knowledge at a confident user level
- Configured CI/CD processes (GitLab CI or Jenkins): Maven/Gradle build, test coverage (JUnit 5, Testcontainers), static code analysis
Contacts: aszamiatkina@spasibosb.ru
Java Job in Telegram | in VK | in Max