Constraints that make developers faster

Summary of Constraints that make developers faster

by The Stack Overflow Podcast

28m•October 2, 2026

Overview of Constraints that make developers faster — Stack Overflow Podcast

In this episode, Ryan Donovan talks with Julien Verleguet, CEO of Skip Labs, about how constraints can actually make software teams faster—both for human developers and for AI agents. The conversation explores the trade-offs between correctness and usability in programming languages, why different tools make sense for different stages of a codebase, and how agentic coding systems need to balance safety, familiarity, and cost.

Key Background

Julien shares how he got into software through childhood game hacking and BASIC, then moved into programming languages, type theory, and correctness at university in Paris. His career has stayed focused on:

  • programming languages
  • developer tools
  • correctness and type systems

He also discusses languages he helped create, including:

  • Hack — a type system layered onto PHP to improve large-scale development
  • Skip — a reactive programming language designed for incremental updates and tooling

Core Theme: Constraints Can Increase Speed

A major thread in the discussion is that the “right” constraints depend on context.

For humans

  • Developers will tolerate more constraints in safety-critical systems where correctness matters more than speed.
  • In web and product development, people generally want tools that help them move faster, not tools that feel restrictive.
  • The best constraints are often the ones that reduce debugging and make refactoring safer.

For codebases

  • As codebases grow, dynamic languages can become painful to maintain.
  • A system that worked well for rapid prototyping may become a liability years later.
  • Julien uses Python as an example of a language that is excellent for getting started quickly but can become difficult to scale, refactor, and optimize over time.

Static vs. Dynamic, Strong vs. Weak Typing

Julien distinguishes between common typing concepts:

  • Static vs. dynamic typing: when type checking happens
  • Strong vs. weak typing: whether incompatible types are coerced or preserved

His main point:

  • These are separate dimensions, not the same thing.
  • Languages exist on a spectrum, not in absolute categories.
  • Even strongly typed, statically typed languages often have escape hatches or unsafe features.

A simple mental model he offers:

  • If two types are always incompatible, the system is strongly typed.
  • If the language quietly converts them, it is weaker.

Why Hack Was Built

Hack emerged because Facebook had a huge PHP codebase and needed better tooling for:

  • refactoring
  • finding methods and dependencies
  • preventing breakage in a large codebase

The goal was not to make PHP perfectly correct in a formal sense. Instead, it was to add just enough type-based constraint to help developers move faster with fewer mistakes.

AI Agents Change the Trade-Offs

The conversation shifts to agentic coding, where the constraints problem is different.

What changes with agents

  • Agents do not get frustrated, so they can handle more rigid workflows.
  • The main concerns become:
    • token cost
    • iteration count
    • how familiar the tooling feels to the model

Julien argues that agents perform better when you stay close to the idioms they were trained on. If you invent a super-strict but unfamiliar version of a language, the model may repeatedly fail and burn tokens.

Practical implication

For AI coding systems, the goal is not “maximum safety at any cost.” It is:

  • enough structure to prevent mistakes
  • enough familiarity for the model to succeed
  • enough efficiency to keep token usage reasonable

How Skip Labs Thinks About Agent Loops

Julien describes Skip Labs’ harness as an incremental, reactive system centered on a diff-based workflow.

The loop

  1. The LLM proposes a diff
  2. The system runs type checking
  3. It performs reachability analysis to identify affected code and tests
  4. It runs unit tests
  5. It continues through integration tests and other validation layers
  6. The program is updated incrementally if the change passes

The key idea

The loop itself is not the special part—it’s a standard agent workflow.
The real advantage is that the underlying tooling is incremental, so each step can be updated quickly as the code changes.

The Future of Codebases and Models

Julien thinks the next few years will bring:

  • faster models
  • larger codebases generated by agents
  • more pressure on tooling and composability

He does not believe simply increasing context windows will solve everything. Instead, progress will likely come from a mix of:

  • better models
  • better tooling
  • better compression and representation for code

He also notes that current LLMs are still text-first systems, and there is likely room for model improvements specifically tailored to programming.

What’s Missing in Agentic Tooling

One of the biggest gaps Julien sees is composability.

As agent systems produce more modular capabilities, teams will need to:

  • plug components in and out cleanly
  • reason about dependencies between tools
  • handle effects and required inputs formally

He points to DeepSeek’s Cordis as one of the few systems thinking seriously about these issues, especially around:

  • plugin architecture
  • effects
  • co-effects
  • formal composability

Language Choices for AI Development

Julien thinks it is still early for a language built only for AI agents. For now, he would bet on:

  • TypeScript
  • Python

But if he had to choose one, he leans toward TypeScript, because:

  • the ecosystem is strong
  • it has a large amount of high-quality annotated code online
  • it is a good fit for current model training data
  • it avoids some of Python’s fragmentation and optimization challenges

His broader view:

  • models may eventually become general enough to write across many languages
  • but until then, the best results will likely come from languages they already know well

Main Takeaways

  • Constraints are not the enemy; the right constraints can make developers faster.
  • The best amount of tooling depends on the use case, team tolerance, and lifecycle stage of the codebase.
  • Type systems are often about enabling safer refactoring and scaling, not just proving correctness.
  • For AI agents, the focus shifts from human frustration to token efficiency and model familiarity.
  • The future of agentic coding depends heavily on incremental tooling and composable systems.
  • TypeScript is likely to remain a major language for AI-assisted development in the near term.

Resources Mentioned

  • Skip Labs
  • skipper-ai.dev
  • skiplabs.io
  • DeepSeek Cordis paper
  • Stack Overflow podcast and show notes