
Akshay KurveEvery developer eventually builds a setup that helps them work faster and stay focused. It usually...
Every developer eventually builds a setup that helps them work faster and stay focused.
It usually starts simple β a laptop, a code editor, and a browser.
But over time, you add tools, improve your workflow, and refine your environment until everything feels smooth and efficient.
In this article, I'll walk through my complete developer setup in 2026, including:
If you're a beginner, this will also give you a realistic idea of what a modern developer environment looks like.
Let's start with the foundation.
Your hardware doesn't need to be extremely expensive, but it should be reliable enough to handle development tools, browsers, AI coding assistants, and sometimes Docker or local servers β all running simultaneously.
My primary machine is where everything happens. Here's what to look for in 2026:
| Component | Minimum | Recommended | Ideal |
|---|---|---|---|
| CPU | Intel i5 / Ryzen 5 / Apple M3 | Intel i7 / Ryzen 7 / Apple M4 | Intel i9 / Ryzen 9 / Apple M4 Pro |
| RAM | 16GB | 32GB | 64GB |
| Storage | 512GB NVMe SSD | 1TB NVMe SSD | 2TB NVMe SSD |
| Display | Full HD (1920Γ1080) | 2K / QHD (2560Γ1440) | 4K / Retina |
| Battery | 6+ hours real-world | 10+ hours | 15+ hours |
16GB is the absolute minimum in 2026, 32GB is comfortable for most work, and 64GB+ is for virtual machines, containers, and large datasets.
Compilation times, container startup speed, IDE responsiveness, and the ability to run multiple services locally β these are the things that determine whether you ship fast or wait around.
Running a typical 2026 developer workload means having open simultaneously:
All of these quickly consume RAM and CPU.
The common thread: do not skimp on RAM. Everything else β CPU speed, screen resolution, storage β is secondary. RAM is the bottleneck that turns development from a flow state into a frustration.
| Laptop | Best For | Starting Price |
|---|---|---|
| MacBook Pro 14" (M4 Pro) | iOS/macOS dev, full-stack, battery life | ~$1,999 |
| MacBook Air 13" (M4) | Lightweight, students, web dev | ~$1,099 |
| Lenovo ThinkPad T16 | Linux, enterprise, keyboard quality | ~$1,200 |
| MSI Prestige 16 AI Evo | Windows all-rounder, AI workloads | ~$1,400 |
| Dell XPS 16 | Windows power users, design work | ~$1,800 |
| Lenovo ThinkPad X1 Carbon | Portability, Linux compatibility | ~$1,600 |
The MSI Prestige 16 AI Evo balances power and price best for most programmers, while Apple's MacBook Pro with M4 Pro dominates for iOS development. ThinkPads still rule for Linux work and durability.
Budget ($800-$1,200) gets you capable machines for learning and entry-level work. Mid-range ($1,500-$2,500) covers most professional needs comfortably. Premium ($3,000+) is for specialized workloads like game development, machine learning, or maximum portability with no compromises.
If you are buying a laptop for development in 2026, prioritize RAM and SSD speed over everything else. Get 32GB RAM if your budget allows β you'll thank yourself when running Docker + VS Code + browser + AI assistant simultaneously.
Many developers use two screens β and it's one of the biggest productivity upgrades you can make.
External monitor(s) improve context switching and reduce time lost toggling between terminal, docs, and browser.
Example dual-monitor workflow:
Left screen (primary):
Right screen (secondary):
| Type | Size | Resolution | Best For |
|---|---|---|---|
| Ultrawide | 34" | 3440Γ1440 | Single monitor setup, split panes |
| 4K | 27" | 3840Γ2160 | Sharp text, design work |
| QHD | 27" | 2560Γ1440 | Great value, readable text |
| Portable | 15-16" | 1920Γ1080 | Travel, coffee shop coding |
Tip: If you can only afford one upgrade to your setup, get an external monitor. The productivity jump from one screen to two is enormous.
Most developers prefer mechanical keyboards because they:
| Keyboard | Type | Price Range |
|---|---|---|
| Keychron Q1/Q2 | Mechanical, hot-swap | $150-$200 |
| HHKB Professional | Topre, compact | $250-$350 |
| ZSA Voyager / Moonlander | Split ergonomic | $300-$400 |
| Logitech MX Keys | Low-profile, quiet | $100-$130 |
| Apple Magic Keyboard | Low-profile, Mac native | $100-$200 |
But honestly, use whatever feels comfortable.
Coding is more about focus than fancy equipment. A $30 keyboard works fine if you're productive with it.
Noise-cancelling headphones are a developer's secret weapon:
Even playing ambient noise or lo-fi music through good headphones can dramatically improve focus.
The operating system is the environment where everything runs. Most developers choose one of these three:
Based on the Stack Overflow Developer Survey data, Windows secured the largest share at 59.2% for personal development and 47.6% for professional work in 2024. macOS recorded 31.8% adoption among developers for both personal and professional use in 2024. Professional developers specifically showed 33.2% macOS preference.
| OS | Personal Use | Professional Use | Trend |
|---|---|---|---|
| Windows | 59.2% | 47.6% | Stable, WSL growing |
| macOS | 31.8% | 31.8% | Growing among pros |
| Ubuntu | 27.7% | 27.7% | Top Linux distro |
| WSL | 11.5% | ~11% | Steady growth |
| Arch Linux | 8.0% | 7.2% | Popular with learners |
Very popular among developers, especially professionals, because:
Professional developers showed 33.2% macOS adoption compared to 26.4% among learners, reflecting a 6.8 percentage point gap. This difference may be attributable to financial accessibility and professional ecosystem requirements.
# Essential macOS setup for developers
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install common tools
brew install git node python docker postgresql redis
brew install --cask visual-studio-code iterm2 firefox
Common distributions for developers:
| Distro | Best For | Package Manager |
|---|---|---|
| Ubuntu | Beginners, servers | apt |
| Fedora | Cutting-edge, Red Hat ecosystem | dnf |
| Arch | Advanced users, customization | pacman |
| Debian | Stability, servers | apt |
| Pop!_OS | Developer-friendly desktop | apt |
Benefits:
Linux now powers 49.2% of all cloud workloads globally as of Q2 2025. 78.5% of developers worldwide report using Linux either as a primary or secondary OS in 2025.
With WSL2 (Windows Subsystem for Linux), Windows has become a genuinely solid development platform.
With the introduction of WSL2 (Windows Subsystem for Linux 2), Windows is no longer a second-class citizen in developer environments β it's a powerful hybrid platform.
You get the best of both worlds:
# Enable WSL2 on Windows
wsl --install
# Install Ubuntu (default)
wsl --install -d Ubuntu
# Or choose your distro
wsl --install -d Debian
wsl --install -d Fedora
There is no universal "best" OSβonly the best fit for your work and tools. Pick Windows for gaming and broad app compatibility, macOS for premium mobile-to-desktop workflows and top creative apps, and Linux for development, control, and cost efficiency.
Quick Decision Guide:
| Your Focus | Recommended OS |
|---|---|
| iOS/macOS development | macOS (required) |
| Full-stack web development | macOS or Linux |
| .NET / C# / Unity | Windows |
| DevOps / Infrastructure | Linux |
| Budget-conscious | Linux on a ThinkPad |
| Need everything | Windows + WSL2 |
Your code editor is where you spend most of your time. In 2026, the editor landscape has evolved significantly β but one tool still dominates.
Visual Studio Code commands 75.9% of the developer market as of 2025, more than triple the usage of its nearest competitor. This Microsoft-developed editor has increased adoption by 2.3 percentage points since 2024, when it held 73.6% market share.
Subscription-based, AI-enabled IDEs weren't able to topple the dominance of Visual Studio and Visual Studio Code this year. Both maintained their top spots for the fourth year while relying on extensions as optional, paid AI services.
Why VS Code dominates in 2026:
While VS Code leads, a new generation of AI-native editors is gaining traction:
VS Code and Visual Studio still rank as the top IDEs used by developers, with "usage growing for new AI-enabled IDEs added this year including Cursor (18%), Claude Code (10%), and Windsurf (5%)."
| Editor | Usage (2025) | AI Approach | Price |
|---|---|---|---|
| VS Code | 75.9% | Extensions (Copilot, etc.) | Free |
| Visual Studio | ~29% | Built-in Copilot | Free / Paid |
| Cursor | 18% | AI-native (fork of VS Code) | $20/mo |
| IntelliJ IDEA | 27.1% | JetBrains AI | Free / $169/yr |
| Claude Code | 10% | CLI-based AI agent | Usage-based |
| Windsurf | 5% | AI-native editor | $15/mo |
| Neovim | 14% | Plugins (Copilot, etc.) | Free |
The newer AI-enabled editors like Claude Code and Cursor are "attracting interest from developers already using the industry standard IDE, VS Code."
A number of the options are forks of Visual Studio Code (e.g., Cursor, VSCodium, Windsurf). This means your VS Code skills and extensions transfer directly.
My recommendation: Start with VS Code. It's free, universally supported, and every AI tool integrates with it. If you later want a more AI-native experience, Cursor or Claude Code are worth exploring.
| Extension | Purpose |
|---|---|
| Prettier | Automatic code formatting |
| ESLint | JavaScript/TypeScript linting |
| Error Lens | Inline error/warning highlighting |
| SonarLint | Code quality and security rules |
| Extension | Purpose |
|---|---|
| GitLens | Enhanced Git blame, history, file comparisons |
| Git Graph | Visual branch and commit graph |
| Live Share | Real-time collaborative editing |
| Extension | Purpose |
|---|---|
| GitHub Copilot | AI code completion and chat |
| Continue | Open-source AI assistant (multi-model) |
| Codeium | Free AI code completion |
| Extension | Purpose |
|---|---|
| Docker | Manage containers from VS Code |
| Remote - SSH | Develop on remote machines |
| Dev Containers | Develop inside Docker containers |
| Thunder Client | Lightweight API testing |
| Path Intellisense | Auto-complete file paths |
| REST Client | Test HTTP requests in .http files |
| Extension | Purpose |
|---|---|
| TypeScript Vue Plugin (Volar) | Vue.js support |
| Tailwind CSS IntelliSense | Tailwind class autocomplete |
| Prisma | Database ORM support |
| Python | Python language support |
// settings.json
{
// Editor
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.fontSize": 14,
"editor.fontFamily": "'JetBrains Mono', 'Fira Code', Consolas, monospace",
"editor.fontLigatures": true,
"editor.minimap.enabled": false,
"editor.bracketPairColorization.enabled": true,
"editor.guides.bracketPairs": true,
"editor.linkedEditing": true,
"editor.wordWrap": "on",
"editor.cursorBlinking": "smooth",
"editor.cursorSmoothCaretAnimation": "on",
"editor.stickyScroll.enabled": true,
// Terminal
"terminal.integrated.defaultProfile.osx": "zsh",
"terminal.integrated.fontSize": 13,
// Files
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 1000,
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
// Workbench
"workbench.colorTheme": "One Dark Pro",
"workbench.iconTheme": "material-icon-theme",
"workbench.startupEditor": "none",
// AI
"github.copilot.enable": {
"*": true,
"markdown": true,
"yaml": true
}
}
Ctrl/Cmd + P β Quick file search
Ctrl/Cmd + Shift + P β Command palette
Ctrl/Cmd + ` β Toggle terminal
Ctrl/Cmd + B β Toggle sidebar
Ctrl/Cmd + D β Select next occurrence
Ctrl/Cmd + Shift + F β Search across files
Alt + Up/Down β Move line up/down
Ctrl/Cmd + / β Toggle comment
Ctrl/Cmd + Shift + K β Delete line
F12 β Go to definition
AI coding assistants are no longer optional in 2026 β they've become an integral part of the developer workflow.
More than 84% of developers reported using or planning to use AI tools. Reports show that 41% of all code written in 2025 is AI-generated.
"ChatGPT (82%) and GitHub Copilot (68%) are the clear market leaders, serving as the primary entry point for most developers using out-of-the-box AI assistance."
| Tool | Type | Best For | Price |
|---|---|---|---|
| GitHub Copilot | Code completion + chat + agents | VS Code / JetBrains users | $10/mo individual |
| ChatGPT | General AI chat | Brainstorming, debugging, learning | Free / $20/mo |
| Claude | AI chat + Claude Code | Complex reasoning, long context | Free / $20/mo |
| Cursor | AI-native IDE | Developers wanting deep AI integration | $20/mo |
| Codeium / Continue | Open-source AI | Budget-conscious, privacy-focused | Free |
GitHub Copilot surpassed 20 million users in July 2025, up from 15 million in April 2025. The platform added 5 million users in three months.
Paid subscribers reached 4.7M as of Jan 2026, with 75% year-over-year growth.
The AI coding assistant now generates 46% of code written by developers and has been adopted by 90% of Fortune 100 companies.
Controlled experiments showed developers completed JavaScript HTTP server tasks 55% faster when using Copilot.
The 2025 Stack Overflow Developer Survey revealed an alarming paradox: AI adoption is surging, but trust in it is sinking. More than 84% of developers reported using or planning to use AI tools. Yet when asked if they trust those tools' accuracy, fewer than one in three said yes, while nearly half actively distrust them. Only about 3% reported that they "highly trust" AI outputs.
A key frustration from 45% of respondents was that debugging AI-generated code is time-consuming.
Here's how I use AI tools in my daily work:
1. GitHub Copilot β inline code completions (always on)
2. Claude / ChatGPT β complex debugging, architecture decisions, learning
3. Copilot Chat β quick questions in VS Code sidebar
4. AI commit messages β auto-generate meaningful git commit messages
5. AI code review β use Copilot code review on pull requests
β DO:
β DON'T:
Almost half of all developers, around 46%, say they do not fully trust AI results. Only 33% say they trust them, and a small 3% "highly trust" AI-generated outputs. Always verify.
Developers spend a surprising amount of time in the terminal. A well-configured terminal setup saves hours every week.
Typical tasks:
| Terminal | Platform | Key Feature |
|---|---|---|
| iTerm2 | macOS | Split panes, search, profiles |
| Warp | macOS/Linux | AI-powered, modern UI |
| Windows Terminal | Windows | Tabs, WSL integration, GPU rendering |
| Alacritty | Cross-platform | GPU-accelerated, extremely fast |
| Kitty | Cross-platform | GPU-based, images in terminal |
| GNOME Terminal | Linux | Default on GNOME desktops |
Most developers in 2026 prefer modern shells over the default bash:
The most popular developer shell. With Oh My Zsh, the terminal becomes much more powerful.
# Install Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Benefits:
.zshrc essentials
# Plugins
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
docker
kubectl
npm
node
)
# Aliases
alias gs="git status"
alias gc="git commit -m"
alias gp="git push"
alias gl="git log --oneline --graph"
alias d="docker"
alias dc="docker compose"
alias k="kubectl"
alias dev="npm run dev"
alias c="code ."
alias ..="cd .."
alias ...="cd ../.."
Fish is another modern shell that provides auto-suggestions and syntax highlighting out of the box β no plugins needed.
# Install Fish
brew install fish # macOS
sudo apt install fish # Ubuntu
These modern CLI tools make the terminal dramatically better:
| Tool | Replaces | What it does |
|---|---|---|
| fzf | β | Fuzzy finder for files, history, everything |
| bat | cat |
Syntax highlighted file viewer |
| eza | ls |
Modern file listing with icons and colors |
| ripgrep (rg) | grep |
Blazing-fast search across files |
| fd | find |
Simple, fast file finder |
| zoxide | cd |
Smart directory jumper (learns your habits) |
| tldr | man |
Simplified command examples |
| lazygit | β | Terminal UI for Git |
| lazydocker | β | Terminal UI for Docker |
| htop / btop | top |
Beautiful process monitor |
| jq | β | JSON processor for the terminal |
| httpie | curl |
User-friendly HTTP client |
# Install all on macOS
brew install fzf bat eza ripgrep fd zoxide tldr lazygit jq httpie htop
# Install all on Ubuntu
sudo apt install fzf bat ripgrep fd-find jq httpie htop
Every developer must know Git. It's the version control system that powers virtually all modern development.
Git helps track code changes and collaborate with other developers. If you work on any serious project, Git is non-negotiable.
# Morning: pull latest changes
git pull origin main
# Create a feature branch
git checkout -b feature/user-auth
# Work on code... then stage and commit
git add .
git commit -m "feat: add user authentication flow"
# Push to remote
git push origin feature/user-auth
# Create a pull request on GitHub/GitLab
# β Code review β Merge β Delete branch
| Strategy | Best For | Complexity |
|---|---|---|
| GitHub Flow | Small teams, continuous deployment | Simple |
| Trunk-Based | CI/CD heavy teams, fast iteration | Simple |
| Git Flow | Large teams, scheduled releases | Complex |
Most teams now use Conventional Commits for consistent, parseable commit messages:
feat: add user authentication
fix: resolve database connection timeout
docs: update API documentation
style: format code with prettier
refactor: extract validation logic
test: add unit tests for auth service
chore: update dependencies
perf: optimize database queries
| Platform | Best For | Key Feature |
|---|---|---|
| GitHub | Open source, most popular | Copilot, Actions, Codespaces |
| GitLab | Self-hosted, DevOps pipeline | Built-in CI/CD |
| Bitbucket | Atlassian ecosystem (Jira) | Jira integration |
# Global Git configuration
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
git config --global init.defaultBranch main
git config --global pull.rebase true
git config --global core.autocrlf input
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.st status
git config --global alias.lg "log --oneline --graph --all"
# Sign commits with SSH key (2026 best practice)
git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/id_ed25519.pub
git config --global commit.gpgsign true
Developers rely heavily on browsers for testing, debugging, and reading documentation.
Why developers use Chrome:
F12 / Cmd+Opt+I β Open DevTools
Cmd+Shift+C β Inspect element
Cmd+Shift+M β Toggle device toolbar (responsive)
Ctrl+Shift+P β DevTools command palette
Console β $0 β Reference the selected element
Network β Cmd+Shift+R β Hard refresh (clear cache)
| Extension | Purpose |
|---|---|
| React Developer Tools | Inspect React component trees |
| Vue DevTools | Inspect Vue.js apps |
| Redux DevTools | Debug Redux state |
| JSON Viewer | Format JSON responses |
| Lighthouse | Performance, a11y, SEO analysis |
| Wappalyzer | Detect technologies used on any site |
| ColorZilla | Color picker from any page |
| Web Vitals | Core Web Vitals metrics |
| uBlock Origin | Ad blocking (faster browsing) |
| Dark Reader | Dark mode for every site (save your eyes) |
It's good practice to test in multiple browsers:
Modern applications often require multiple services running locally. These tools help manage that.
Node.js allows JavaScript to run outside the browser. It's used for backend servers, APIs, tooling, and build systems.
| Runtime | Best For | Key Feature |
|---|---|---|
| Node.js | Production apps, mature ecosystem | Stability, npm ecosystem |
| Bun | Performance, all-in-one tooling | Speed, built-in bundler/test runner |
| Deno | Security-focused, TypeScript-native | Permissions model, fresh approach |
Never install Node.js directly. Always use a version manager:
# nvm (Node Version Manager) β most popular
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install --lts # Install latest LTS
nvm install 22 # Install Node 22
nvm use 22 # Switch to Node 22
nvm alias default 22 # Set default
# fnm (Fast Node Manager) β Rust-based, faster
brew install fnm
fnm install --lts
fnm use 22
| Manager | Speed | Disk Usage | Lock File |
|---|---|---|---|
| npm | Baseline | Higher | package-lock.json |
| pnpm | Fast | Low (content-addressed) | pnpm-lock.yaml |
| yarn | Fast | Medium | yarn.lock |
| bun | Fastest | Low | bun.lockb |
# Install packages
npm install express
pnpm add express
yarn add express
bun add express
My choice:
pnpmfor most projects β fast, disk-efficient, and strict about dependencies.
Docker helps create isolated, reproducible environments for applications. In 2026, it's essentially a requirement for professional developers.
Docker has moved from a popular tool to a near-universal one. After years of growth, it experienced a +17 point jump in usage from 2024 to 2025, the largest single-year increase of any technology surveyed.
Docker is considered essential for developers working with the web. If you don't know it or a comparable containerization technology and are looking for a job β learn it.
# Run a PostgreSQL database
docker run -d --name postgres \
-e POSTGRES_PASSWORD=secret \
-p 5432:5432 \
postgres:16
# Run Redis
docker run -d --name redis \
-p 6379:6379 \
redis:7-alpine
# Docker Compose for full stack
docker compose up -d
docker compose logs -f
docker compose down
docker-compose.yml
version: "3.8"
services:
app:
build: .
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgresql://postgres:secret@db:5432/myapp
- REDIS_URL=redis://redis:6379
depends_on:
- db
- redis
db:
image: postgres:16-alpine
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: secret
POSTGRES_DB: myapp
volumes:
- postgres_data:/var/lib/postgresql/data
redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
postgres_data:
Most applications require a database. Here are the most popular choices and tools to manage them.
| Database | Type | Best For |
|---|---|---|
| PostgreSQL | Relational (SQL) | Most applications, #1 database among developers |
| MySQL | Relational (SQL) | Legacy apps, WordPress |
| SQLite | Embedded (SQL) | Mobile apps, prototyping, edge |
| MongoDB | Document (NoSQL) | Flexible schemas, rapid prototyping |
| Redis | In-memory (Key-Value) | Caching, sessions, real-time data |
| Supabase | PostgreSQL + BaaS | Full-stack apps, startups |
| Tool | Databases Supported | Price |
|---|---|---|
| TablePlus | PostgreSQL, MySQL, Redis, SQLite, MongoDB | Free tier / $89 |
| DBeaver | Everything (JDBC) | Free (Community) |
| pgAdmin | PostgreSQL only | Free |
| DataGrip | Everything | $99/yr (JetBrains) |
| Beekeeper Studio | PostgreSQL, MySQL, SQLite | Free (Community) |
These tools make it easier to:
Every developer working with APIs needs a way to test them.
| Tool | Type | Best For | Price |
|---|---|---|---|
| Thunder Client | VS Code extension | Quick, lightweight testing | Free |
| Bruno | Desktop app | Git-friendly, open source | Free |
| Hoppscotch | Web-based | Fast, no install needed | Free |
| Postman | Desktop / Web | Teams, documentation, automation | Free tier |
| HTTPie | CLI | Terminal-based, scriptable | Free |
| REST Client | VS Code extension |
.http files, version-controlled |
Free |
### Get all users
GET http://localhost:3000/api/users
Content-Type: application/json
### Create a user
POST http://localhost:3000/api/users
Content-Type: application/json
{
"name": "Alex",
"email": "alex@example.com",
"role": "developer"
}
### Update a user
PUT http://localhost:3000/api/users/1
Content-Type: application/json
Authorization: Bearer {{token}}
{
"name": "Alex Updated"
}
My preference: REST Client extension in VS Code. API tests live in
.httpfiles alongside the code, are version-controlled, and require no external tool.
Developers constantly learn new things. Having a place to store notes, code snippets, and knowledge is essential.
| Tool | Type | Best For |
|---|---|---|
| Obsidian | Local Markdown | Personal knowledge base, linked notes |
| Notion | Cloud-based | Team wikis, project management |
| Markdown files in Git | Plain text | Version-controlled, portable |
| Logseq | Local, outliner | Daily journals, linked references |
| Apple Notes | Cloud (Apple) | Quick capture, simple notes |
In the Stack Overflow Developer Survey, Markdown files are the most admired asynchronous tool. Markdown files can be deployed in various hosted instances and show an opportunity for sharing information.
I personally use Obsidian + Markdown files because they:
notes/
βββ daily/
β βββ 2026-03-15.md
βββ projects/
β βββ project-a.md
β βββ project-b.md
βββ til/ # Today I Learned
β βββ docker-networking.md
β βββ postgres-indexes.md
βββ snippets/
β βββ bash-one-liners.md
β βββ sql-queries.md
βββ interview-prep/
βββ javascript.md
βββ system-design.md
Here's what a normal coding day looks like:
# Step 1: Open terminal, navigate to project
cd ~/projects/my-app
# Step 2: Pull the latest code
git pull origin main
# Step 3: Create a feature branch
git checkout -b feature/user-dashboard
# Step 4: Start the development environment
docker compose up -d # Start database + redis
npm run dev # Start dev server
# Step 5: Open in VS Code
code .
# Code editor: VS Code with Copilot active
# Browser: localhost:3000 with DevTools open
# Terminal: integrated in VS Code
# Test as you code
npm run test:watch # Watch mode
# Check types
npm run typecheck
# Step 6: Run linter and formatter
npm run lint
npm run format
# Step 7: Run tests
npm run test
# Step 8: Review changes
git diff
git status
# Step 9: Stage and commit with conventional message
git add .
git commit -m "feat: add user dashboard with analytics"
# Step 10: Push and create PR
git push origin feature/user-dashboard
# Open pull request on GitHub
# β Request review β AI code review β Merge
# Shut down services
docker compose down
# Or if you want to preserve data
docker compose stop
Morning:
git pull β branch β docker up β npm run dev β code .
Coding Loop:
Write code β AI suggests β Review β Test β Repeat
Commit:
lint β format β test β git add β git commit β git push
PR:
Create PR β AI review β Human review β Merge β Deploy
Tools are helpful, but habits matter more. These are the practices that actually make a difference.
Too many tools can slow you down. A minimal, well-configured setup beats a bloated one every time.
β
3 tools you know deeply > 10 tools you barely use
Use scripts, aliases, and npm scripts to eliminate repetitive commands:
// package.json
{
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "eslint . --fix",
"format": "prettier --write .",
"db:push": "prisma db push",
"db:studio": "prisma studio",
"typecheck": "tsc --noEmit",
"test": "vitest",
"test:watch": "vitest --watch",
"clean": "rm -rf node_modules .next && npm install"
}
}
Most bugs can be solved by carefully reading the error output. Before searching Google or asking AI:
This saves enormous amounts of time over days, weeks, and months.
Essential shortcuts to memorize:
| Action | macOS | Windows/Linux |
|---|---|---|
| Quick file open | Cmd + P |
Ctrl + P |
| Command palette | Cmd + Shift + P |
Ctrl + Shift + P |
| Toggle terminal | Cmd + ` |
Ctrl + ` |
| Toggle sidebar | Cmd + B |
Ctrl + B |
| Search all files | Cmd + Shift + F |
Ctrl + Shift + F |
| Go to definition | F12 |
F12 |
| Rename symbol | F2 |
F2 |
| Comment line | Cmd + / |
Ctrl + / |
| Multi-cursor | Opt + Click |
Alt + Click |
| Move line up/down | Opt + β/β |
Alt + β/β |
The Pomodoro Technique (25 min focus β 5 min break) works well for coding. Your brain needs rest to solve complex problems.
// β Cryptic
const d = u.filter(x => x.a > 18 && x.s === 'a');
// β
Self-documenting
const activeAdultUsers = users.filter(
user => user.age > 18 && user.status === 'active'
);
Every time you solve a tricky bug or learn a new concept, write it down:
# TIL - 2026-03-15
## PostgreSQL: Partial Indexes
You can create indexes that only cover specific rows:
CREATE INDEX idx_active_users
ON users (email)
WHERE status = 'active';
This makes queries on active users much faster without
indexing the entire table.
You'll thank yourself when you encounter the same issue months later.
If you're just starting out, don't worry about having the perfect setup. Don't fall into "tool paralysis."
| Priority | Tool | Why |
|---|---|---|
| π’ Essential | A decent laptop (16GB RAM) | Can't code without hardware |
| π’ Essential | VS Code | Best editor, free, huge ecosystem |
| π’ Essential | Git + GitHub | Required for every developer job |
| π’ Essential | Node.js (via nvm) | Run JavaScript, install packages |
| π’ Essential | Chrome DevTools | Debug and test web apps |
| π‘ Soon | Terminal basics (cd, ls, mkdir) | Navigate and manage files |
| π‘ Soon | Docker | Run databases, consistent environments |
| π‘ Soon | GitHub Copilot (Free tier) | Learn faster, write code faster |
| π΄ Later | Advanced terminal tools | Nice-to-have, not essential |
| π΄ Later | Multiple monitors | Upgrade when it makes sense |
| π΄ Later | Mechanical keyboard | Comfort upgrade, not required |
Month 1-3: VS Code + Git + Browser DevTools + Node.js
Month 3-6: Docker + PostgreSQL + Basic terminal skills
Month 6-12: AI tools + Testing + CI/CD basics
Year 2+: Kubernetes + Infrastructure + Advanced tooling
Your setup will naturally improve as you gain experience. Focus on building projects, not perfecting tools.
A good developer setup isn't about having the most expensive hardware or the most tools.
It's about creating an environment where you can:
In 2026, 84% of developers use AI tools that now write 41% of all code. The developer setup has evolved from "editor + terminal" to "editor + terminal + AI assistant" as a core trio. Visual Studio Code commands 75.9% of the developer market, and tools like GitHub Copilot reached 20 million cumulative users in July 2025.
But the fundamentals haven't changed: understand your tools deeply, automate what's repetitive, and focus on the craft.
Over time, every developer gradually refines their setup based on what works best for their workflow. There's no single "perfect" setup β only the one that helps you ship great work.
So start simple, keep learning, and improve your workflow as you grow.
Your developer setup will evolve naturally with your experience.
| Category | Tool(s) |
|---|---|
| Laptop | Windows Laptop |
| OS | Windows + WSL2 |
| Editor | VS Code + extensions |
| AI | GitHub Copilot + Claude |
| Terminal | Warp + Zsh + Oh My Zsh |
| Version Control | Git + GitHub |
| Containers | Docker + Docker Compose |
| Browser | Chrome (primary) + Firefox (testing) |
| Database | PostgreSQL + Redis + TablePlus |
| API Testing | REST Client (VS Code) + Thunder Client |
| Notes | Obsidian + Markdown files in Git |
| Package Manager | pnpm |
| Runtime | Node.js (via nvm) + Bun (for scripts) |
β If you enjoyed this article, consider bookmarking it or sharing it with another developer.
Last updated: March 2026 β with the latest Stack Overflow 2025 survey data, AI tool statistics, and hardware recommendations.