Episodi
-
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. -
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 -
Episodi mancanti?
-
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 -
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 -
Ella Ehrlich has been a developer at Jane Street for close to a decade. During much of that time, sheâs worked on Gord, one of Jane Streetâs oldest and most critical systems, which is responsible for normalizing and distributing the firmâs trading data. Ella and Ron talk about how to grow and modernize a legacy system without compromising uptime, why game developers are the âmusicians of software,â and some of the work Jane Street has done to try to hire a more diverse set of software engineers.
You can find the transcript for this episode on our website.
Some links to topics that came up in the discussion:
EG, The League of Legends team that Ella is a huge fan of.Apache Kafka, the message bus that Gord migrated to.Some of the various sources of symbology you have to deal with when normalizing trading data. (Really, there are too many sources to list here!)A list of Jane Streetâs recruiting Programs and Events, including INSIGHT, which focuses on women, and IN FOCUS, which focuses on historically underrepresented ethnic or racial minorities. -
Doug Patti is a developer in Jane Streetâs Client-Facing Tech team, where he works on a system called Concord that undergirds Jane Streetâs client offerings. In this episode, Doug and Ron discuss how Concord, which has state-machine replication as its core abstraction, helps Jane Street achieve the reliability, scalability, and speed that the client business demands. Theyâll also discuss Dougâs involvement in building a successor system called Aria, which is designed to deliver those same benefits to a much wider audience.
You can find the transcript for this episode on our website.
Some links to topics that came up in the discussion:
Jane Streetâs client-facing trading platformsA Signals and Threads episode on market data and multicast which discusses some of the history of state-machine replication in the markets.The FIX protocolUDP multicastReliable multicastKafka -
Stephen Dolan works on Jane Streetâs Tools and Compilers team where he focuses on the OCaml compiler. In this episode, Stephen and Ron take a trip down memory lane, discussing how to manage computer memory efficiently and safely. They consider trade-offs between reference counting and garbage collection, the surprising gains achieved by prefetching, and how new language features like local allocation and unboxed types could give OCaml users more control over their memory.
You can find the transcript for this episode on our website.
Some links to topics that came up in the discussion:
Stephenâs command-line JSON processor, jqStephenâs Cambridge dissertation, âAlgebraic Subtypingâ, and a protoype implementation of mlsub, a language based on those ideas.A post from Stephen on how to benchmark different memory allocators.A Jane Street tech talk on âUnboxed Types for OCamlâ, and an RFC in the OCaml RFC repo.A paper from Stephen and KC Sivaramakrishnan called âBounding Data Races in Space and Timeâ, which is all about a new and better memory model for Multicore OCaml.Another paper describing the design of OCamlâs multicore GC.The Rust RFC for Higher-ranked trait bounds. -
Anil Madhavapeddy is an academic, author, engineer, entrepreneur, and OCaml aficionado. In this episode, Anil and Ron consider the evolving role of operating systems, security on the internet, and the pending arrival (at last!) of OCaml 5.0. They also discuss using Raspberry Pis to fight climate change; the programming inspiration found in British pubs and on Moroccan beaches; and the time Anil went to a party, got drunk, and woke up with a job working on the Mars Polar Lander.
You can find the transcript for this episode on our website.
Some links to topics that came up in the discussion:
Ron, Anil, and Jason Hickeyâs book, âReal World OCamlâAnilâs personal website and Google Scholar pageThe MirageOS library operating systemCambridge Universityâs OCaml LabsNASAâs Mars Polar LanderThe Xen Project, home to the hypervisorThe Tezos proof-of-stake blockchainThe Coq Proof Assistant system -
Ty Overby is a programmer in Jane Streetâs web platform group where he works on Bonsai, our OCaml library for building interactive browser-based UI. In this episode, Ty and Ron consider the functional approach to building user interfaces. They also discuss Tyâs programming roots in Neopets, what development features they crave on the web, the unfairly maligned CSS, and why Excel is âarguably the greatest programming language ever developed.â
You can find the transcript for this episode on our website.
Some links to topics that came up in the discussion:
Jane Streetâs Bonsai libraryThe 3D design system OpenSCADMatt Keeterâs libfive design toolsTry .NET in-browser replJane Streetâs Incr_dom libraryThe Elm Architecture âpattern for architecting interactive programsâReact JavaScript libraryThe Houdini proposalSvelte UI toolkit -
James Somers is Jane Streetâs writer-in-residence, splitting his time between English and OCaml, and helping to push forward all sorts of efforts around knowledge-sharing at Jane Street. In this episode, James and Ron talk about the role of technical writing in an organization like Jane Street, and how engineering software relates to editing prose.
You can find the transcript for this episode on our website.
Some links to topics that came up in the discussion:
mdx, the modified Markdown format that supports executing OCaml code blocksMore on the 4 types of technical writing that James referencesDonald Knuthâs original book on Literate ProgrammingMore on John McPheeâs use of KEDITPeter Seibelâs Coders at WorkDavid Goodsellâs The Machinery of LifeScott Hulerâs Defining the WindSome of Jamesâs writing on our tech blog
-
Signals & Threads is back, and we have a fun season of topics lined up, including: Building better abstractions for design and user interfaces, the role of writing in a technical organization, the approach that different languages take to memory management...and more. We hope youâll join us. The first episode drops September 1st.
-
In this week's episode, the season 1 finale, Ron speaks with Jeanne, Matt, and Grace, three former tech interns at Jane Street who have returned as full-timers. They talk about the experience of being an intern at Jane Street, the types of projects that interns work on, and how they've found the transition to full-time work.
You can find the transcript for this episode along with links to things we discussed on our website.
-
Despite a steady trickle of newcomers, email still reigns supreme as the chief communication mechanism for the Information Age. At Jane Street, itâs just as critical as anywhere, but thereâs one difference: the system at the heart of our email infrastructure is homegrown. This week, Ron talks to Dominick LoBraico, an engineer working on Jane Streetâs technology infrastructure, about how and why we built Mailcore, an email server written and configured in OCaml. They delve into questions around how best to represent the configuration of a complex system, when you should build your own and when you shouldnât, and the benefits of bringing a code-focused approach to solving systems problems.
You can find the transcript for this episode along with links to things we discussed on our website.
-
Equal parts science and art, programming language design is very much an unsolved problem. This week, Ron speaks with Leo White, from Jane Street's Tools & Compilers team, about cutting-edge language features, future work happening on OCaml, and Jane Street's relationship with the broader open-source community. The conversation covers everything from the paradox of language popularity, to advanced type system features like modular implicits and dependent types. Listen in, no programming languages PhD required!
You can find the transcript for this episode along with links to things we discussed on our website.
-
Clock synchronization, keeping all of the clocks on your network set to the âcorrectâ time, sounds straightforward: our smartphones sure donât seem to have trouble with it. Next, keep them all accurate to within 100 microseconds, and prove that you did -- now things start to get tricky. In this episode, Ron talks with Chris Perl, a systems engineer at Jane Street about the fundamental difficulty of solving this problem at scale and how we solved it.
You can find the transcript for this episode along with links to things we discussed on our website.
-
A conversation with Laurent Mazare about how your choice of programming language interacts with the kind of work you do, and in particular about the tradeoffs between Python and OCaml when doing machine learning and data analysis. Ron and Laurent discuss the tradeoffs between working in a text editor and a Jupyter Notebook, the importance of visualization and interactivity, how tools and practices vary between language ecosystems, and how language features like borrow-checking in Rust and ref-counting in Swift and Python can make machine learning easier.
You can find the transcript for this episode along with links to things we discussed on our website.
-
Itâs a software engineerâs dream: A compiler that can take idiomatic high-level code and output maximally efficient instructions. Ronâs guest this week is Greta Yorsh, who has worked on just that problem in a career spanning both industry and academia. Ron and Greta talk about some of the tricks that compilers use to make our software faster, ranging from feedback-directed optimization and super-optimization to formal analysis.
You can find the transcript for this episode along with links to things we discussed on our website.
-
Electronic exchanges like Nasdaq need to handle a staggering number of transactions every second. To keep up, they rely on two deceptively simple-sounding concepts: single-threaded programs and multicast networking. In this episode, Ron speaks with Brian Nigito, a 20-year industry veteran who helped build some of the earliest electronic exchanges, about the tradeoffs that led to the architecture we have today, and how modern exchanges use these straightforward building blocks to achieve blindingly fast performance at scale.
You can find the transcript for this episode along with links to things we discussed on our website.
-
Most software engineers only think about their build system when it breaks; and yet, this often unloved piece of software forms the backbone of every serious project. This week, Ron has a conversation with Andrey Mokhov about build systems, from the venerable Make to Bazel and beyond. Andrey has a lot of experience in this field, including significant contributions to the replacement for the Glasgow Haskell Compilerâs Make-based system and Build Systems Ă la carte, a paper that untangles the complex ecosystem of existing build systems. Ron and Andrey muse on questions like why every language community seems to have its own purpose-built system and, closer to home, where Andrey and the rest of the build systems team at Jane Street are focusing their efforts.
You can find the transcript for this episode along with links to related work on our website.
-
The ever-widening availability of FPGAs has opened the door to solving a broad set of performance-critical problems in hardware. In this episode, Ron speaks with Andy Ray, who leads Jane Streetâs hardware design team. Andy has a long career prior to Jane Street shipping hardware designs for things like modems and video codecs. That work led him to create Hardcaml, a domain-specific language for expressing hardware designs. Ron and Andy talk about the current state-of-the-art in hardware tooling, the economics of FPGAs, and how the process of designing hardware can be improved by applying lessons from software engineering.
You can find the transcript for this episode along with links to related work on our website.
- Mostra di più