I am hoping that in this thread, we put tools, advice, links, whatever, that every professional programmer cannot live without, or at least should know about. I will start the list with: Perfmon. http://dotnetdebug.net/2005/06/30/perfmon-your-debugging-buddy/
I could post a link to every single issue that Perfmon monitors. Here is one that is very relevant in financial multi-threaded programming. http://msdn.microsoft.com/en-us/library/dd380616(VS.100).aspx There is a great book in this. It would be named something like, How to use Perfmon to become a master programmer : Understanding Computer Science through perfmon C# examples.
http://www.wholetomato.com/ and not a tool but good to know: http://msdn.microsoft.com/en-us/concurrency/default.aspx
It is really interesting. I just re-factored a bunch of code, and now I have a memory leak somewhere in my code (fully .net mind you), even though all I did was reshuffle stuff around. Maddening.
Yes - it is a great tool for refactoring and offers lots of other small tools to edit source code - cannot life without...especially since I code native C++
"A .net memory leak you did not think about" http://www.dev102.com/2008/03/16/a-net-memory-leak-you-did-not-think-about/
would a software programmer have more chance of making it in trading compared to doctors, lawyers etc.?