Cargoo · Posted 4w ago
Senior AI Software Engineer (.NET)
- Location
- 🇦🇲 Yerevan, Armenia
- Role
- ML engineering
- Source
- Employer’s own job board (Greenhouse)
Stack
- LLM
- Python
The posting
Problem Space
Logistics operations today are still largely:
• manual
• reactive
• fragmented across tools
• running on incomplete or late data
• full of conflicting constraints
• under real-time decision pressure
• driven by evolving business rules
• a mix of legacy and new systems
Much of this is unstructured: emails, documents, free-text updates, exceptions nobody modelled. That is where AI changes the game.
We’re building a system that:
• ingests real-time operational data, structured and unstructured
• supports planning and execution decisions, with AI agents that act where it’s safe and hand over to humans where it isn’t
• adapts to constantly changing constraints
What You’ll Work On
• AI in production. Building LLM- and agent-powered features into production .NET services: tool calling, structured outputs, retrieval over operational data, document and message understanding.
• The seams. Designing the boundaries between deterministic business logic and probabilistic AI: validation, fallbacks, human-in-the-loop.
• Trust. Making AI measurable and trustworthy: evals, test sets, observability, guardrails and cost/latency budgets.
• Ownership. Owning features end to end, from problem framing with product to running them in production.
Design Principles
• keep things simple before scalable
• prefer explicit logic over magic abstractions, and that includes AI: deterministic where you can, model where you must
• optimize for change, not perfection (models, prompts and providers will change)
• measure AI behaviour, don’t trust vibes
• avoid “framework-driven architecture”
• accept that some parts will be ugly, temporarily
Tech Stack
.NET · Vue.js · service-oriented architecture · relational + operational data storage · cloud-based infrastructure · LLM APIs and agent tooling (e.g. Semantic Kernel / Microsoft.Extensions.AI, MCP) · vector/semantic search · eval and tracing tools
How We Build
• AI-native development is the default. You use coding agents (e.g. Claude Code, Copilot) every day.
• You own what you ship, whoever typed it: you review AI-generated code critically, test it and understand it.
What We Expect
• Strong, senior-level .NET engineering
• Ability to navigate uncertainty and work in ambiguity
• Willingness to challenge decisions
• Focus on outcomes, not just code
• Understanding of trade-offs and complex systems, including when not to use AI
• Preferring ownership over comfort
Strong Plus
• Having shipped LLM/AI features to production and kept them running
• Experience with evals, prompt/version management or AI observability
• Python for prototyping and data work
• Logistics or other real-time operations domain experience
What You Won’t Find Here
• over-engineering everything upfront
• unnecessary microservices
• “clean architecture” for the sake of it
• process-heavy development
• AI demos that never reach production
• wrapping a chatbot around a problem and calling it solved