Comment Re:Um excuse me ... (Score 1) 543
You're basically saying that we should let the guys in the warehouse manhandle 500kg loads by hand because they "prefer" not to use the forklifts. We should just let them do whatever they please, because that's what makes for good management, right?
Strawman
Good management advocates what makes folks productive that meets whatever production levels and goals are required for the business. Having someone manually handle 500kg loads is obviously inefficient, left alone the safety and liability concerns it raises. Warehouse operations requirements are different than software development operational requirements.
It's not even a good idea to let developers pick their favorite IDE either, because there are productivity gains to be had from consistency.
It depends on the project and personnel. A core problem I have with mandated IDEs is can cause undesired dependencies in the software build and packaging process. When I have the responsibility of setting up a software project, I make sure that the software can be built and packaged independently of any IDE. I cringe when I am on project that states you need to run this given IDE to build the software.
IDEs have their own quirks and bugs, some not that obvious. When IDE mandating exists, it promotes a blind-trust mindset on the tool, and when it is the IDE that is the source of a problem, it can consume many wasted hours of development time. When IDE "magic" goes wrong, it can go horribly wrong.
I advocate what makes the project most efficient. In some environments, have a single IDE that everyone uses may be the most efficient overall, but management must be aware that it can cripple more senior, experienced developers that can be more efficient than the IDE (hence, my base goal of the software being able to be built without the IDE). Compare the typical mindset and capabilities of a developer that has solely operated in IDEs vs those that have functioned outside them.
A good test on the skill level of a programmer is how well they can make code changes without using an IDE. In a project I have control over, I had to setup an Eclipse project because a new person management hired struggled a lot working with the project source since they mainly used Eclipse in the past. Unfortunately, that person could not set up the Eclipse project themself, so I had to do it so the person can become productive. The lesson: IDE mandating can restrict the flexibility of the developer, and when that developer moves on to other projects with different environments, they are very lost. IDE mandating may be good from a management perspective, but it can have negative impacts from a developer's perspective.
I have used IDEs (Eclipse, Netbeans, and many moons ago, even Visual Studio). But they have never been my primary go-to tool. I use them selectively when they provide something for me that is more efficient than my normal working environment (Vim and a Unix-based shell and tools). On average, IDEs slow me down, and I have never had a single complaint from management or colleagues on how I work. I normally out-perform all other team members and whatever tools/IDEs they choose to use.
One last comment: When working on projects that utilize a variety of technologies, a single IDE will sometimes not be able to adequately support all of the technologies. Hence the need for flexibility and the primary mindset that a given project is never dependent on a single IDE.