Everything around magento can be read here:
I am starting out learning Magento with no PHP experience, what are my options?
For debugging I wrote a post a while back that might be useful: Site loading speed is very slow
by Sander Mangel
If you already use some kind of IDE or editor stay with it. If it works for you fine. If it is an editor, you might want to think about an IDE, code completion, break points, etc. are useful features.
Many of us use PHPStorm, because there is a brilliant module for it: http://magicento.com/
Learn how to use a debugger, like xDebug or Zend_Debugger
It is great if you know how apache and nginx works. How mysql is optimizing queries and how to improve performance over all. But the truth (at least for me) is, that you can't know everything. Knowing magento and how to work with it, without killing the performance there is the first thing to achieve. Everything else can be learned later.
I think many of us use Linux or OS X, just because it is a lot easier to port all the tools which work on Linux servers to a *nix based OS. But it is no MUST. I know a few developers which use Windows and at the latest a VM solves all your problems.
Vagrant is a great tool, together with VirtualBox, VMware or Parallels it helps you setting up virtual machines. I like to isolate my different projects, but many of us don't do this but instead just run XAMPP, OS X built in mysql and apache or something else to run the local magento installations
Learn to use git, mercurial, SVN, or anything else. But use it. Source control is important and you want to know who changed what AND WHY (commit messages!)
Make backups of everything. Your laptop, your servers...
There is a chat room on IRC chat.freenode.net #magento which helps a lot. There are language rooms too, at least #magento-de