One of the things I struggle with (and consequently don’t have the most inspiring answer to) is the balance between team and individual tools. If you’re working in a team that all uses TextMate, and you use Vi, how will your ability to mesh with the team be affected? If everyone on your team is a Mac guy and you’re more productive with Linux - how do you keep yourself from having to swim upstream all the time?
It becomes a tough game to play. If we’re all using the same tools, it’s much easier to speak about what we’re doing. Working as a pair you can gain significant velocity if everyone uses the same tools. You lose some of the power of the pair if you both don’t have familiarity with the working environment. Or if something goes wrong uniquely in your environment and the rest of the team is moving forward, how do you handle not falling behind?
On the other hand, having a diverse group of people who use a diverse toolset can be a big asset. Solving a wider range of problems becomes possible if you’re able to fit the right tool for the right job. A culture where learning new toolsets is one that can benefit from the large array of working styles.
In the end it’s a balance. You need to work in an environment where you feel you are most productive - but at the same time you need to be able to easily keep on the same page as your team. Finding this balance will vary on a person-by-person and team-by-team basis. Keeping a clear and open mind with regards to other people’s methods and utility-bench is an important skill to possess. Just remember that your end goal is to make cool stuff, not to use snazzy tools.