Full-time

Control Software Engineer (Device to GUI) — Kyoto

Mission

You will build the control software for our Y-1 machine vertically — from device drivers up to the GUI and calibration API that physicists use every day. This is a machine-facing role: you own a control feature end-to-end, from the hardware signal to the experimenter’s screen, without handing it off across team boundaries.
Because the work is hardware-coupled — debugging against the real machine, cameras, SLMs, and AWGs in the lab — this is an on-site role based in Kyoto.
Expect incomplete requirements and shifting constraints. You’ll make progress with sound engineering judgment and harden things as the machine stabilizes — not wait for a perfect spec.

What you’ll do

  • Own all layers, no handoffs: carry a control feature from real-time device code up to the experimenter’s GUI, across team boundaries
  • Device layer: EMCCD camera (ROI, atom detection, thresholding), SLM (hologram generation, uniformity, fast switching), AWG (rearrangement waveform synthesis)
  • Middleware: sequence / subsystem / connection-map / hardware-setting modules, being able to work with several vendors to avoid platform lock-in
  • User-facing layer: the unified GUI, calibration API, and operator tooling that experimenters rely on
  • Image processing & algorithms for atom detection, rearrangement, and calibration automation
  • Hardware-coupled integration testing and calibration automation, working directly with physicists and the HW group

Must-have

  • High level C/C++ and Python — able to lead design and implementation
  • Demonstrated vertical ownership: you have built and owned a feature from a low-level layer (driver / firmware / device code) all the way up to its user-facing application or GUI. This top-of-stack reach is what makes the role full-stack.
  • Linux development experience, including low-level I/O, timing, or interrupt-level work
  • On-site in our Kyoto office/lab at least 3 days per week (Kyoto-based)
  • Business-level English for a global team
  • Self-directed learner who picks up new languages, frameworks, and unfamiliar domains from papers and specs

Nice-to-have

  • Embedded Linux / Yocto, device drivers, MCU firmware
  • FPGA-coupled software design, or FPGA development (Verilog / VHDL)
  • Image processing and/or algorithm development
  • Modern languages (Go, Rust); a polyglot style across the stack
  • Real-time / sub-microsecond timing control
  • Front-end frameworks (React / Next.js, TypeScript) — the specific stack is flexible
  • Control of optical / laser / vacuum physics instruments
  • Interest or experience in machine learning
  • Technical specification authoring for multi-module systems

Why this role

  • Own a feature from “hardware signal” to “experimenter’s screen” — no layer is off-limits to you
  • Build the control stack 0→1 as a founding-era member
  • Anchor on deep C/C++ while extending into frontend, algorithms, and embedded on your own terms
  • Sit in the same team as the quantum physicists and scientists to turn experimental requirements directly into software

Hiring Process

CV Review → First Interview → Second Interview → Final Interview

  • Depending on the position, candidates may be asked to complete a technical assignment after the first interview.
  • We place a strong emphasis on mutual understanding throughout the hiring process. Depending on the role and evaluation process, additional interviews, informal meetings with team members, or offer discussions may be arranged.

Employment Details

Employment Type: Full-time

Compensation: JPY 8M–15M, depending on experience and qualifications

Work Schedule: Discretionary Labor System for Professional Work (R&D)

Probation Period: 2 months (no changes to employment conditions during probation)

Work Location: 1F Room 104, International Science Innovation Building East Wing, Kyoto University, Yoshida-Honmachi 36, Sakyo-ku, Kyoto 606-8501, Japan

Working Hours: Discretionary Labor System (deemed working hours: 8 hours/day). Standard office hours: 9:00–18:00

Days Off: Complete two-day weekend (Saturday and Sunday), national holidays, summer holidays, year-end/New Year holidays

Paid Leave: 10 days granted after 6 months of employment

Benefits: Annual health check-up

Insurance: Health Insurance, Employees’ Pension Insurance, Employment Insurance

Smoking Policy: Non-smoking indoors

Open Positions