Responsibilities
- Design and implement backend services in Rust within a microservices architecture.
- Maintain and evolve existing Python services (FastAPI) where it's the right tool for the job.
- Write maintainable, testable, and performant code; participate in code reviews and raise the engineering bar across the team.
- Work with QA and DevOps to improve reliability, observability, and performance of our services.
- Contribute to architectural decisions: choosing the right language for each problem, inter-service communication patterns, and data modeling.
Requirements
- 5+ years of professional backend development experience.
- Solid production experience with Rust (minimum of 3 years).
- Strong Python: FastAPI or similar modern frameworks, asynchronous programming (asyncio), and type-driven development (mypy, pydantic).
- Deep understanding of microservices and communication patterns: sync/async, event-driven, message brokers (Kafka / RabbitMQ / NATS), gRPC/REST.
- Working-level PostgreSQL: indexes, transactions, isolation levels, locking, query plans.
- SOLID, dependency injection, and clean architecture — applied in practice, not just in theory.
- Working knowledge of k8s, containers, networking, and CI/CD.
- English B2 or higher.
Nice to Have
- Experience migrating Python services to Rust under real load (with measurements and clear motivation).
- Exposure to vector databases (e.g., Qdrant).
- Experience integrating with LLM APIs (OpenAI, Anthropic).
- Familiarity with LangChain / LangGraph and RAG
Additional Information
- Please send your resume in English only.
- The type of contract is a full-time legal agreement in Bulgaria, Serbia, and Turkey, not a B2B contract.