Senior Software Engineer
Guarda esta oferta y sigue tu búsqueda
Crea una cuenta gratis para guardar empleos, crear alertas y volver a esta oferta desde tu panel.
Al continuar, aceptas nuestros Términos & Política de Privacidad.
Proper AI is an AI-first accounting service built for property managers and real estate operators.
By combining automation, technology, and a global team of accounting experts, we deliver faster, more accurate financial operations at scale.
We’re a team of builders, problem-solvers, and operators from around the world, working together to modernize one of the most critical functions in real estate.
Learn more at Proper.ai
We are looking for a Senior Software Engineer with strong backend and systems fundamentals to help own the core of our platform: the services, data models, and automations behind workflow and productivity tooling for B2B accounting operations.
This is a depth role, not a breadth role. The work is logic-heavy — multi-service data flows, third-party platform integrations, and document-processing pipelines where correctness matters more than surface area. The engineer will be a technical counterpart to the Tech Lead on architecture, and will take ownership of our AI-backed document processing service.
The ideal candidate is language-agnostic in outlook but deep in practice: comfortable moving between Go, Python, and TypeScript, and able to build a real working model of an unfamiliar system before changing it.
Key Responsibilities
Core Functional Responsibilities
- Design, build, and maintain backend services across a microservices estate (Go, NestJS/TypeScript, Python).
- Own the AI-backed document processing and classification service (Python/FastAPI): extraction quality, accuracy measurement, and the pipeline around it.
- Design and maintain integrations with third-party platforms, including authentication, sync cadence, retries, and recovery.
- Model data deliberately — schemas, migrations, and invariants that hold as the product changes.
- Debug across service boundaries: correlate behaviour across multiple systems and databases to find the actual cause.
- Build observability and provenance into automated flows: actions should be traceable, auditable, and reconstructable after the fact.
- Design for safe automation: idempotency, pre/postconditions, dry-runs, and guardrails on anything that writes to a customer's system of record.
- Write clean, tested, maintainable code, and leave the systems better instrumented than found.
Performance and Metrics Tracking
- Define and track correctness and reliability measures for owned systems (task success, error and fallback rates, accuracy of automated inference).
- Build evaluation coverage for AI-backed output: scenario tests, invariant checks, and regression detection when a model or prompt changes.
- Monitor and improve latency, retries, and failure recovery in automated pipelines.
Training and Development
- Mentor mid-level engineers on system design, debugging methodology, and testing discipline.
- Lead design discussions and code reviews.
- Document architecture decisions, failure modes, and debugging runbooks.
Required Hard Skills
- Backend engineering depth — production services in Go and/or Python; TypeScript/Node useful. Multi-language comfort matters more than any single stack.
- Data modelling and relational databases— PostgreSQL, schema design, migrations, query performance, and reasoning about data integrity.
- Distributed and cross-service debugging — tracing behaviour across services, queues, and databases to isolate a root cause.
- Third-party integration engineering — external APIs with imperfect contracts: auth expiry, partial failures, retries, idempotency.
- Reliability practice — observability, structured logging, tracing, failure-mode analysis, and recovery design.
- Testing and evaluation — unit and scenario tests, invariant checks, and measuring correctness of non-deterministic (AI-backed) output.
- Cloud and infrastructure — GCP preferred (Cloud Run, Cloud SQL, Pub/Sub); Docker and CI/CD.
- Working with LLM-backed services — using them as components, understanding their failure modes, and validating their output. Prior agent-framework experience is a plus, not a requirement.
Required Soft Skills
- Calibrates depth to stakes. Ships routine, low-risk work quickly; deliberately slows down on core systems, data models, and anything touching money or client data — and can tell the difference without being told.
- Verifies before concluding. Checks the premise of a bug report rather than building on it; can distinguish a real defect from correct behaviour measured the wrong way. Reads the system before changing it. Builds a working model of how something actually behaves, then changes it.
- Owns outcomes, not tickets. Goes p