Systems Engineer specialized in Performance, Tracing & Reproducible Infrastructure
I am a systems engineer specialized in performance benchmarking of distributed systems and the infrastructure needed to do it reproducibly: fleet provisioning, node operations, deterministic builds, orchestration, and metrics pipelines. I have worked on Linux for more than 20 years, and it has been my only environment for over a decade, from bare-metal point-of-sale terminals to multi-region cloud fleets. That includes hardware-level work: serial-protocol drivers I designed and implemented for fuel dispensers and fiscal printers, directly from the wire-level protocol specifications. My core tools are Nix, Bash, HashiCorp Nomad, AWS, and PostgreSQL, with a decade of Haskell behind them.
I build and operate the benchmarking infrastructure for cardano-node, the software powering the Cardano blockchain. Every cardano-node release is validated on this infrastructure before shipping.
- Performance reports: metrics analyzed down to the millisecond, published with each evaluation. Examples: memory / execution budget evaluation (10.2, 2025) (PDF), release performance evaluation (10.1.1, 2024) (PDF).
- Fleet provisioning and node operations: reproducible benchmarking clusters of 52 AWS machines across three regions, administered directly over SSH and automated with Nix, Bash, and HashiCorp Nomad (extended with a custom plugin). Main PRs: #6544, #6611, #4760, #4852, #5037, #5068, #5129.
- Low-level performance engineering: OS-level tuning such as disk-cache behavior for on-disk benchmarks, and analysis of Haskell runtime memory usage and garbage-collector behavior.
I keep large Nix codebases simple, fast, and dependency-light. On cardano-node, a repository with roughly 520 CI jobs, I drove a sustained simplification of the shared Nix code across a series of merged PRs (#5957, #5983), removing dependencies and optimizing cache hits. The result: Hydra CI evaluation time dropped from multiple hours to under 12 minutes, and post-evaluation job processing from over 40 minutes to about 8, because far fewer files depend on the commit hash, so cached jobs are recognized instead of reprocessed.
Feedback from the CI infrastructure maintainer after #6105:
"Big improvement from what I've seen already! [...] it looks like there is a solid ~30 minute improvement on the post-eval minimum build time also. Awesome!"
I have been an active member of the Haskell community for more than 10 years, with a merged contribution to Cabal, Haskell's package manager.
- fmaste.github.io/Haskell: Notes on Haskell and theoretical computer science, including type checking and inference, evaluation strategies, and EDSL design (source).
- Helenium: A Haskell EDSL for automated browser testing, in production since 2011, with a web console for creating, editing, and running tests with rich output (screenshots, debug logs, assertions, warnings).
- Mafia: A Cabal alternative with Nix-style reproducible builds, including research notes on GHC internals (2016).
Simplicity first: minimal dependencies and no over-engineering, as the dependency removal and pipeline simplification above show in practice. Testing as a requirement, not an option: unit tests plus property-based testing with QuickCheck and Hedgehog, wired into CI. Code evolves through small, reviewable refactoring steps, with git-bisect as the safety net.
LinkedIn: https://www.linkedin.com/in/fmaste/
B.S. in Computer Science Engineering, ITBA



