Constructortech

Senior Software Engineer (Python, Rust)

Bulgaria Full Time

Our mission

Constructor’s mission is to enable all educational organisations to provide high-quality digital education to 10x people with 10x efficiency. 

With strong expertise in machine intelligence and data science, Constructor’s all-in-one platform for education and research addresses today’s pressing educational challenges: access inequality, tech clutter, and low engagement of students.

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.

Duties and 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.

Qualifications and Experience:

  • 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 but not Obligatory: 

  • 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

What We Offer

  • 💻 Choice of work equipment (e.g., laptop, monitor, etc.)
  • 🇬🇧 English classes (iTalki – $130 monthly)
  • ⏰ Flexible schedule (we usually work between 09:00/10:00 and 18:00/19:00 CET or EET)
  • 👶 Newborn bonus (€500 per child)
  • 🧠 Patent remuneration
  • 🌴 Paid leave
  • 🧑‍💻 Remote work in locations without our offices
  • Hybrid work in locations with offices (2 days in-office, 3 days remote)

Constructor fosters equal opportunity for people of all backgrounds and identities. We are led by a gender-balanced board committed to building a diverse and inclusive organisation where everyone can become their best self. We do not discriminate based on age, disability, gender identity, sexual orientation, ethnicity, race, religion or belief, parental and family status, or other protected characteristics. We welcome applications from women, men and non-binary candidates of all ethnicities and socio-economic backgrounds. We encourage people belonging to underrepresented groups to apply.