I bounce between Mac, Windows, and Linux daily. Honestly, the tools matter more than the OS at this point. Great software is great software, and I’ve been lucky enough to build a career on top of things other people built well.

This is the stuff I actually reach for. Not a “best of” list, not sponsored, not comprehensive. Just software that makes me better at what I do. Or at least makes the work more fun.

Software Development #

IDE

JetBrains Rider #

Cross-platform .NET IDE. Fast, smart, and doesn’t need Visual Studio’s weight to get the job done.

IDE

Visual Studio #

The OG. Heavy, but when you need the full .NET debugging experience, nothing else comes close.

editor

VS Code #

Extension ecosystem is unmatched. Somehow Electron done right.

editor

Neovim #

Vim reborn. Lua config, LSP native, and a plugin ecosystem that won’t quit. :wq is a lifestyle.

version control

Git #

The version control system that won. Love it or hate it, you can’t ship without it.

version control

lazygit #

Terminal UI for git that makes interactive rebases feel like cheating.

JSON

jq #

sed for JSON. Once you learn the syntax, you’ll pipe everything through it.

database

JetBrains DataGrip #

SQL IDE that actually understands your schema. Autocomplete that works across joins.

database

DBeaver #

Universal database tool that actually works. Connect to anything, query everything.

database

SSMS #

Microsoft SQL Management Studio. If you’re in SQL Server land, you already know.

database

PostgreSQL #

The database that keeps getting better. Extensions, JSON support, and rock-solid reliability.

containers

Docker #

“Works on my machine” became “works on every machine.” Changed how we ship software.

AI #

agent

Claude Code #

AI pair programmer in your terminal. It’s writing this page right now.

agent

VS Code Agents #

Native agent mode inside the editor. Let the assistant plan, edit files, and run commands without leaving VS Code or babysitting a separate CLI.

agent

Codex #

OpenAI’s open-source coding agent. Terminal-native, sandboxed by default, and you can swap the model behind it whenever.

platform

Azure AI Foundry #

Microsoft’s AI app stack. Build agents, point them at your data, ship them on Azure. The enterprise wrapper for everything you’d otherwise glue together yourself.

Infrastructure #

orchestration

Kubernetes #

Container orchestration that makes you mass produce YAML for a living.

orchestration

K3s #

All of Kubernetes in a single binary. Perfect for homelab, edge, and production deployments.

IaC

Terraform / OpenTofu #

Infrastructure as code. OpenTofu if you prefer the open-source fork without the license drama.

networking

Tailscale #

WireGuard-based mesh VPN that just works. Connect everything without opening a single port.

observability

Grafana #

Dashboards for everything. Pairs with Prometheus, Loki, and Tempo for the whole observability stack.

Kubernetes

k9s #

Terminal UI for Kubernetes. Makes cluster management feel like a video game. Way faster than raw kubectl.

Kubernetes

Lens #

The Kubernetes IDE. When you want to point and click your way through a cluster without shame.

it's complicated

Cloudflare #

You love them. You hate them. Your DNS is already there. Their edge network is everywhere, their pricing is unbeatable, and their product sprawl is terrifying. Stockholm syndrome as a service.

Shell & Terminal #

shell

Bash #

The shell that’s been there since before you were born. Simple, portable, everywhere.

shell

Zsh #

Bash’s cooler sibling. Tab completion, globbing, and plugin support that actually makes the terminal enjoyable.

prompt

Starship #

Cross-shell prompt written in Rust. Fast, pretty, and infinitely configurable.

multiplexer

tmux #

Terminal multiplexer. SSH into a box, detach, come back tomorrow. Your session is still there.

coreutils

eza #

Modern replacement for ls. Colors, git status, and tree view out of the box. Written in Rust, obviously.

Utilities / Apps #

macOS

AltTab #

Why does macOS think a minimized window is an inactive window and not let you switch to it? This fixes that.