So, the project I'm on is having their funding cut, and as part of that, I've been told to move to another project. Of course, it probably didn't help that I made a big mistake (to be told in another JE; short story: always perform an estimate of time to completion up front). I'm paranoid, cynical, depressive and insecure to boot, so I have to wonder if I got let go for other reasons as well. That's why I'm writing here, to try to get a third opinion, and because I'm curious how this is handled in other places. Of course, I'm biased, but I'll try to be as NPOV as I can.
One of the things that happened before they let me go was that they suggested we standardize our platforms on CentOS. Now, I have nothing against CentOS, but I strongly prefer Debian because of it's wide selection of packages that are very well packaged and the ease of installing those packages. Just to clarify, I work where systems cannot be hooked up to the Internet, so having 5 DVDs (or 8, for Debain 6) of software packages at my fingertips makes life much easier. Not to mention some packages I have come to rely upon for fast prototyping (see this), and seeing how I don't use much besides Debian, I don't even know if those packages are available on other distros, and even if they were, I'd have to find them, download them and all their dependencies, then burn a CD and sneakernet them to the CentOS box they want me to use. Say, an hour to find, download and burn packages, versus five minutes to 'apt-get install binfmtc'. The choice is obvious, right?
No, they believed that delays were being caused by my insistence on using Debian, and they wondered aloud why I thought it was okay to go ahead and install Debian on my development machine.
Some background here: I've been a systems administrator for a decent amount of time. I run my own email, web, print and file servers, along with associated network and firewall. I'm very comfortable and confident when using Debian, because it's pretty much just fire and forget. When I get to a new project at work, usually my first step is to install Debian so I can get some real work done. Even if I'm porting to another platform, I use Debian for day to day development because I'm familiar with it and I can easily set up nightly builds to check out from the repository, build, run unit tests under a variety of code checking tools and email me the results. All without having to download a single package.
I get defensive when people with a lack of experience in software development start telling me how to do my job, and that includes what tools I use. I've tried other distros, I've tried other editors, I know what works best for me. Sure, I've made some mistakes, and I'll admit when I've messed up (if I'm aware of it), but I'm fairly certain my selection of software tools is not one of them.
I'm just curious: at other companies, how much control do you as a software developer have over what you can and can't install on your development machine? If you find a new tool that would help you get things done more quickly or reduce defects, how long does it take to get it installed? I chafe at the idea that I am trusted with vital secrets, yet they don't trust me, the expert, to select the right tool for my job. Am I overreacting?