The right tools make you faster. The wrong tools slow you down. After years of trying different setups, I have settled on a toolset that works well for web, mobile, and backend development.
This guide covers every category of developer tools: IDEs, terminals, version control, containers, AI assistants, and more. For each category, I share what I use and why, plus alternatives if my pick does not fit your workflow.
IDEs and Code Editors
Your editor is where you spend most of your day. Pick one and learn it deeply.
JetBrains IDEs
Best for: Kotlin, Java, Android, Python, Go, Rust (with plugin)
JetBrains makes the best IDEs for statically-typed languages. The code analysis, refactoring, and debugging tools are unmatched.
| IDE | Language | Cost |
|---|---|---|
| IntelliJ IDEA | Kotlin, Java | Free Community / Paid Ultimate |
| Android Studio | Android (Kotlin) | Free |
| PyCharm | Python | Free Community / Paid Professional |
| GoLand | Go | Paid |
| RustRover | Rust | Free |
Key features I use daily:
- Find usages — see everywhere a function or class is used
- Refactor > Rename — safely rename across the entire project
- Run/Debug — set breakpoints, inspect variables, step through code
- Database tool — query databases directly in the IDE (Ultimate)
- Built-in terminal — no need to switch windows
Tip: Learn the keyboard shortcuts. They will double your speed. Press Shift twice for “Search Everywhere”, the most useful shortcut in any JetBrains IDE.
VS Code
Best for: JavaScript, TypeScript, web development, general-purpose editing
VS Code is lightweight, fast, and has the largest extension ecosystem. It is the most popular editor in the world.
Essential extensions:
- GitLens — see who changed each line and when
- Prettier — auto-format code on save
- ESLint — catch JavaScript/TypeScript errors
- Thunder Client — API testing inside VS Code
- Remote SSH — edit files on remote servers
- Docker — manage containers from the sidebar
My VS Code settings:
{
"editor.fontSize": 14,
"editor.fontFamily": "JetBrains Mono",
"editor.formatOnSave": true,
"editor.minimap.enabled": false,
"editor.bracketPairColorization.enabled": true,
"terminal.integrated.fontSize": 13,
"files.autoSave": "onFocusChange"
}
Neovim
Best for: Developers who want maximum speed and keyboard-only editing
Neovim is a terminal-based editor. It has a steep learning curve, but experienced users can edit code extremely fast. In 2026, the Neovim ecosystem is mature with LSP support, Treesitter for syntax highlighting, and plugins like Telescope for fuzzy finding.
Neovim is not for everyone. If you are new to programming, start with VS Code or a JetBrains IDE. Come back to Neovim later if you want to optimize your editing speed.
When to use which?
- Android development → Android Studio (no choice, it is the official IDE)
- Kotlin backend → IntelliJ IDEA
- Python → PyCharm or VS Code (both work well)
- Go → GoLand or VS Code with Go extension
- Rust → RustRover or VS Code with rust-analyzer
- Web frontend → VS Code
- Quick edits → VS Code
- Terminal-first workflow → Neovim
Terminal and Shell
A good terminal setup saves minutes every day. Those minutes add up.
Terminal Emulators
| Tool | Platform | Why |
|---|---|---|
| Ghostty | macOS, Linux | Fast, GPU-accelerated, native feel |
| WezTerm | All platforms | Highly configurable, Lua config |
| Windows Terminal | Windows | Best option for Windows developers |
| iTerm2 | macOS | Feature-rich, widely used |
Shell: Zsh with Oh My Zsh
Zsh is the default shell on macOS and available on all Linux distributions. Oh My Zsh adds plugins and themes that make it better.
Useful plugins:
# In your .zshrc
plugins=(
git # Git aliases (gst, gco, gcm)
z # Jump to frequent directories
docker # Docker autocompletions
kubectl # Kubernetes autocompletions
zsh-autosuggestions # Fish-like suggestions
zsh-syntax-highlighting
)
Essential CLI Tools
These modern replacements are faster and more user-friendly than the originals:
| Classic | Modern Replacement | Why |
|---|---|---|
ls | eza | Colors, icons, git status |
cat | bat | Syntax highlighting, line numbers |
find | fd | Simpler syntax, faster |
grep | ripgrep (rg) | Much faster, respects .gitignore |
top | btop | Beautiful system monitor |
curl | httpie | Human-friendly HTTP requests |
man | tldr | Simplified command examples |
# Install all of them at once (macOS)
brew install eza bat fd ripgrep btop httpie tldr
Version Control: Git and GitHub
Git is non-negotiable. Every developer must know it well.
Git Setup
# Essential config
git config --global init.defaultBranch main
git config --global pull.rebase true
git config --global push.autoSetupRemote true
Git Workflow
For solo projects, a simple flow works best:
- Create a branch for each feature
- Make small, focused commits
- Write clear commit messages
- Open a pull request (even for yourself — it creates a review record)
- Merge and delete the branch
For team projects, use GitHub Flow or trunk-based development.
Git Tools
| Tool | Purpose |
|---|---|
| GitHub | Repository hosting, CI/CD, code review |
| GitLens (VS Code) | Blame, history, comparison |
| lazygit | Terminal UI for Git operations |
| gh (GitHub CLI) | Create PRs, issues from terminal |
Resources:
- Our Git Tutorial Series — from basics to advanced workflows
- Git Cheat Sheet
Containers: Docker
Docker packages your application and its dependencies into a container that runs the same everywhere. It solves the “works on my machine” problem.
Essential Docker Commands
# Build an image
docker build -t myapp .
# Run a container
docker run -p 8080:8080 myapp
# Run with Docker Compose (multiple services)
docker compose up -d
# See running containers
docker ps
# View logs
docker logs -f container_name
Docker Compose for Local Development
Most projects need more than one service. Docker Compose runs them all together:
services:
app:
build: .
ports:
- "8080:8080"
environment:
- DATABASE_URL=postgres://alex:pass@db:5432/myapp
depends_on:
- db
- redis
db:
image: postgres:17
environment:
POSTGRES_PASSWORD: pass
POSTGRES_DB: myapp
redis:
image: redis:7-alpine
Docker Tools
| Tool | Purpose |
|---|---|
| Docker Desktop | Run containers on Mac/Windows |
| OrbStack | Faster Docker alternative for macOS |
| Portainer | Web UI for managing containers |
| dive | Analyze Docker image layers |
Resources:
- Our Docker Tutorial Series — from basics to deployment
- Docker Cheat Sheet
AI Coding Tools
AI tools are the biggest change to development in 2026. They handle boilerplate, suggest solutions, and speed up debugging.
AI Code Assistants
| Tool | Best For | Pricing |
|---|---|---|
| Claude Code | Complex tasks, CLI workflow, full codebase understanding | Subscription |
| GitHub Copilot | Inline code completion in IDE | $10-39/month |
| Cursor | AI-first IDE experience | Free tier + $20/month |
How I Use AI Tools
- Code generation — describe what I want, let AI write the first draft
- Code review — paste code and ask for improvements
- Debugging — share error messages and let AI explain the fix
- Documentation — generate docstrings and README files
- Testing — generate test cases from existing code
- Learning — ask AI to explain unfamiliar code or concepts
Tips for Effective AI Coding
- Be specific in your prompts. “Write a REST API” is too vague. “Write a GET endpoint that returns paginated users from PostgreSQL using Axum” is good.
- Review every line AI generates. It can produce subtle bugs.
- Use AI for the boring parts — boilerplate, repetitive patterns, test scaffolding.
- Do not use AI as a crutch — understand the code it generates.
Resources:
- AI Coding Tools Cheat Sheet
- Claude Code Setup Guide
- Cursor vs Claude Code vs Copilot
- Best Free AI Coding Tools
- My AI Coding Workflow
Database Tools
You will work with databases daily. Good tools make it painless.
| Tool | Type | Best For |
|---|---|---|
| DBeaver | Universal GUI | Any database, free |
| pgAdmin | PostgreSQL GUI | PostgreSQL-specific features |
| Redis Insight | Redis GUI | Viewing cached data |
| DataGrip | JetBrains DB IDE | Power users, paid |
| TablePlus | Native GUI | Clean interface, macOS |
For quick queries from the terminal:
# PostgreSQL
psql -h localhost -U alex -d myapp
# Redis
redis-cli
Resources:
- Our SQL Tutorial Series — from SELECT to window functions
- SQL Cheat Sheet
API Testing
Building backends means testing endpoints constantly.
| Tool | Type | Best For |
|---|---|---|
| Bruno | Desktop app | Open source, Git-friendly |
| Postman | Desktop app | Team collaboration |
| Thunder Client | VS Code extension | Quick tests without leaving IDE |
| httpie | CLI | Terminal-based API testing |
| curl | CLI | Available everywhere |
# httpie — human-friendly HTTP
http GET localhost:8080/api/users
http POST localhost:8080/api/users name="Alex" email="alex@example.com"
# curl — available on every machine
curl -X POST http://localhost:8080/api/users \
-H "Content-Type: application/json" \
-d '{"name": "Alex", "email": "alex@example.com"}'
Productivity Tools
These are not code tools, but they make your workday better.
| Tool | Purpose | Platform |
|---|---|---|
| Raycast | App launcher, snippets, clipboard history | macOS |
| Obsidian | Notes and documentation | All |
| Excalidraw | Quick diagrams and sketches | Browser |
| Notion | Project planning and docs | All |
| Rectangle | Window management | macOS |
My Daily Workflow
Here is how all these tools fit together in a typical day:
- Morning: Open terminal (Ghostty), pull latest code (
git pull), start services (docker compose up -d) - Coding: Open IDE (Android Studio or IntelliJ), write code with AI assistance (Claude Code or Copilot)
- Testing: Run tests in IDE, test APIs with Bruno or httpie
- Database: Check data with DBeaver, run migrations
- Commit: Use lazygit or terminal for small commits with clear messages
- Deploy: Push to GitHub, CI/CD handles the rest
- Monitor: Check logs, fix any issues
How to Choose Your Tools
Do not install everything at once. Start with the basics and add tools when you feel a pain point.
Start with these:
- One IDE (VS Code or JetBrains)
- Git + GitHub
- A good terminal
- Docker
- One AI coding tool
Add later as needed:
- Database GUI
- API testing tool
- Advanced CLI tools
- Productivity apps
Rules for choosing tools:
- Free is fine. Most great developer tools are free or have free tiers.
- Learn one tool deeply before switching to another.
- Do not chase trends. A tool you know well beats a new tool you are still learning.
- Your tools should help you, not distract you.
Related Articles
- Git Tutorial Series — master version control
- Docker Tutorial Series — containers from zero to deploy
- SQL Tutorial Series — database fundamentals
- AI Coding Tools Cheat Sheet
- Claude Code Setup Guide
- Cursor vs Claude Code vs Copilot
- Best Free AI Coding Tools
- Git Cheat Sheet
- Docker Cheat Sheet
- Linux Cheat Sheet
What’s Next?
Pick one tool from this list that you do not use yet. Install it, learn the basics, and use it for a week. If it saves you time, keep it. If not, remove it and try the next one.
The best developer setup is the one that gets out of your way and lets you focus on writing code.