Uses - Tools & Technologies
Published on 01 June 2025
3 minutes to read
Uses
Here’s a comprehensive overview of the tools, technologies, and gear I rely on for software development, DevOps consulting, and daily productivity.
Development Environment
Editor & Terminal
- Zed - Primary code editor for its speed and collaborative features
- JetBrains IDEs - IntelliJ IDEA, WebStorm, and other language-specific IDEs for complex projects
- Ghostty - Fast, feature-rich terminal emulator
- Fish - Smart and user-friendly command line shell with excellent autocompletion
Project Environment Management
- Nix - Reproducible package management and system configuration
- devenv - Developer environments with Nix for per-project reproducible setups
- direnv - Automatically loads and unloads environment variables based on directory
Languages & Runtimes
- Haskell - Primary functional programming language, especially for complex business logic
- Kotlin - Modern JVM language for Android development and backend services
- Scala - Functional programming on the JVM for data processing and distributed systems
- Java - Enterprise applications and Spring-based microservices
- TypeScript - For full-stack web development and tooling
- Python - Automation, data processing, and rapid prototyping
Infrastructure & DevOps
Cloud Platforms
- Google Cloud Platform - Primary cloud provider for most client projects
- Google Kubernetes Engine (GKE) - Managed Kubernetes for container orchestration
- Google Cloud Storage - Object storage and backup solutions
Infrastructure as Code
- NixOS - Declarative system configuration and reproducible deployments
- Terraform - Multi-cloud infrastructure provisioning
- Helm - Kubernetes package management
- Kustomize - Kubernetes configuration management
CI/CD & Automation
- GitHub Actions - Primary CI/CD platform
- Flux CD - GitOps toolkit for Kubernetes deployments and continuous delivery
Monitoring & Observability
- Prometheus - Metrics collection and alerting
- Grafana - Visualization and dashboards
- OpenTracing - Vendor-neutral distributed tracing standard and instrumentation
Security & Secrets Management
- SOPS - Secrets encryption with KMS integration
- cert-manager - Automated TLS certificate management
Development Tools
Version Control & Collaboration
- Git with Git Flow branching model
- GitHub - Primary code hosting and collaboration platform
- Conventional Commits - Standardized commit message format
Local Development
- Docker - Containerization for development and testing
- Docker Compose - Multi-container application orchestration
- Telepresence - Local development against remote Kubernetes clusters
API Development & Testing
- Postman - API development and testing
- curl - Command-line HTTP client
- HTTPie - User-friendly HTTP client
- OpenAPI - API specification and documentation
Hardware & Setup
Computing
- MacBook Pro 16” (Apple M4 Max, 128 GB) - Primary development machine
- 2 External 4K Monitor - Extended workspace for productivity
Accessories
- AirPods Pro Gen 2 - Focus during deep work sessions
Productivity & Communication
Organization
- Notion - All-in-one workspace for notes, documentation, and project management
- Calendly - Client meeting scheduling
- SideNotes - Quick note-taking and task management in the sidebar
Communication
- Slack - Team communication and client coordination
- Zoom - Video conferencing for client meetings
- Discord - Community engagement and informal collaboration
Learning & Resources
Documentation & Reference
- Kubernetes Documentation - Official K8s reference
- Google Cloud Documentation - GCP service references
- NixOS Manual - System configuration guidance
Continuous Learning
- Hacker News - Tech industry news and discussions
- Reddit r/devops - Community insights and best practices
- CNCF Landscape - Cloud-native technology ecosystem overview
This toolkit represents years of refinement and adaptation to different client needs and project requirements. I’m always evaluating new tools and technologies to improve efficiency and solve client challenges more effectively.