newsfilter.io
Interview, Podcast

Solving Puzzles in Production with Liora Friedberg

Production Engineering at Jane Street: Role Definition and Scope

  • Production engineers focus on the "production layer" of systems trading billions of dollars daily, serving as the first line of defense during the trading day.
  • The role explicitly separates live, in-day support from traditional overnight or weekend on-call duties.
  • Work is split roughly between 25–33% on rotation (active support) and 67–75% on long-term projects to improve system reliability and reduce future incidents.
  • Unlike software engineers who typically specialize deeply in few systems, production engineers maintain a broad mental model of how diverse systems interconnect.

Operational Workflow and Incidents

  • Routine Issues: Commonly involve new trade types with unfamiliar field combinations that the system cannot route, requiring collaboration with operations teams to define business logic.
  • Incidents: Defined as high-severity events impacting multiple teams, such as a system crash caused by manual trade identifier modification.
  • Risk Profiles: Support intensity varies by team; Order Engines teams face urgent, high-energy situations with potential financial loss in minutes, while post-trade support teams have more time for root cause analysis.
  • Financial Impact: Most downtime results in opportunity cost (missed trading opportunities) rather than direct monetary loss from system errors.

Tooling, Observability, and Automation

  • Alerting System (Oculus): A firm-wide tool for discrete alerts and workflow management; features added include page snoozing and auto-acting on pages.
  • Alert Health Analytics: Internal tools analyze alert history to identify "flickering" (transient alerts that close without action) and patterns of excessive snoozing.
  • Desensitization Risk: High noise levels lead to "alert fatigue," where engineers ignore critical signals; the goal is maximizing signal-to-noise ratio through rigorous filtering.
  • Automation Risks: While automation reduces noise, over-filtering can silence genuine alerts; code reviews and "survival of the fittest" prioritization are used to govern automation quality.
  • Observability Stack: Transitioning from ad-hoc SSH log parsing to centralized log management (CLM) and distributed tracing; unique capabilities include nanosecond-accurate packet captures.
  • Data Format: The firm utilizes S-expressions (Lisp format) for data storage rather than industry standards like JSON or Protobufs.

Culture, Post-Mortems, and Training

  • Blame-Free Culture: Mistakes are expected and encouraged to be reported immediately to mitigate impact; the focus is on system improvement rather than individual punishment.
  • Post-Mortem Process: Detailed after-action reviews capture timelines, causes, and resolutions, with a dedicated section for actionable technical and process takeaways.
  • Template Tension: Structured templates aid new engineers but risk encouraging "fill-in-the-blank" thinking rather than deep synthesis of lessons learned.
  • Training Methods: Due to increased system reliability, teams use incident simulations (choose-your-own-adventure style), video game analogies (e.g., Overcooked), and intentional non-production breakage exercises.
  • Onboarding: Includes OCaml bootcamp and specialized production bootcamps, followed by an apprenticeship model where juniors shadow senior engineers during live support.

Recruiting and Candidate Qualities

  • Recruiting Pipeline: Candidates often apply for software engineering and are later identified as better fits for production engineering based on interdisciplinary backgrounds.
  • Interview Evaluation: Involves realistic debugging scenarios where candidates must investigate synthetic failures using command-line tools and data.
  • Key Competencies: Successful candidates demonstrate strong communication skills (bridging technical and business domains), deep debugging instincts, carefulness in production interactions, and the ability to remain calm under stress.
  • Role Spectrum: The function ranges from heavy coding (building self-service tools) to process engineering (optimizing workflows and team responses).

Future Outlook and Strategic Goals

  • Technical Debt: Active effort is required to migrate legacy systems (SSH log parsing) to modern observability standards to reduce complexity.
  • Self-Service Goals: Continued investment in tools that allow non-technical users to resolve common issues, reducing the ticket volume for production engineers.
  • Culture of Reflection: Ongoing emphasis on team-level conversations and meetings to synthesize big-picture lessons beyond the written post-mortem document.