The best productivity tool for a programmer is your own software toolkit.
Over the years, you will be using a lot of software, and a lot of it will suck. The secret to being productive is to build up a small collection of tools that you enjoy using, and master them. This is your “toolkit”, and it usually consists of things like a text editor, a diff/merge tool, and other miscellaneous utilities.
You want to stick to these tools and learn them thoroughly. Use them at work and at home. Carry them around on a USB stick. Whenever you find yourself frustrated at a particular task, find a program that will make it easier. Can’t find anything? Make it yourself - you’re a programmer! Have a tool for everything.
There’s a reason that programmers get religious about text editors, especially Vi and Emacs. Speed, customizability, keybindings, plugins, multi-platform support, etc. make them the kind of editors that many developers would be happy to use for the rest of their lives - and many have! They’re both around 35 years old and still going strong in various incarnations. These are the kinds of programs you want in your toolkit.
If you don’t already have a toolkit, start building one up. Collect software like Pokemon, and take the best ones with you everywhere. Not sure what to look for? Check out Scott Hanselman’s toolkit or my own. Use websites like AlternativeTo to find better alternatives to software you don’t like. Build up a toolkit of software that works for you.