Careers · Product Engineer

Become a Product Engineer.

Build real 0→1 products end-to-end — with AI agents and humans working together — under the guidance of senior engineers. Pick the area you care about and show us how you think.

What is a product engineer?

A product engineer is a software developer who combines coding expertise with a strong product mindset — building user-centric features and driving business outcomes.

They are involved in the entire lifecycle, from ideation to launching and iterating based on user feedback and data. This is the kind of engineer we want you to grow into.

Four core areas

Pick the area you’re most interested in.

We have opportunities across four core areas. Choose one — it’s where you’ll go deep.

Full Stack Engineering

User-facing features end-to-end — frontend, backend, data model.

Platform Engineering

The cloud, identity and infrastructure every product stands on.

Data Science

Turning messy, real-world data into evidence a decision-maker can use.

AI / LLM Engineering

Building with LLMs the way real products do — agents, RAG, guardrails.

Open roles

Two ways in.

Both are entry points into product engineering at GetPost Labs. Where you start depends on where you are today.

Product Engineer Intern

Entry · structured first step

Your way into product engineering. Pick one of the four areas, learn its fundamentals deeply, and build real product slices under the guidance of senior engineers — not toy problems.

  • Pick one of the four core areas to focus on
  • Mentor-led, remote, with regular check-ins
  • Grow toward the Product Engineer bar below
Apply for this role

Product Engineer Trainee — Lex-AML

Hands-on · on a live product

A hands-on traineeship building Lex-AML, our live AML/CTF compliance product. You contribute to user-facing features under senior engineers and own a slice end-to-end — quality, performance and reliability included.

  • Ship real code through the team’s CI/CD pipeline
  • Read production code deeply; fix bugs at the root
  • Work the agentic way — AI agents and humans
Apply for this role

What we’re looking for

The bar you’ll grow toward.

Whatever your current level is — that’s fine. But we’re explicit about one thing: we expect genuinely strong fundamentals. The rest is in formation.

Fundamentals are non-negotiable. We care less about how many tools you’ve touched and more about whether you understand what’s actually happening underneath.

Key responsibilities

  • Contribute to user-facing features under the guidance of senior engineers — frontend, backend, data model, infrastructure
  • Read production code deeply; fix bugs through to root cause rather than symptom
  • Write tests, review PRs, ship code through the team’s CI/CD pipeline
  • Own quality, performance and reliability for the slice you build — even when the slice is small
  • Ask sharp questions; bring back what you learned

Must have

Fundamentals

  • Strong computer-science fundamentals — data structures, algorithms, time/space complexity, OOP
  • Hands-on with Java and Spring Boot — has built, run, and debugged a Spring Boot service end-to-end (university project, internship, or side project is fine)
  • Solid grasp of HTTP — methods, status codes, request/response structure, headers. And the honest question: have you ever actually opened the HTTP specification (RFC 9110) and read parts of it, or have you only learned HTTP by using it? Either answer is fine, but the answer tells us something
  • Basic debugging skills — able to read a stack trace, isolate a bug, and reason about what’s actually happening rather than what you assumed
  • Git fundamentals — branches, pull requests, code-review etiquette

Database & data layer

  • SQL fundamentals — joins, aggregations, indexes, basic query-plan reading
  • Hands-on with MongoDB — has modelled documents, written queries (Mongo shell or via a driver), and built at least one small project against it
  • Understands the document model — collections vs tables, documents vs rows — and the trade-offs between embedding and referencing
  • Can articulate when a document store fits the problem and when a relational database does, rather than reaching for one out of habit
  • Curious about performance — willing to dig into why a query is slow rather than waiting to be told

Cloud (AWS)

  • A working mental model of how cloud actually works — what an instance is, what a network is, what a managed service is, why a VPC exists, and roughly what each of these things costs
  • Hands-on with AWS — at minimum Cognito (auth), EC2 (compute), ECS (containers), VPC (networking), and Secrets Manager (configuration). Has deployed something, broken something, and figured out why
  • Understands that “it runs on my laptop” and “it runs inside a VPC behind an ALB with the right security groups” are not the same problem

Engineering judgement (in formation)

  • Reads code with intent — can walk through a project you have built and explain not just what it does, but why you made the calls you made
  • Treats every project as an opportunity to learn the domain it serves — even student or side projects
  • Willing to throw out work that isn’t landing, including your own

Disposition

  • AI-fluent — uses Claude (or equivalent) daily across chat and Claude Code; reads what AI produces with the same scepticism applied to anything else
  • Knows the difference between using Claude as a chatbot and as a dev tool — terminal-based, with project context and tools wired in — and wants to work that way
  • Plans before coding — reaches for a planning step (e.g. /plan) to catch wrong assumptions early, rather than letting the AI run unchecked
  • Comfortable saying “I don’t know” and going to find out
  • Communicates clearly across technical and non-technical audiences

Should have

  • A shipped project — coursework, internship, hackathon, open-source, or side project — that real users (even a handful) actually used
  • Exposure to Angular or React
  • Awareness of REST API design — resources, verbs, status codes, idempotency
  • Written automated tests before — unit, integration, or end-to-end
  • Familiarity with the Anthropic developer toolchain — Claude Code, the Claude API, MCP (Model Context Protocol) for connecting Claude to real tools, Claude Skills (reusable, repo-level playbooks), subagents, and tool use
  • Comfortable with an operating-contract file (e.g. CLAUDE.md) that gives the AI project memory, conventions and rules — so every session starts with full context instead of re-explaining
  • Has seen a single prompt carry work through to implemented, tested and published — not just generated — and grasps how orchestration across subagents makes that possible
  • Exposure to messaging or event-based concepts — queues, pub/sub, the idea of idempotency
  • Basic understanding of configuration management — environments, secrets, why you shouldn’t commit credentials

Personal attributes

  • Strong willingness to learn — treats feedback as input, not insult
  • Asks good questions, and asks them early
  • Curious about the domain, not just the code
  • Comfortable with ambiguity — regulatory products are messy, and specs are guidance, not gospel
  • Resilient — willing to keep going when something is hard, and to ask for help before getting stuck
  • Brings ideas, pushes back constructively (even as a junior), contributes proactively

How to apply

Tell us the area you want — and how you think.

Whatever your current level is — that’s completely fine. What matters is genuine effort, honesty, and initiative. Pick the area you’re most interested in and email us a few lines about you and what you’ve built.

Resources to help you

Before you reach out, go through these — they’ll help you understand what each role is about and answer many of your questions.

Ready? Send a few lines about you and what you’ve built to

australia@getpostlabs.io