Daniel Szoke is a Vienna-based software engineer at Sentry who maintains Sentry CLI and the company’s Rust SDK and has contributed to its Python SDK. He argues that coding agents should be judged by the correctness of their software, not how quickly they produce runnable code.
Szoke studied computer science and engineering at The Ohio State University, graduating in May 2023 with honors research distinction. His work with the university’s INSPIRE research group addressed model poisoning in federated learning, including attacks involving individual and colluding participants.
As a Sentry intern, he developed and shipped an alpha release of an open-source Python profiler designed for low-overhead production use. He subsequently became a software engineer at Sentry and moved from the United States to Austria in summer 2023. His responsibilities expanded across the company’s command-line infrastructure and Python and Rust developer tools, as reflected in his professional profile and PyCon Greece speaker biography.
His approach to reliable AI-generated code
- Correctness-first AI-assisted programming: Python, JavaScript, and TypeScript make it easy for models to generate executable code, but permissive types and dynamic behavior can conceal serious mistakes. Szoke prioritizes whether generated software satisfies enforceable correctness constraints.
- Deterministic compiler guardrails: Rust’s strict types, explicit optional values, memory-safety rules, and concurrency checks prevent defined categories of bugs before execution. Tests and code review remain useful, but neither guarantees exhaustive coverage of possible failures.
- Compiler feedback loops for coding agents: Rust’s detailed diagnostics let an agent compile, identify a concrete violation, revise its implementation, and repeat. A failed compilation becomes actionable corrective feedback instead of a defect deferred until production.
- Concurrency safety before deployment: A counter updated across multiple threads can produce intermittent data races when mutable state is shared unsafely. Rust rejects incompatible thread-sharing during compilation, pushing the agent toward synchronized alternatives. His AI Engineer Europe presentation develops this example and its implications for autonomous coding.