SberSpasibo
Java Developer (AI / GenAI)
Full-time
Work format: Moscow
We are developing a platform that integrates generative AI capabilities into its core. We are looking for a Middle/Senior backend developer who not only writes in Java but also has a deep understanding of LLM mechanics, knows how to build RAG pipelines, and design complex agents.
☑️ Responsibilities
- Design and develop microservice architecture in Java 17+ using Spring Boot (MVC, Data JPA, Security)
- Build Retrieval-Augmented Generation (RAG) pipelines: from raw data parsing to embedding indexing
- Develop and support Qdrant vector databases: design sharding schemas, configure hybrid search (BM25 + Dense Vectors), and optimize queries
- Create multi-agent systems based on LangChain/LangGraph for business process automation
- In-depth prompt engineering: writing prompts for different scenarios of a single agent, Few-shot techniques, Chain-of-Thought, structured output (JSON mode)
- Debug model semantics: reduce response entropy, control variability through inference parameters, self-healing mechanisms for external LLM provider degradation
- Optimize PostgreSQL performance: tune complex SQL queries, work with indexes (B-tree, GIN/GIST, trigrams), design transactional isolation
- Offload computations to a containerized environment: Docker, Kubernetes (Helm), build fault-tolerant CI/CD pipelines in GitLab CI/Jenkins
☑️ Candidate Requirements
- Proficient in Java 17+, understanding of multithreading (CompletableFuture, Project Loom virtual threads - a plus)
- Expert knowledge of the Spring stack: bean lifecycle, aspect-oriented programming, fine-tuning 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 similarity 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 controlling LLM behavior without changing model weights
- Experience with Docker and Kubernetes (manifests, Helm charts), Linux shell proficiency 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