You will build the custom modules, integrations and migrations that our implementations depend on. Odoo's core is the starting point, not the constraint — the interesting problems here are in inheritance design, upgrade-safe overrides, and making a 200-line customisation do what a client thought needed 2,000.
About the team
Engineering sits inside delivery pods rather than in a separate build team, so you talk to the consultant who scoped the work and, often, to the client. We maintain a shared internal library of upgrade-safe patterns, and every module goes through peer review before it reaches a client database.
What you'll do
- Design and build custom Odoo modules — models, business logic, security rules, reports, wizards.
- Port legacy QWeb/jQuery front-end code to OWL components.
- Build integrations against third-party APIs (payments, logistics, marketplaces, WhatsApp, banking) using XML-RPC, JSON-RPC and REST.
- Own version migrations: analyse the delta, fix deprecated APIs, migrate data, and prove parity before cutover.
- Profile and fix slow ORM queries, N+1 patterns and compute-field storms in production databases.
- Review peers' modules with an eye on upgrade safety — no monkey-patching core without a written reason.
What we're looking for
- 5+ years of professional Python, at least 3 of them in Odoo.
- Genuine knowledge of Odoo internals: the ORM, inheritance mechanisms (
_inheritvs_inheritsvs delegation), record rules, compute/store/depends semantics, and the security model. - PostgreSQL fluency — you can read an
EXPLAIN ANALYZEand act on it. - Working JavaScript, and either existing OWL experience or clear evidence you'll pick it up fast.
- Git discipline: focused commits, reviewable pull requests, no "misc fixes".
- You've done at least one Odoo major-version migration and can describe what actually broke.
Nice to have
- Published OCA contributions or a public Odoo module portfolio.
- Docker, CI pipelines, or experience with Odoo.sh-style deployment tooling.
- Performance tuning on databases above 100 GB.
- Experience embedding LLM features into ERP workflows.
What we offer
Hiring process
- Screening (45 min) — a senior engineer on your background and recent work.
- Technical deep dive (90 min) — Odoo internals, a design discussion, and a code walkthrough of something you've built.
- Founder conversation (45 min) — values, ownership, how you handle disagreement.
No take-home assignment. Decision within 72 hours of the final round.
Not a perfect match on paper?Apply anyway. We've hired people who missed a listed requirement and were obviously right for the work — the CV is a starting point for a conversation, not a scorecard. Questions first? admin@iventureteam.com.
