Developer Tooling
VS Code, Neovim, Git workflows, and CLI mastery
52 articles · 19 tutorials · 2 courses · Updated
Overview
The tools you use every day compound in value. A 10% improvement in your editor speed, terminal workflow, and Git process pays dividends across every project for years. This handbook is about investing in your toolchain with the same rigor you bring to your code.
Covered here: configuring VS Code and Neovim for serious work, building a terminal workflow with tmux and modern CLI tools, mastering Git beyond the basics, and building your own custom automations and scripts.
Learning Roadmap
Beginner
Establish a productive baseline: a configured editor, a capable terminal, and Git basics that will not embarrass you.
Editor Mastery — VS Code
Go beyond the default configuration. Learn the command palette, multi-cursor editing, workspace settings, and the 10 extensions that matter.
~2 weeks
Git Beyond the Basics
Understand the object model, branching strategies, interactive rebase, and how to write commit messages that make code review a pleasure.
~2 weeks
Intermediate
Build a terminal-native workflow and start customizing your tools rather than using defaults.
Terminal Multiplexing with tmux
Manage multiple sessions, windows, and panes. Configure tmux with a sensible keybinding set and learn to work without leaving the terminal.
~2 weeks
Modern CLI Tools
Replace the standard Unix tools with faster, smarter alternatives: ripgrep (grep), fd (find), bat (cat), eza (ls), zoxide (cd), fzf.
~1 week
Neovim — A Serious Setup
Move beyond VS Code for terminal-based work. Configure Neovim with LSP, treesitter, and a plugin manager. LazyVim is a sane starting point.
~3 weeks
Git Workflows at Scale
Trunk-based development, feature flags, and merge queues. Work effectively on large codebases with many contributors.
~2 weeks
Advanced
Build your own tools, debug at the system level, and optimize your workflow for maximum throughput.
Shell Scripting for Automation
Write robust, portable shell scripts with proper error handling, argument parsing, and documentation. Stop being afraid of bash.
~2 weeks
Debugging at the System Level
strace, dtrace, perf, and profiling tools. Understand what your programs are actually doing at the system call level.
~3 weeks
Building Custom Developer Tools
Write your own CLI applications in Rust, Go, or Python. Publish them, version them, and integrate them into your workflow.
~3 weeks
Featured Guides
Development
Rust for Frontend Developers
Why the systems programming language is steadily taking over the JavaScript tooling ecosystem.
Frequently Asked Questions
Should I learn Vim/Neovim or stay with VS Code?
Both are legitimate choices. VS Code is more accessible, has better built-in debugging, and a larger extension ecosystem. Neovim is faster, runs in the terminal, and after the initial investment, many engineers find it meaningfully faster. The honest answer: learn Vim motions first (install the VS Code Vim extension). If you love them, invest in Neovim. If you find them friction without return, stay in VS Code — the editor matters less than knowing it deeply.
What is the best Git branching strategy?
Trunk-based development with short-lived feature branches is the modern consensus for teams that deploy frequently. Feature flags replace long-running branches. The old Gitflow model creates merge hell and slow delivery cycles. For solo projects and small teams, keep it simple: main branch, feature branches that live under a week.
Is Docker necessary to learn?
Yes, as a practitioner. Docker has become the de facto packaging and local environment tool across the industry. You should understand images, containers, Dockerfiles, and Docker Compose for multi-service development. Kubernetes is worth understanding conceptually, but you rarely need to operate it yourself — managed services (EKS, GKE, Fly.io) abstract the operational complexity.