Being productive with your machine is very important. Start from selecting rightly. Specs other than the ones specified below are not important and virtually any new
SSD HDD is a preference and speeds things up 3x at most times , your codebase and OS should be on one.
Quantity of RAM is very critical, 8GB is a must and go for 16GB if you are a heavy worker.
Disable graphic gimmicks on your machine by unselecting all checkboxes in my computer : right click -> Properties : leftpane > advanced system settings > advanced tab > Performance > visual effects.
I usually leave the ‘display window content while dragging’ one on though.
Now if you have a large enough ram, click the advanced tab next to visual effects > click page file > select your OS disk where it says managed by system > select no paging. Restart so that you no longer have any page file. Important if you see strange application crashing errors when you open too many things , you need to revert back to ‘system managed size’ or increase your ram or work in a way to not open too many things. For the speed boost you get, you will be willing to keep pagefile off for the cost of ram.
Now, you will have a very fast computer with decent compile times. In case if your compilation involves intensive IO and you still have plenty of ram available, you can consider using a ram disk and placing your code totally in ram (be careful, it wont save on shutdown / crash). This usually prooves to being a bit too greedy though still useful for some cases specially if you are testing different
use ditto to remember your recent copy history and paste anything by simply searching for it.
use qdir for side to side file management
configure launchy to index your documents to search them by name. Also useful to index your commonly used libraries to open your code quickly.
use autohotkey to write automatic tasks you want to run in certain conditions, build up special key combinations to interact between apps, like (hitting compile and) switching to the browser and reloading in one keystroke.
mtputty to manage all your server connections in different tabs
Install git with cli options available in path so you can use linux tools like grep and diff in windows. also install tortoisegit which is very useful when merging.
install rsync and add it to scheduled tasks on windows to automate your code backup.
use freefilesync to sync your current projects to an sd card daily.
use filezilla client to connect to ftp servers.
use netwrox to monitor your bandwidth utilization
use plantuml to generate diagrams and quick wireframes for your clients understanding.
use conemu console emulator to replace windows cmd shell.
use process explorer if you need to kill your apps a lot.
use small tools like a windows based color picker to get colors from other apps / screens and web etc.
Use screenmarker if you present your code to your team.