Daniel Sauble
Daniel is a product designer and Oregon native. By day he works at Flox on developer tooling for environment and package management. By night he spends his time training for and running ultramarathons. He's tried using AI to code and run at the same time, with mixed results.
Session
Every project starts with a dev environment that works on your own machine. But the moment you try to share with a teammate, anything can (and does) happen. The first solution that most people try is container-based development, but even though this solves the reproducibility problem, it's a horrible developer experience. Another solution that people try is a virtual environment (venv, nvm, rbenv), and they're great, but if you have a polyglot app things start getting cumbersome again (and none of these help you manage system dependencies).
In this talk, we'll go over the tradeoffs between reproducibility and developer experience on an engineering team, and talk about a third solution that the audience should consider: Nix. Nix treats your dev environment as code, all the way down to glibc. We'll show how nix develop can give you a development environment that's reproducible across operating systems and ecosystems, while still giving you access to your development tools. But we'll also be honest about the complexities of Nix, as there are good reasons why not everyone is using it today to manage their development environments.
