Productivity
5 Essential Developer Tools for an Optimized Workflow
Aug 19, 2024
7 min read

# 5 Essential Developer Tools for an Optimized Workflow
My pursuit of a perfectly optimized workflow has led me to these indispensable tools. Here's what works best for me:
## Neovim
Neovim is my primary code editor, offering speed, simplicity, and infinite customization. It does have a steep learning curve, but you can gradually start with Vim motions in your own editor.
If you are just starting out, I would highly recommend using kickstart.nvim.
What I love ❣️
- motions like: `di{` (delete content inside { …}), `V5jy` (copy 5 lines down)
- rich plugins ecosystem: example telescope.nvim for fuzzy search
- macros
- brings you closer to the terminal, which has far reaching benefits
## Tmux
Tmux enables me to manage multiple terminal sessions effortlessly. I can split terminals into panes, allowing simultaneous task execution—be it running servers, editing files, or monitoring logs.
What I love ❣️
- starting a session on any of the listed directories using fuzzy search - enabled by fzf
- session persistence ensures I can pick up exactly where I left off
## Lazygit
Lazygit offers a rich TUI for Git workflows. It pairs super well with neovim and tmux, offering keyboard shortcuts for almost all your git needs.
What I love ❣️
- opening a PR using "o"
- inspecting diff from the file tree, and partial staging
## Window Manager
A tiling window manager is vital for maintaining an organized workspace. Hot take - a single monitor setup with proper window management is more efficient than a multi-monitor setup.
I use yabai as I'm on macOS. i3 is fantastic for Linux.
What I love ❣️
- using `alt-1`, `alt-2` etc. to switch between windows
- fixing the application on a single window number
- removing any potential overhead when navigating
## Arc Browser
The people working at Arc have nailed the polished browser experience. It never gets in your way, while providing a seamless browsing experience.
What I love ❣️
- the horizontal tabs - I was skeptical at first but now I can't go back
- ability to customise keybindings
- workspace switching without opening a new window
- saving split-tab groups
These tools have transformed my development workflow, making me more productive and focused. The key is finding tools that complement each other and reduce context switching.