- Coffee (weblog.200ok.com.au/2009/04/coffee-theory.html)
- A good text editor that you're properly familiar with; that allows for author-time quality tooling, git notation, etc. I prefer a cross-platform option like Sublime.
- bash prompt with various aliases and scripts (particularly for git).
- Sufficiently quiet environment, plus great headphones.
- A really good chair (for my home office I saved up and bought a Mirra); generally good ergonomics.
- Two monitors or one really big one. You need enough real estate to do side-by-side comparisons of code and other docs; to have your editor and build open at once; etc. A lot of the time you don't 100% need this - but when you do need it you really benefit from it.
- git + pull requests for collaboration with other coders.
- Your preferred operating system, whatever that is. There's no benefit forcing a dev to use an OS if they're not productive. There's no one OS that's right for everyone. To give the literal answer though, I mostly use OSX and Win10 (plus a little linux, mostly on RPi).
My personal setup also requires some ergonomic hardware to avoid RSI problems. I have the exact same models at home and work to minimise the impact of switching:
- Tablet instead of mouse, currently a small Wacom Intuos
- Ergonomic keyboard, currently a Microsoft Sculpt