Jonatan Matajonmatum.com
conceptsnotesexperimentsessays
© 2026 Jonatan Mata. All rights reserved.v2.1.1
Concepts

Local Development

Practices and tools for creating productive development environments on the developer's machine, replicating production as closely as possible.

seed#local-development#dx#docker#environment#productivity

What it is

Local development is the environment where developers write and test code before sending it to CI/CD. A good local setup replicates production enough to catch problems early while maintaining a fast feedback loop.

Components

ComponentWhat it includesTypical tool
RuntimeCorrect language and versionnvm, pyenv, asdf
DependenciesDatabases, caches, message queuesDocker Compose, devcontainers
ToolsLinters, formatters, test runnersESLint, Prettier, Vitest
ConfigurationEnvironment variables, development secrets.env.local, dotenv

Strategies

StrategyProsCons
Native installationFastVersion conflicts
Docker ComposeIsolated, reproducibleResource overhead
Dev ContainersFully reproducibleRequires Docker
Cloud dev environmentsNo local setupLatency, cost

Best practices

  • One command to bring everything up (make dev, pnpm dev)
  • Data seeds for development
  • Hot reload for instant feedback
  • Mocks for expensive external services

Why it matters

The quality of the local development environment determines the team's daily productivity. If compilation takes minutes, if dependencies fail, or if setup requires a 20-step document, every developer loses time that multiplies by team size.

References

  • Dev Containers — Official specification.
  • Docker Desktop Dev Environments — Docker, 2024. Development environments with Docker.
  • Dev Containers in VS Code — Microsoft, 2024. Local development with containers in VS Code.

Related content

  • Dev Containers

    Specification for defining reproducible development environments in containers, eliminating 'works on my machine' problems and accelerating onboarding.

  • Docker Compose

    Tool for defining and running multi-container applications with a YAML file, simplifying local development of systems with multiple services.

  • My Devcontainer

    Personal development environment with devcontainer, Docker Compose, Python backend, and React frontend.

  • Devcontainer Minimal Template

    Minimal devcontainer template for quickly starting projects with a clean base configuration.

  • Devcontainer Features

    Collection of custom Dev Container features with automated testing, CI/CD, and GitHub Container Registry publishing.

  • Devcontainer Amazon Linux Workspace

    Amazon Linux-based devcontainer template for AWS-compatible development environments.

  • Developer Onboarding

    Structured process for new developers to become productive quickly, from environment setup to understanding team architecture and processes.

Concepts