Machine Learning Engineer
About the Role
Programa is building the operating system for the global interior design industry. Thousands of architects and interior designers across more than 90 countries use our platform to manage their projects, products and purchasing.
We’re building the AI features that help them do more: find the right products, make better decisions and automate everyday workflows. You’ll help bring these features into the product, from search and retrieval to copilots and recommendations.
Working in our Data & AI team and reporting to the Head of Data & AI, you’ll own systems from problem definition through to deployment and ongoing operation. There’s substantial engineering work underneath every feature: APIs, data pipelines, evaluation, infrastructure and monitoring. You’ll help shape those foundations and the products they support.
What You'll Do
Own ML systems end to end. Work with Product, Engineering and CX to understand customer problems, test approaches, and take features from prototype to production.
Build AI into everyday workflows. Develop search and retrieval, copilots and features that help designers decide what to do next. Help define where these capabilities can make the biggest difference.
Own the infrastructure. Build and maintain APIs, pipelines and deployment workflows. Take responsibility for observability, performance, reliability and operating your systems in production.
Measure what works. Build evaluation datasets and offline benchmarks, monitor performance in production, and run A/B tests. Use the results to improve both system quality and customer outcomes.
Help shape technical and product decisions. Bring ideas, make trade-offs clear, and work with data scientists and engineers to turn promising approaches into reliable features.
Raise the engineering standard. Contribute through code reviews, technical design, mentoring and hiring. Use AI coding tools such as Claude Code or Cursor to support prototyping and delivery.
About You
Production experience. You have 4+ years in software engineering, ML engineering or a similar role, with a track record of shipping AI or ML systems used by real customers.
Strong engineering fundamentals. You’re confident in Python and SQL, and bring sound practices in system design, testing, code quality and review.
Practical ML knowledge. You’ve built ML systems and understand the choices behind them: how to frame a problem, evaluate an approach and judge whether it’s solving the right problem. You’re comfortable working with modern LLM APIs, embeddings and retrieval.
Operational ownership. You’ve deployed and maintained services in production. You’re comfortable investigating logs, tuning queries, managing infrastructure and taking on-call responsibility.
Initiative and product judgement. You can move forward when a problem is still taking shape. You ask useful questions, communicate clearly, and help decide what should be built and why.
Nice to Have
Experience with OpenSearch or Elasticsearch, vector databases, or hybrid retrieval at scale.
Experience building data pipelines and warehouses, particularly with Snowflake, dbt, Dagster, Fivetran or Segment.
Experience with agent frameworks such as LangChain or the OpenAI Agents SDK, and systems involving multiple LLM steps.
Experience building search, recommendation or document-processing systems.
A background in B2B SaaS or a growing startup.
Our Stack
Python, FastAPI, OpenSearch and AWS, alongside Snowflake, dbt, Dagster, Fivetran and Segment. Our core product runs on Rails, and we work with models from OpenAI, Anthropic and Cohere.
Salary & Benefits
Competitive salary
Company wide ESOP
Hybrid working for our Melbourne team, fully remote for everyone else
Join a company at an exciting inflection point with genuine global scale ahead
About you
- Experience requirement that's an indication of whether it's a senior, medior or junior position
- Specific skill or ability
- Specific skill or ability
- Specific skill or ability
- Soft skill
- Soft skill
Every application is personally reviewed by a member of our team, no automated filtering here. We take the time to genuinely consider each candidate. We'll only be in touch with applicants whose experience and skills closely match what we're looking for at this stage. If you don't hear from us within 3 weeks, please take this as confirmation that we won't be moving forward with your application this time around.