My Developer Setup
Published on March 10, 2023
Creating an efficient development environment can significantly boost your productivity and make coding more enjoyable. In this post, I’ll share my complete setup, from hardware to software tools and productivity hacks.
Hardware
Computer
I currently use a MacBook Pro with the following specifications:- Apple M1 Pro chip
- 16GB unified memory
- 512GB SSD storage
- 14-inch Liquid Retina XDR display
Peripherals
- Monitor: 27” 4K LG UltraFine display
- Keyboard: Keychron K2 mechanical keyboard with brown switches
- Mouse: Logitech MX Master 3
- Audio: Sony WH-1000XM4 noise-canceling headphones
- Webcam: Logitech C920 HD Pro
Software
Development Environment
- Terminal: iTerm2 with Oh My Zsh
- Shell: Zsh with Powerlevel10k theme
- Code Editor: VS Code as my primary editor
- Alternative Editor: Neovim for quick edits
- Font: JetBrains Mono with ligatures
VS Code Extensions
My essential VS Code extensions include:- ESLint & Prettier: For code linting and formatting
- GitHub Copilot: AI pair programming assistant
- GitLens: Enhanced Git capabilities
- Docker: Docker container management
- Thunder Client: API testing tool
Terminal Setup
My terminal productivity is enhanced with:Productivity Tools
Task Management
- Notion: For project planning and note-taking
- Todoist: Daily task management
- Calendly: Scheduling meetings efficiently
Communication
- Slack: Team communication
- Discord: Developer communities
- Zoom: Video conferencing
Development Workflow
Local Development
I use Docker for consistent development environments:Git Workflow
I follow a structured Git workflow:- Create feature branches from main
- Make frequent, small commits
- Use pull requests for code review
- Squash and merge when complete
Productivity Hacks
- Pomodoro Technique: 25 minutes of focused work, followed by a 5-minute break
- Time Blocking: Schedule coding blocks on my calendar
- Documentation First: Write documentation before implementation
- Custom Snippets: Maintain a library of code snippets