|
I think there's a very important line to be drawn between "require everyone to know (the basics of) $tool" and "mandate that everyone use $tool". I think the former can be reasonable, if it's done both ways, ie everyone is required to be somewhat familiar with the standard UNIX toolchain, but also with $IDE. Then, the choice could be left to every member of the team what to use. I think, however, it's a huge mistake to take the second route. Myself, for example, I could never be even remotely productive in an IDE. The moment I open one, it feels wrong, and my productivity as well as motivation drops significantly. I just prefer vim + $tools for the language I am working with, and it's highly unlikely that this will ever change. It's like trying to code in a noisy, public place when I could be coding at my desk listening to my favorite music. Yes, this is partially an emotional reason. I hate programs that throw tons of information, menus and buttons at you, most of which are useless 98% of the time. Furthermore, I hate programs that try to be a God Object and do everything by themselves - I'm a stern advocate of modularity/interoperability and the UNIX philosophy of writing programs that do one thing, and do it well. But, to conclude this, I would fiercely disapprove forcing anyone to do it my way as much as I would object to being forced into a different workflow myself. I know I could never work for someone that does either. |