I often see questions about what tools to use for a particular problem, or suggesting that one tool is preferable over another, and that it says something about the quality of the programmer who uses the subpar tool. Some of that is religious arguements, but some tools generally are considered less than ideal.
In every job I've had, the environment and tools are already bought and in use. I start using what they have, and while I might have some small say in a future direction, have no say in the current environment.
Is it common for a company to allow the programmer to choose the tools they will use? Or is it more common that a programmer is dropped into an existing environment, and they make use of what they are given? I'm guessing a contract programmer has more say than a FT programmer -- true?
(For an example, at my previous job we used Access for a database, Visual C++ for a programming language, and Visual Studio for an IDE, with WinXP for an OS. We also had Source Safe and Test Track. So, that's what I used. In my current job I get SQL Server and Oracle instead of Access, more ColdFusion than C#.net and VB.net, and we're moving from XP to Win7.)