---
title: "Careers: Open roles at Oxarus"
description: "Open roles across Hub, Studio, Quant and Agent AI, and how hiring works. On-site and hybrid roles in Ankara or Istanbul; remote roles from anywhere."
url: https://oxarus.com/en/careers
key: careers
route: /careers
unit: company
locale: en
status: live
alternates:
  tr: https://oxarus.com/tr/careers
  en: https://oxarus.com/en/careers
documents:
  json: https://oxarus.com/machine/en/careers.json
  jsonld: https://oxarus.com/machine/en/careers.jsonld
  txt: https://oxarus.com/machine/en/careers.txt
schema: oxarus.machine/2.0
---

# Careers: Open roles at Oxarus

> Open roles across Hub, Studio, Quant and Agent AI, and how hiring works. On-site and hybrid roles in Ankara or Istanbul; remote roles from anywhere.

Breadcrumbs: [Oxarus home](https://oxarus.com/en) › [Careers](https://oxarus.com/en/careers)

## Notices

- Interface data marked as representative is illustrative; it is not a real client, result or measurement.

## Sections

- [Open roles](#hero)
- [All roles](#roles)
- [From application to offer](#process)
- [For everyone on the team](#benefits)
- [Don't see your role listed?](#cta)

<a id="hero"></a>
<!-- section:hero component:CareersHero kind:hero anchor:#careers-heading sources:messages:careers.hero,messages:careers.dictionary.locations,messages:careers.dictionary.locationFocus -->

## Open roles

_CAREERS_

We're hiring across Hub, Studio, Quant and Agent AI. On-site and hybrid roles are based in Ankara or Istanbul; remote roles have no city requirement.

<https://oxarus.com/en/careers#careers-heading>

- [View roles](https://oxarus.com/en/careers#roles) → `open_page(path="/careers", anchor="roles")`
- [Hiring process](https://oxarus.com/en/careers#process) → `open_page(path="/careers", anchor="process")`

- **locations:** Offices

<!-- demo:start messages:careers.hero.board -->
_Representative interface data_

**oxarus / workspace**

- **review:** Code review
- **design:** Design review
- **release:** Release

- **lanes:** Units

- **hub:** Order sync
- **studio:** Pals attendance
- **quant:** L.I.T. news feed
- **agent:** Invoice agent evaluation

- **online:** Online

**feat(sync): incremental order cursor**

- _14:08_
  - **author:** Burak Ş.
  - **text:** On the first sync store.cursor is null, so since isn't sent and the API returns only the last 50 orders. Older orders never arrive.
- _14:31_
  - **author:** Deniz A.
  - **text:** You're right, I missed that. With no cursor it now falls back to a full sync, and there's a test for it.

- **approve:** Burak approved

- lint
- typecheck
- test

**Pals / Attendance screen**

- **status:** Resolved
- **before:** Before

> After

- _10:42_
  - **author:** Elif K.
  - **text:** Brought the row height down from 56 to 48. You now see 13 students on screen instead of 11.
- _10:55_
  - **author:** Mert A.
  - **text:** True, but the “Absent” button shrank too. I tapped the student below twice on my phone. Keep rows at 48 and make the button 44?
- _11:08_
  - **author:** Elif K.
  - **text:** OK, the button is 44 now. Also, a class with no students showed a blank screen, so I added a short line there.

- **decision:** Decision: rows 48, button 44. The empty-class text goes out in this week's release.

**L.I.T. / news feed service**

- **badge:** Live

1. **#219 merged to main** · _Selin Y. · 09:12_
2. **Ran overnight on staging, no missed headlines** · _09:40_
3. **Rollback command tried on staging** · _Can D. · 09:52_
4. **Deployed to production** · _Can D. · 10:05_
5. **Watching latency and error rate** · _now_

- **chart:** p95 latency · last hour
- **deploy:** release
- **status:** 185 ms before the release, 180 ms now. No new errors logged.

- **pause:** Pause autoplay
- **play:** Start autoplay

- **review:** Code
- **design:** Design
- **release:** Release

<!-- demo:end -->

**Offices**
- **Ankara:** Engineering & R&D
- **Istanbul:** Operations & Architecture

<a id="roles"></a>
<!-- section:roles component:OpenRoles kind:roles anchor:#roles sources:messages:careers.roles,messages:careers.dialog,messages:careers.apply,messages:careers.dictionary.units,messages:careers.dictionary.locations,messages:careers.dictionary.remoteLocation,messages:careers.dictionary.workModels,messages:careers.dictionary.levels,messages:careers.dictionary.roles,data:careers.roles -->

## All roles

_ROLES_

Filter by unit, city or work model. To apply, upload your CV as a PDF.

<https://oxarus.com/en/careers#roles>

- **role column:** Role

- **Senior Frontend Engineer** · _Hub_
  Build fast, accessible corporate websites, AI search interfaces and e-commerce storefronts.
  - **Unit:** Hub
  - **City:** Ankara
  - **Work model:** Hybrid
  - **Level:** Senior
  > The application form asks for your name, email and CV as a PDF (up to 4 MB).
  - [View details](https://oxarus.com/en/careers?role=senior-frontend-engineer#roles) → `view_role(slug="senior-frontend-engineer")`
  - [Apply](https://oxarus.com/en/careers?apply=senior-frontend-engineer#roles) → `apply_role(slug="senior-frontend-engineer")`
- **Backend Engineer** · _Hub_
  Write and run the APIs, integrations and order flows behind client systems.
  - **Unit:** Hub
  - **City:** Istanbul
  - **Work model:** Hybrid
  - **Level:** Mid-level
  > The application form asks for your name, email and CV as a PDF (up to 4 MB).
  - [View details](https://oxarus.com/en/careers?role=backend-engineer#roles) → `view_role(slug="backend-engineer")`
  - [Apply](https://oxarus.com/en/careers?apply=backend-engineer#roles) → `apply_role(slug="backend-engineer")`
- **Mobile Engineer (React Native)** · _Studio_
  Build Pals and client apps for iOS and Android, including offline use.
  - **Unit:** Studio
  - **City:** Anywhere
  - **Work model:** Remote
  - **Level:** Mid-level
  > The application form asks for your name, email and CV as a PDF (up to 4 MB).
  - [View details](https://oxarus.com/en/careers?role=mobile-engineer-react-native#roles) → `view_role(slug="mobile-engineer-react-native")`
  - [Apply](https://oxarus.com/en/careers?apply=mobile-engineer-react-native#roles) → `apply_role(slug="mobile-engineer-react-native")`
- **Product Designer** · _Studio_
  Design screen flows for Pals and client apps, from research to prototype.
  - **Unit:** Studio
  - **City:** Istanbul
  - **Work model:** Hybrid
  - **Level:** Senior
  > The application form asks for your name, email and CV as a PDF (up to 4 MB).
  - [View details](https://oxarus.com/en/careers?role=product-designer#roles) → `view_role(slug="product-designer")`
  - [Apply](https://oxarus.com/en/careers?apply=product-designer#roles) → `apply_role(slug="product-designer")`
- **Quant Developer (MQL5 / Python)** · _Quant_
  Build the research tools behind the L.I.T. terminal and custom MT5 robots for clients.
  - **Unit:** Quant
  - **City:** Istanbul
  - **Work model:** On-site
  - **Level:** Senior
  > The application form asks for your name, email and CV as a PDF (up to 4 MB).
  - [View details](https://oxarus.com/en/careers?role=quant-developer#roles) → `view_role(slug="quant-developer")`
  - [Apply](https://oxarus.com/en/careers?apply=quant-developer#roles) → `apply_role(slug="quant-developer")`
- **Data Engineer** · _Quant_
  Build the market data pipelines behind Quant research and keep the data queryable.
  - **Unit:** Quant
  - **City:** Ankara
  - **Work model:** Hybrid
  - **Level:** Mid-level
  > The application form asks for your name, email and CV as a PDF (up to 4 MB).
  - [View details](https://oxarus.com/en/careers?role=data-engineer#roles) → `view_role(slug="data-engineer")`
  - [Apply](https://oxarus.com/en/careers?apply=data-engineer#roles) → `apply_role(slug="data-engineer")`
- **AI Agent Engineer** · _Agent AI_
  Build agents that handle documents, invoices and support work for Agent AI clients, with human approval.
  - **Unit:** Agent AI
  - **City:** Anywhere
  - **Work model:** Remote
  - **Level:** Senior
  > The application form asks for your name, email and CV as a PDF (up to 4 MB).
  - [View details](https://oxarus.com/en/careers?role=ai-agent-engineer#roles) → `view_role(slug="ai-agent-engineer")`
  - [Apply](https://oxarus.com/en/careers?apply=ai-agent-engineer#roles) → `apply_role(slug="ai-agent-engineer")`
- **Engineering Internship** · _Oxarus_
  Work with a mentor at our Istanbul office on changes that ship to production.
  - **Unit:** Oxarus
  - **City:** Istanbul
  - **Work model:** On-site
  - **Level:** Intern
  > The application form asks for your name, email and CV as a PDF (up to 4 MB).
  - [View details](https://oxarus.com/en/careers?role=engineering-internship#roles) → `view_role(slug="engineering-internship")`
  - [Apply](https://oxarus.com/en/careers?apply=engineering-internship#roles) → `apply_role(slug="engineering-internship")`

_Interface labels:_ Filter by unit · Filter by city · Filter by work model · All units · All cities · All models · Open roles: {count} · View details · No roles in this selection · No open role matches these filters right now. Reset the filters or send an open application. · Reset filters · Send an open application · Close · About the role · Copy link · Link copied · APPLICATION · OPEN APPLICATION · Apply for {role} · Open application · Upload your CV as a PDF. HR and the relevant team review your application together, and we reply in writing whatever the outcome. · Leave your CV for a role that isn't listed. HR and the relevant team review it together, and we'll contact you when a matching role opens. · Back to role · Full name · Email · Role · Open application · Links · LinkedIn, GitHub or portfolio · Short note · Why this role? What piece of work did you own the most? · optional · {count}/{max} · CV · Drag your PDF here · or choose it from your device · Drop the file · PDF, up to 4 MB · Replace · Remove · PDF verified · Uploading · I agree that my CV and the details in this form are processed to evaluate my application. · PDPL privacy notice · Send application · Sending · We've received your application · Your CV is with HR and the relevant team. We'll reply in writing to {email} once they've reviewed it. · Close · Your application wasn't sent · Try again · Send by email · Your email app opens a message to {email}. You'll need to attach your CV yourself. · Application: {role} · Leave this field empty · {size} KB · {size} MB · Enter your full name. · Enter a valid email address. · Links can be up to {max} characters. · The note can be up to {max} characters. · Add your CV as a PDF. · This file is empty. Choose another PDF. · This file is {size}. The CV can be up to 4 MB. · This file isn't a PDF. Save your CV as a PDF and try again. · Add a single PDF file. · Tick the consent box to send your application. · Too many applications were sent in a short time. Try again in a few minutes. · The connection dropped. Check your internet connection and try again. · We can't send your application right now. Try again or send it by email.

<a id="process"></a>
<!-- section:process component:HiringProcess kind:steps anchor:#process sources:messages:careers.process -->

## From application to offer

_HIRING PROCESS_

Five steps, and we tell you up front what we expect at each one.

<https://oxarus.com/en/careers#process>

> Timings are estimates and may vary with the role's scope and scheduling. Whatever the outcome, we reply in writing at the end of every step.

1. **Application** · _Written reply_
   Upload your CV as a PDF through the application form and add links to code or design work if you have them. HR and the relevant team review your application together.
   A short note: why this role, and which piece of work you owned the most.
   HR and the role's team review your application together, and we reply in writing.
   **Sample candidate journey**
   - Form: PDF CV and GitHub link sent
   - HR and the Hub team reviewed the application together
   - Times proposed for an intro call
2. **Intro call** · _30 minutes_
   A video call with someone from the team. We talk through the role, the team and how we work, and leave time for your questions.
   Being open about your expectations and your preferred work model.
   We explain the role's actual scope, the team and the next steps.
   **Sample candidate journey**
   - Video call invite accepted
   - Role scope and work model discussed
   - Candidate chose the take-home as the technical format
3. **Technical exercise** · _Take-home or 90-minute session_
   We offer two options: a scoped take-home you do on your own time, or a live pairing session with someone from the team.
   Choosing the format you prefer and explaining your decisions.
   We keep the scope clear and state the expected time for the take-home up front.
   **Sample candidate journey**
   - Take-home scope and expected time shared in writing
   - Candidate submitted the solution with a short decision note
   - Two engineers reviewed the solution
4. **Team interview** · _60 minutes_
   We go through your technical exercise with the team you'd join and talk through how real work moves forward.
   Discussing the trade-offs and alternatives in your work.
   We show you the team's day-to-day work and how review and release run.
   **Sample candidate journey**
   - Trade-offs in the take-home discussed
   - Team walked through its review and release routine
   - Team shared its feedback in writing
5. **Offer** · _Written offer_
   Once we've decided, we send the offer in writing and agree on the role, work model and start date together.
   Sharing your questions and your preferred start date.
   We set out every part of the offer clearly and in writing.
   **Sample candidate journey**
   - Offer sent with role, work model and start date
   - Candidate's questions answered
   - Start date agreed together

- **Sample candidate journey:** Backend Engineer application

_Interface labels:_ What we ask of you · On our side

<a id="benefits"></a>
<!-- section:benefits component:Benefits kind:features anchor:#benefits sources:messages:careers.benefits -->

## For everyone on the team

_WORKING CONDITIONS_

Whatever the unit, city or work model.

<https://oxarus.com/en/careers#benefits>

- **Live products**
  You work on Pals, L.I.T. and client projects that are live.
- **Equipment**
  The company provides a computer, a monitor and the test devices your role needs.
- **Time to learn**
  Reading and trying out a new tool count as working time.
- **Flexible hours**
  The work model depends on the role; outside the team's shared hours, you set your own schedule.
- **Pairing**
  You work on the same tasks as senior teammates and review each other's work.
- **Written scope**
  The role's scope and how it is evaluated are shared in writing before you start.

<!-- demo:start messages:careers.benefits.visual -->
_Representative interface data_

- **clientWork:** Client projects
- **workTime:** Working hours

- Project work
- Code review
- Reading and trying

- **coreHours:** Shared hours

**Role scope**
- Area of ownership
- Evaluation criteria
- Work model
- Start date

- Computer
- Monitor
- Test devices

<!-- demo:end -->

<a id="cta"></a>
<!-- section:cta component:StudioCta kind:cta anchor:#cta sources:messages:careers.cta -->

## Don't see your role listed?

_OPEN APPLICATION_

Share your CV and what you'd like to work on. HR and the relevant team review it together, and we'll contact you when a matching role opens.

<https://oxarus.com/en/careers#cta>

- [Send an open application](https://oxarus.com/en/careers?apply=open#roles) → `apply_role(slug="open")`

## Actions

- [View roles](https://oxarus.com/en/careers#roles) → `open_page(path="/careers", anchor="roles")`
- [Hiring process](https://oxarus.com/en/careers#process) → `open_page(path="/careers", anchor="process")`
- [Send an open application](https://oxarus.com/en/careers?apply=open#roles) → `apply_role(slug="open")`
- [Türkçe](https://oxarus.com/tr/careers) → `switch_locale(locale="tr", path="/careers")`

## Related pages

- [Oxarus home](https://oxarus.com/en)
