Overview
Software Engineer on a small team at Ottimate, an AI-powered accounts payable automation platform. This is the company's third engineer, focused on backend product features, reliability, and customer-facing problem solving.
What you'll do
- Build, test, and maintain backend product features, primarily using Python, Django, and relational databases.
- Use AI coding tools to investigate problems, implement changes, write tests, and improve documentation.
- Critically review AI-generated code for correctness, security, performance, and maintainability.
- Turn customer feedback into reproducible technical problems, fix the root cause, check whether customer data was affected, and update it.
- Translate ambiguous customer feedback into reproducible technical problems and practical product improvements.
- Own work from initial investigation through implementation, testing, QA, deployment verification, and follow-up.
- Build and maintain APIs, asynchronous jobs, integrations, internal tools, and data-processing workflows.
- Write clear, maintainable code with appropriate automated test coverage.
- Participate in code reviews and technical discussions with the rest of the engineering team.
- Improve system reliability, observability, documentation, and development processes.
- Protect financial correctness, tenant isolation, data integrity, auditability, and customer privacy.
- Gradually take ownership of larger features and technical decisions as you grow in the role.
What you'll need
- Professional software engineering experience at an early-to-mid-career level.
- Strong working knowledge of Python.
- Experience designing, querying, and debugging applications backed by relational databases.
- Familiarity with APIs, automated testing, Git, and collaborative software-development practices.
- Experience using AI-assisted coding tools in real development work.
- The ability to evaluate and validate generated code rather than accepting it automatically.
- Strong debugging skills, including in an unfamiliar codebase, and the habit of asking what a bug did to customer data, then helping correct it.
- An understanding of common application concerns such as authorization, concurrency, retries, idempotency, and failure handling.
- Clear written and verbal communication.
- A careful approach to systems that handle sensitive business and financial data.
- Comfort working on a small team with broad ownership and changing priorities.
- Curiosity, humility, and a willingness to ask questions, receive feedback, and learn new systems.
Nice to have
- Experience with Django or another Python web framework.
- Experience with PostgreSQL, query analysis, and database-performance optimization.
- Familiarity with Celery or another asynchronous job-processing system.
- Experience with AWS, ECS, Docker, and CI/CD pipelines.
- Experience with observability tools such as ClickStack, Sentry, or OpenTelemetry.
- Experience with TypeScript, Angular, or another modern frontend framework.
- Experience building or maintaining fintech, accounting, accounts-payable, payments, or ERP-integration software.
- Experience working directly with customers, support teams, or other non-engineering stakeholders.
- Familiarity with access controls, audit trails, data remediation, and safe bulk-data operations.
- Experience supporting production systems or participating in incident investigation.
Details
- Location: United States (US candidates only).
- Salary range: USD $130,000-155,000 per year (depending on level), plus annual bonus.
Read the full description and apply on the company’s own careers page.