Descripción
Resumen:
Buscamos un Ingeniero de Software Senior con sólidos fundamentos en backend y sistemas para asumir la propiedad de la plataforma central, incluido el procesamiento de documentos respaldado por IA para operaciones contables B2B.
Aspectos destacados:
1. Servicio propio de procesamiento y clasificación de documentos respaldado por IA
2. Diseño y construcción de servicios backend en un entorno de microservicios
3. Contraparte técnica en arquitectura, centrada en profundidad y lógica
### **Proper AI es un servicio contable centrado en IA, diseñado específicamente para administradores de propiedades y operadores inmobiliarios.**
Al combinar automatización, tecnología y un equipo global de expertos contables, ofrecemos operaciones financieras más rápidas y precisas a escala.
Somos un equipo de creadores, solucionadores de problemas y operadores de todo el mundo, trabajando juntos para modernizar una de las funciones más críticas del sector inmobiliario.
Más información en Proper.ai
Buscamos un Ingeniero de Software Senior con sólidos fundamentos en backend y sistemas para ayudar a asumir la propiedad del núcleo de nuestra plataforma: los servicios, modelos de datos y automatizaciones detrás de las herramientas de flujo de trabajo y productividad para operaciones contables B2B.
Este es un puesto centrado en profundidad, no en amplitud. El trabajo exige mucha lógica: flujos de datos entre múltiples servicios, integraciones con plataformas de terceros y tuberías de procesamiento de documentos donde la corrección importa más que la superficie abarcada. El ingeniero será la contraparte técnica del Líder Técnico en arquitectura y asumirá la responsabilidad de nuestro servicio de procesamiento de documentos respaldado por IA.
El candidato ideal tiene una actitud agnóstica respecto al lenguaje de programación, pero una práctica profunda: se siente cómodo alternando entre Go, Python y TypeScript, y puede construir un modelo funcional real de un sistema desconocido antes de modificarlo.
### **Principales responsabilidades**
**Responsabilidades funcionales centrales**
* Diseñar, construir y mantener servicios backend en un entorno de microservicios (Go, NestJS/TypeScript, Python).
* Asumir la propiedad del servicio de procesamiento y clasificación de documentos respaldado por IA (Python/FastAPI): calidad de extracción, medición de precisión y la tubería asociada.
* Diseñar y mantener integraciones con plataformas de terceros, incluidas autenticación, frecuencia de sincronización, reintentos y recuperación.
* Modelar datos con deliberación: esquemas, migraciones e invariantes que se mantengan válidos a medida que evolucione el producto.
* Depurar más allá de los límites de los servicios: correlacionar comportamientos entre múltiples sistemas y bases de datos para identificar la causa real.
* Incorporar observabilidad y trazabilidad en los flujos automatizados: las acciones deben ser rastreables, auditables y reconstruibles después del hecho.
* Diseñar automatizaciones seguras: idempotencia, precondiciones y postcondiciones, ejecuciones simuladas (dry-runs) y salvaguardas para cualquier acción que escriba en el sistema de registro del cliente.
* Escribir código limpio, probado y mantenible, dejando los sistemas mejor instrumentados de lo que los encontró.
**Seguimiento del rendimiento y métricas**
* Definir y seguir medidas de corrección y fiabilidad para los sistemas bajo su responsabilidad (éxito de tareas, tasas de errores y alternativas, precisión de inferencias automatizadas).
* Construir cobertura de evaluación para resultados respaldados por IA: pruebas de escenarios, verificaciones de invariantes y detección de regresiones cuando cambia un modelo o un prompt.
* Supervisar y mejorar la latencia, los reintentos y la recuperación ante fallos en las tuberías automatizadas.
**Capacitación y desarrollo**
* Mentorizar a ingenieros de nivel intermedio en diseño de sistemas, metodología de depuración y disciplina de pruebas.
* Liderar discusiones de diseño y revisiones de código.
* Documentar decisiones arquitectónicas, modos de fallo y manuales de depuración.
### **Habilidades técnicas requeridas**
* **Profundidad en ingeniería backend** — servicios en producción en Go y/o Python; TypeScript/Node es útil. La comodidad con múltiples lenguajes importa más que cualquier pila específica.
* **Modelado de datos y bases de datos relacionales** — PostgreSQL, diseño de esquemas, migraciones, rendimiento de consultas y razonamiento sobre integridad de datos.
* **Depuración distribuida y entre servicios** — rastreo del comportamiento a través de servicios, colas y bases de datos para aislar la causa raíz.
* **Ingeniería de integraciones con terceros** — APIs externas con contratos imperfectos: expiración de autenticación, fallos parciales, reintentos, idempotencia.
* **Prácticas de fiabilidad** — observabilidad, registros estructurados, trazado, análisis de modos de fallo y diseño de recuperación.
* **Pruebas y evaluación** — pruebas unitarias y de escenarios, verificaciones de invariantes y medición de la corrección de resultados no deterministas (respaldados por IA).
* **Nube e infraestructura** — GCP preferido (Cloud Run, Cloud SQL, Pub/Sub); Docker y CI/CD.
* **Trabajo con servicios basados en LLM** — uso como componentes, comprensión de sus modos de fallo y validación de sus resultados. Experiencia previa con marcos de agentes es un plus, no un requisito.
### **Habilidades blandas requeridas**
* **Ajusta la profundidad según la gravedad.** Entrega rápidamente trabajos rutinarios y de bajo riesgo; ralentiza deliberadamente su ritmo en sistemas centrales, modelos de datos y cualquier cosa que afecte dinero o datos de clientes — y distingue sin necesidad de que se lo indiquen.
* **Verifica antes de concluir.** Revisa la premisa de un informe de error en lugar de basarse en ella; distingue un defecto real del comportamiento correcto medido de forma incorrecta. **Lee el sistema antes de cambiarlo.** Construye un modelo funcional de cómo se comporta realmente algo y luego lo modifica.
* **Asume resultados, no tickets.** Va más allá del texto literal del ticket cuando este es erróneo, incompleto o describe el problema equivocado.
* **Comunicador sólido**, capaz de explicar decisiones de diseño, compensaciones y riesgos tanto a audiencias técnicas como no técnicas.
* **Pragmático y colaborativo** — altos estándares sin perfeccionismo, y trabaja bien con Productos y Operaciones.
### **Habilidades / experiencias deseables**
* Experiencia tanto en startups de rápido crecimiento como en organizaciones de ingeniería más grandes. Contabilidad, fintech u otro dominio donde la corrección sea ineludible. Procesamiento de documentos, OCR o tuberías de extracción de información.
* Bases de datos vectoriales / recuperación (por ejemplo, Qdrant) y evaluación de prompts o modelos. Conocimientos front-end (Vue o React) — útiles para la propiedad completa de funciones, pero no un requisito fundamental.
* Antecedentes en SaaS B2B.
### **Tipo de título académico**
* Licenciatura o Maestría en Ciencias de la Computación, Ingeniería de Software o campo afín — o experiencia práctica equivalente. Los fundamentos sólidos en ciencias de la computación son importantes; el título no lo es.
### **Años de experiencia en el campo**
* 6 o más años de experiencia profesional en ingeniería de software, con la mayoría centrada en backend o sistemas. Demostrada responsabilidad sobre un sistema de producción no trivial (no solo entrega de funciones dentro del diseño de otra persona).
* Es valiosa la experiencia en una organización con estándares maduros de ingeniería.
*Proper se enorgullece de ser un empleador que ofrece igualdad de oportunidades y está comprometido con la creación de un entorno diverso, ofreciendo las mismas oportunidades a todos los solicitantes, independientemente de su género, orientación sexual, raza, color, religión, discapacidad, origen nacional, estado civil u otras características. Nuestra búsqueda de talento se basa exclusivamente en competencias, habilidades y potencial.*
Podemos utilizar herramientas de inteligencia artificial (IA) para apoyar partes del proceso de contratación, como revisar solicitudes, analizar currículums o evaluar respuestas e identificar posibles inconsistencias o señales de verificación en los materiales de solicitud, según la información disponible. Estas herramientas asisten a nuestro equipo de reclutamiento, pero no sustituyen el juicio humano. Las decisiones finales de contratación las toman siempre personas. Si desea más información sobre cómo se procesan sus datos, contáctenos.