About the job
About Our Team
Join the innovative Codex App team at OpenAI, where we are dedicated to enhancing developers’ workflows through our desktop application and IDE extension. Our focus is on creating seamless product experiences with an emphasis on usability, performance, and reliability.
Our technology stack primarily consists of TypeScript, Node.js, and Electron, interfacing with external systems such as the Codex CLI and Rust-based app server. Crafting exceptional features involves designing clear boundaries between the user interface, local services, and native processes, ensuring the entire system is observable and resilient.
Your Role
We are seeking a Full Stack Software Engineer to help develop and enhance the systems that drive our Codex desktop application and IDE extension. In this role, you will manage workflows from the UI to the Node/TypeScript backend, coordinating with IPC/process orchestration and integrating with Rust services.
This position demands a product-oriented mindset. You will be instrumental in defining workflows, selecting appropriate abstractions, and delivering features that are both fast and reliable in real-world developer environments.
Key Responsibilities
Develop end-to-end features for the Electron application, encompassing both UI and backend layers using Node.js and TypeScript.
Create robust integrations with the Codex CLI and Rust app server, focusing on process lifecycle management, streaming output, and error handling.
Manage IPC architecture, including renderer/main boundaries, message schemas, and debugging methodologies.
Design systems for task orchestration, including long-running tasks, incremental updates, cancellations, retries, and state synchronization.
Enhance system reliability, observability, and performance through logging, tracing, metrics, profiling, and debugging tools.
Collaborate with design and product teams to translate ambiguous requirements into well-defined, deliverable workflows.
Ideal Candidate Profile
Strong foundation in TypeScript and Node.js, with a passion for managing product features from inception to deployment.
Experience with Electron or desktop application architecture, including understanding renderer/main separation and performance optimization.
Ability to integrate with native processes/services (e.g., Rust) and design clean, testable boundaries.
Familiarity with IPC patterns and a mindset geared towards distributed systems applied locally: message ordering, buffering, retries, and idempotency.
Enthusiasm for learning and adapting to new technologies and methodologies.

