Solving Puzzles in Production with Liora Friedberg
Liora Friedberg is a Production Engineer at Jane Street with a background in economics and computer science. In this episode, Liora and Ron discuss how production engineering blends high-stakes puzzle solving with thoughtful software engineering, as the people doing support build tools to make that support less necessary. They also discuss how Jane Street uses both tabletop simulation and hands-on exercises to train Production Engineers; what skills effective Production Engineers have in common; and how to create a culture where people aren’t blamed for making costly mistakes.You can find the transcript for this episode on our website.Some links to topics that came up in the discussion:More about production engineering at Jane Street, including how to apply.Notes on Site reliability engineering in the wider world.Alarm fatigue and desensitization.Jane Street’s 1950’s era serialization-format of choice,Some games that Streeters have used for training people to respond to incidents.
From the Lab to the Trading Floor with Erin Murphy
Erin Murphy is Jane Street’s first UX designer, and before that, she worked at NASA’s Jet Propulsion Laboratory building user interfaces for space missions. She’s also an illustrator with her own quarterly journal. In this episode, Erin and Ron discuss the challenge of doing user-centered design in an organization where experts are used to building tools for themselves. How do you bring a command-line interface to the web without making it worse for power users? They also discuss how beauty in design is more about utility than aesthetics; what Jane Street looks for in UX candidates; and how to help engineers discover what their users really want.You can find the transcript for this episode on our website.Some links to topics that came up in the discussion:Erin’s website that shows off her work.Her quarterly journal of sketches and observations.An article about Erin’s design work with NASA JPL.A paper that among other things talks about the user study work that Erin did at JPL.Jane Street’s current UX job opening.
Performance Engineering on Hard Mode with Andrew Hunter
Andrew Hunter makes code really, really fast. Before joining Jane Street, he worked for seven years at Google on multithreaded architecture, and was a tech lead for tcmalloc, Google’s world-class scalable malloc implementation. In this episode, Andrew and Ron discuss how, paradoxically, it can be easier to optimize systems at hyperscale because of the impact that even miniscule changes can have. Finding performance wins in trading systems—which operate at a smaller scale, but which have bursty, low-latency workloads—is often trickier. Andrew explains how he approaches the problem, including his favorite profiling techniques and tools for visualizing traces; the unique challenges of optimizing OCaml versus C++; and when you should and shouldn’t care about nanoseconds. They also touch on the joys of musical theater, and how to pass an interview when you’re sleep-deprived.You can find the transcript for this episode on our website.Some links to topics that came up in the discussion:“Profiling a warehouse-scale computer”Magic-traceOODA loop
A Poet's Guide to Product Management with Peter Bogart-Johnson
Peter Bogart-Johnson was one of Jane Street’s first program managers, and helped bring the art of PMing—where that “P” variously stands for “project,” “product,” or some blend of the two—to the company at large. He’s also a poet and the editor of a literary magazine. In this episode, Peter and Ron discuss the challenge of gaining trust as an outsider: how do you teach teams a new way of doing things while preserving what’s already working? The key, Peter says, is you listen; a good PM is an anthropologist. They also discuss how paying down technical debt isn’t something you do instead of serving customers; what Jane Street looks for in PM candidates; and how to help teams coordinate in times of great change.You can find the transcript for this episode on our website.Some links to topics that came up in the discussion:LIT Magazine (more recently here)How to be a PM that engineers don’t hate and How to be an engineer that PMs don’t hate
The Future of Programming with Richard Eisenberg
Richard Eisenberg is one of the core maintainers of Haskell. He recently joined Jane Street’s Tools and Compilers team, where he hacks on the OCaml compiler. He and Ron discuss the powerful language feature that got him into PL design in the first place—dependent types—and its role in a world where AIs can (somewhat) competently write your code for you. They also discuss the differences between Haskell and OCaml; the perils of trying to make a language that works for everybody; and how best a company like Jane Street can collaborate with the open source community.You can find the transcript for this episode on our website.Some links to topics that came up in the discussion:Dependent typesGHCUnboxed types in OCamlLanguage extensions in Haskell