Senior Golang Engineer portign Multi-Tenant Semantic Analysis
Budget: $1800.0
FIXED /
⭐ 4.66 (25)
Italy
mongodb, golang
We are looking for a senior Golang backend engineer to help redesign and port an existing event-driven semantic analysis service from Python to Go.
The service receives structured business conversations and support-ticket events, performs AI-assisted semantic analysis, and publishes enriched results to downstream applications. The public scope is intentionally high level; detailed technical documentation will be shared only with shortlisted candidates.
### Primary responsibilities
* Review the existing Python implementation and document its current behavior before changing it.
* Design and implement a production-grade Go service with strong concurrency, reliability, observability, and testability.
* Integrate with RabbitMQ using manual acknowledgements, publisher confirmations, retry queues, dead-letter handling, and idempotent processing.
* Integrate with an existing multi-tenant Identity service using OAuth2/client credentials and role-based authorization.
* Preserve existing external APIs and message contracts, except for agreed additive and backward-compatible changes.
* Implement provider-independent LLM integration and structured JSON outputs.
* Support tenant-specific semantic topics, intents, sentiment, priority, summaries, and conversation-level classifications.
* Produce clear technical documentation, architecture diagrams, API/message specifications, deployment notes, and operational runbooks.
* Add automated tests, integration tests, failure simulations, and quality/evaluation datasets.
### Required skills
* Strong professional experience with Go in production environments.
* Solid knowledge of concurrency, context cancellation, worker pools, interfaces, error handling, and graceful shutdown.
* Production experience with RabbitMQ or another AMQP-based broker.
* Experience with REST APIs, OAuth2/OIDC, JWT validation, multi-tenancy, and RBAC.
* Experience designing versioned JSON contracts and backward-compatible integrations.
* Docker, CI/CD, structured logging, Prometheus metrics, and distributed tracing.
* Ability to read and improve an existing Python codebase.
* Strong written technical documentation in English.
### Preferred qualifications
* Previous work with LLM APIs, structured outputs, prompt versioning, token/cost controls, or provider abstraction.
* Experience with semantic classification, topic taxonomies, intent detection, sentiment analysis, entity extraction, or conversation analytics.
* Ability to document semantic analyses already implemented, including prompts, inputs, expected outputs, confidence rules, limitations, examples, and evaluation criteria.
* Experience with human-review workflows, taxonomy governance, model evaluation, data privacy, and prompt-injection mitigation.
* Familiarity with LangExtract or similar extraction/evaluation frameworks is a plus, but is not mandatory.
### Expected deliverables
* Current-state technical and semantic behavior assessment.
* Go architecture and migration plan.
* Production-ready Go implementation.
* Backward-compatible RabbitMQ and API contracts.
* Multi-tenant authorization and topic-scope model.
* Automated test suite and evaluation framework.
* Docker and deployment assets.
* Technical documentation and operational handover.
### How to apply
Please include:
1. Two relevant Golang projects, preferably event-driven or distributed systems.
2. A brief description of your RabbitMQ reliability approach.
3. Any experience with LLMs, semantic analysis, classification, or structured AI outputs.
4. An example of technical documentation or architecture material you personally produced.
5. Your proposed working model, availability, and an initial milestone-based estimate.
We prefer a developer who combines strong Go engineering with the ability to understand, formalize, and document existing semantic behavior.
This is not only a code-conversion task: it requires architectural judgment and careful migration planning.
Ouvrir sur Upwork