Letting employees choose their own IDE [closed]

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty margin-bottom:0;







up vote
11
down vote

favorite












I manage a team of developers and am evaluating the company's development standards in preparation for some new employees.



Previously the tools we used have been pretty industry standard (e.g. Visual Studio) but we are now moving into more development with open-source languages such as PHP. Since there is no standard IDE for this sort of coding, it seems I have a choice between:



  • Specifying a standard IDE (e.g. Aptana, Netbeans) for all developers to use

  • Allowing each developer to choose their own IDE

Which of the above options is the better one and why? If it is the former, on what criteria should I choose, because I kind of feel like I would just have to "pick one at random".







share|improve this question












closed as primarily opinion-based by Jim G., jcmeloni, gnat, IDrinkandIKnowThings, Garrison Neely Feb 10 '15 at 15:10


Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.










  • 4




    I've seen both used successfully - as long as you're all using good version control discipline, how the working copy is manipulated shouldn't matter much. Everyone can set up their own version of the project how they like, but need to make sure their setup follows coding and folder structure standards
    – Jon Story
    Feb 7 '15 at 1:01










  • I'm voting to close this question as off-topic because it is not about navigating the workplace as defined in the help center
    – IDrinkandIKnowThings
    Feb 10 '15 at 4:43










  • Agreed as this is more of a software development process question. However, it is a good question, and it seems like it would be a good fit for Programmers.SE.
    – Conor
    Feb 10 '15 at 16:09











  • Pick a standard one that everyone gets installed. Just be sure it is a good one. Then let people add their favorite if they go through the hassle of requesting it. Don't go out of your way to advertise this as an option. Anyways, I've seen the multiple IDE situation happen twice. It turns out that people working on the same project with different IDEs tends to get painful as developers can't easily swap seats when working with each other. So what I predict will end up happening is everyone on the same project will eventually end up migrating to the same IDE. At least that's what I've seen.
    – Dunk
    Feb 10 '15 at 16:56











  • Don't "pick one at random" yourself. Have your PHP developers discuss it and vote on a standard IDE for their work.
    – Stephan Branczyk
    Feb 12 '15 at 6:02
















up vote
11
down vote

favorite












I manage a team of developers and am evaluating the company's development standards in preparation for some new employees.



Previously the tools we used have been pretty industry standard (e.g. Visual Studio) but we are now moving into more development with open-source languages such as PHP. Since there is no standard IDE for this sort of coding, it seems I have a choice between:



  • Specifying a standard IDE (e.g. Aptana, Netbeans) for all developers to use

  • Allowing each developer to choose their own IDE

Which of the above options is the better one and why? If it is the former, on what criteria should I choose, because I kind of feel like I would just have to "pick one at random".







share|improve this question












closed as primarily opinion-based by Jim G., jcmeloni, gnat, IDrinkandIKnowThings, Garrison Neely Feb 10 '15 at 15:10


Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.










  • 4




    I've seen both used successfully - as long as you're all using good version control discipline, how the working copy is manipulated shouldn't matter much. Everyone can set up their own version of the project how they like, but need to make sure their setup follows coding and folder structure standards
    – Jon Story
    Feb 7 '15 at 1:01










  • I'm voting to close this question as off-topic because it is not about navigating the workplace as defined in the help center
    – IDrinkandIKnowThings
    Feb 10 '15 at 4:43










  • Agreed as this is more of a software development process question. However, it is a good question, and it seems like it would be a good fit for Programmers.SE.
    – Conor
    Feb 10 '15 at 16:09











  • Pick a standard one that everyone gets installed. Just be sure it is a good one. Then let people add their favorite if they go through the hassle of requesting it. Don't go out of your way to advertise this as an option. Anyways, I've seen the multiple IDE situation happen twice. It turns out that people working on the same project with different IDEs tends to get painful as developers can't easily swap seats when working with each other. So what I predict will end up happening is everyone on the same project will eventually end up migrating to the same IDE. At least that's what I've seen.
    – Dunk
    Feb 10 '15 at 16:56











  • Don't "pick one at random" yourself. Have your PHP developers discuss it and vote on a standard IDE for their work.
    – Stephan Branczyk
    Feb 12 '15 at 6:02












up vote
11
down vote

favorite









up vote
11
down vote

favorite











I manage a team of developers and am evaluating the company's development standards in preparation for some new employees.



Previously the tools we used have been pretty industry standard (e.g. Visual Studio) but we are now moving into more development with open-source languages such as PHP. Since there is no standard IDE for this sort of coding, it seems I have a choice between:



  • Specifying a standard IDE (e.g. Aptana, Netbeans) for all developers to use

  • Allowing each developer to choose their own IDE

Which of the above options is the better one and why? If it is the former, on what criteria should I choose, because I kind of feel like I would just have to "pick one at random".







share|improve this question












I manage a team of developers and am evaluating the company's development standards in preparation for some new employees.



Previously the tools we used have been pretty industry standard (e.g. Visual Studio) but we are now moving into more development with open-source languages such as PHP. Since there is no standard IDE for this sort of coding, it seems I have a choice between:



  • Specifying a standard IDE (e.g. Aptana, Netbeans) for all developers to use

  • Allowing each developer to choose their own IDE

Which of the above options is the better one and why? If it is the former, on what criteria should I choose, because I kind of feel like I would just have to "pick one at random".









share|improve this question











share|improve this question




share|improve this question










asked Feb 7 '15 at 0:13









Raiden616

23427




23427




closed as primarily opinion-based by Jim G., jcmeloni, gnat, IDrinkandIKnowThings, Garrison Neely Feb 10 '15 at 15:10


Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.






closed as primarily opinion-based by Jim G., jcmeloni, gnat, IDrinkandIKnowThings, Garrison Neely Feb 10 '15 at 15:10


Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.









  • 4




    I've seen both used successfully - as long as you're all using good version control discipline, how the working copy is manipulated shouldn't matter much. Everyone can set up their own version of the project how they like, but need to make sure their setup follows coding and folder structure standards
    – Jon Story
    Feb 7 '15 at 1:01










  • I'm voting to close this question as off-topic because it is not about navigating the workplace as defined in the help center
    – IDrinkandIKnowThings
    Feb 10 '15 at 4:43










  • Agreed as this is more of a software development process question. However, it is a good question, and it seems like it would be a good fit for Programmers.SE.
    – Conor
    Feb 10 '15 at 16:09











  • Pick a standard one that everyone gets installed. Just be sure it is a good one. Then let people add their favorite if they go through the hassle of requesting it. Don't go out of your way to advertise this as an option. Anyways, I've seen the multiple IDE situation happen twice. It turns out that people working on the same project with different IDEs tends to get painful as developers can't easily swap seats when working with each other. So what I predict will end up happening is everyone on the same project will eventually end up migrating to the same IDE. At least that's what I've seen.
    – Dunk
    Feb 10 '15 at 16:56











  • Don't "pick one at random" yourself. Have your PHP developers discuss it and vote on a standard IDE for their work.
    – Stephan Branczyk
    Feb 12 '15 at 6:02












  • 4




    I've seen both used successfully - as long as you're all using good version control discipline, how the working copy is manipulated shouldn't matter much. Everyone can set up their own version of the project how they like, but need to make sure their setup follows coding and folder structure standards
    – Jon Story
    Feb 7 '15 at 1:01










  • I'm voting to close this question as off-topic because it is not about navigating the workplace as defined in the help center
    – IDrinkandIKnowThings
    Feb 10 '15 at 4:43










  • Agreed as this is more of a software development process question. However, it is a good question, and it seems like it would be a good fit for Programmers.SE.
    – Conor
    Feb 10 '15 at 16:09











  • Pick a standard one that everyone gets installed. Just be sure it is a good one. Then let people add their favorite if they go through the hassle of requesting it. Don't go out of your way to advertise this as an option. Anyways, I've seen the multiple IDE situation happen twice. It turns out that people working on the same project with different IDEs tends to get painful as developers can't easily swap seats when working with each other. So what I predict will end up happening is everyone on the same project will eventually end up migrating to the same IDE. At least that's what I've seen.
    – Dunk
    Feb 10 '15 at 16:56











  • Don't "pick one at random" yourself. Have your PHP developers discuss it and vote on a standard IDE for their work.
    – Stephan Branczyk
    Feb 12 '15 at 6:02







4




4




I've seen both used successfully - as long as you're all using good version control discipline, how the working copy is manipulated shouldn't matter much. Everyone can set up their own version of the project how they like, but need to make sure their setup follows coding and folder structure standards
– Jon Story
Feb 7 '15 at 1:01




I've seen both used successfully - as long as you're all using good version control discipline, how the working copy is manipulated shouldn't matter much. Everyone can set up their own version of the project how they like, but need to make sure their setup follows coding and folder structure standards
– Jon Story
Feb 7 '15 at 1:01












I'm voting to close this question as off-topic because it is not about navigating the workplace as defined in the help center
– IDrinkandIKnowThings
Feb 10 '15 at 4:43




I'm voting to close this question as off-topic because it is not about navigating the workplace as defined in the help center
– IDrinkandIKnowThings
Feb 10 '15 at 4:43












Agreed as this is more of a software development process question. However, it is a good question, and it seems like it would be a good fit for Programmers.SE.
– Conor
Feb 10 '15 at 16:09





Agreed as this is more of a software development process question. However, it is a good question, and it seems like it would be a good fit for Programmers.SE.
– Conor
Feb 10 '15 at 16:09













Pick a standard one that everyone gets installed. Just be sure it is a good one. Then let people add their favorite if they go through the hassle of requesting it. Don't go out of your way to advertise this as an option. Anyways, I've seen the multiple IDE situation happen twice. It turns out that people working on the same project with different IDEs tends to get painful as developers can't easily swap seats when working with each other. So what I predict will end up happening is everyone on the same project will eventually end up migrating to the same IDE. At least that's what I've seen.
– Dunk
Feb 10 '15 at 16:56





Pick a standard one that everyone gets installed. Just be sure it is a good one. Then let people add their favorite if they go through the hassle of requesting it. Don't go out of your way to advertise this as an option. Anyways, I've seen the multiple IDE situation happen twice. It turns out that people working on the same project with different IDEs tends to get painful as developers can't easily swap seats when working with each other. So what I predict will end up happening is everyone on the same project will eventually end up migrating to the same IDE. At least that's what I've seen.
– Dunk
Feb 10 '15 at 16:56













Don't "pick one at random" yourself. Have your PHP developers discuss it and vote on a standard IDE for their work.
– Stephan Branczyk
Feb 12 '15 at 6:02




Don't "pick one at random" yourself. Have your PHP developers discuss it and vote on a standard IDE for their work.
– Stephan Branczyk
Feb 12 '15 at 6:02










3 Answers
3






active

oldest

votes

















up vote
23
down vote



accepted










In my experience allowing individuals to choose their tools usually leads to better outcomes.



There are several reasons for this:



  • People will use what they feel is most productive. Some prefer full blown IDEs, some prefer lightweight editors, some prefer polyglot IDEs, some prefer specialised IDEs.

  • Diversity is good. If one IDE supports a great feature that significantly streamlines a process you do frequently then how will you find out about that unless someone tries it?

  • Programmers tend to prefer being told what to do, not how to do it. Being allowed to control these aspects of their job will most likely improve job satisfaction.

  • Tightly coupling your code-base to your IDE is generally a bad thing as it essentially becomes an extra tightly coupled dependency to maintain. IDEs are also not immune to bugs, being discontinued or being superseded by superior products.

However, to make this work:



  • Your build/deployment process/tools should be independent of your IDE. Therefore you should be able to build your code-base with any IDE or without one at all. Leverage tools like Gradle, make or phing rather than inbuilt IDE tools (most IDEs integrate with these external tools any way, but if not developers can use command line instead).

  • You should ensure that you have consistent and portable standards for things which are usually delegated to the IDE, such as code formatting. Most IDEs have some form of portable configuration file for code formatting, so ideally you would make consistent code formatting configuration files available for several common IDEs.

  • Barriers to adopting a preferred IDE should be minimised, for example by creating a process/policy where developers can request licenses to be purchased on request (assuming the software has been trialled, etc. first)





share|improve this answer


















  • 7




    +1. Just one disadvantage of everyone using their own IDE: if everyone uses the same IDE, you can pool knowledge and do internal first level support ("How do I foo the bar in baz?" "Sorry, mate, if you were using quz instead of baz, I'd be able to help you.") May not be an issue in the days of Google and StackExchange.
    – Stephan Kolassa
    Feb 7 '15 at 8:51






  • 1




    @StephanKolassa the point of everyone using their own IDE is that they're assumed to know it very well
    – Jivan
    Feb 7 '15 at 11:47










  • @StephanKolassa Personally I'd expect anyone who chooses to use a specific IDE to be capable of supporting themselves, otherwise if they had no particular preference they'd probably just use the most popular IDE among the rest of the team. Nonetheless I was only listing arguments in favour of allowing a choice, and there's also certainly a strong argument in favour of implementing a standard IDE - but overall I think there's more benefits to allowing a choice which is why I answered that way. It might be interesting for someone to write an answer which goes the other way though ;)
    – thexacre
    Feb 7 '15 at 12:50







  • 4




    Just make sure that none of the IDEs insists on reformatting the code. For example if one IDE replaces tabs with spaces and another replaces spaces with tabs, source code control becomes a nightmare.
    – gnasher729
    Feb 7 '15 at 17:54






  • 2




    @gnasher729 that's where something like editorconfig.org comes into play.
    – Mike Gossmann
    Feb 8 '15 at 17:22

















up vote
6
down vote













Focus your attention on the quality of the code and let your developers decide how they will achieve it. They'll feel more empowered and responsible for their productivity. If for whatever reason, an IDE choice creates problems with the code, you may have to put restrictions in place.



It's bad enough when you have to implement/defend corporate-wide limitations (annual review) on your team members, so don't go out of your way to create more. Good craftsman make good tool choices. Coding is not an assembly line process.



Again, only fix problems when they become problems.






share|improve this answer



























    up vote
    2
    down vote













    Per request the other side of the argument from @thexacre's answer.



    IDEs strengths and weaknesses



    So you go with multiple IDEs as no IDE is perfect and you devs each are more effective in their choice IDE. You now have people developing in PHP Storm, Notepad ++, Joes PHP IDE. As mentioned each of these applications have their strengths and weaknesses, and in some cases will create a nice synergy where when one IDE falls short, the other one picks up the slack...



    Unfortunately that's a bit optimistic just as often as one IDE's strength will overcome another's weakness an IDE will introduce a weakness that wouldn't otherwise be there. For example PHP storm when your write a database call it uses a really efficient method of doing so by default, but Joe's PHP IDE really lacks in this area... If something is written in Joe's PHP IDE opening it in PHP Storm won't rewrite it. This means by using Joe's PHP IDE your application now has it's weaknesses in addition to PHP Storms!



    Code standard woes



    In even the most rigidly structured languages code standards become hot issues where certain things just never mesh. Now you move to code that's open source where these standards become far more lax. Luckily IDEs often help us adhere to some level of standard if for no other reason than the IDE defaults to it.



    Now enter multiple IDES... Let's say PHP Storm organizes your code in a certain manner. As long as you stay true to this structure and/or use only PHP Storm navigating your code is easy! new we introduce multiple IDEs... Each has their own nuances on how they like to structure things. How are my conditions formatted? perhaps PHP Storm likes to put backend code into one place, while Joe's PHP IDE likes to put them in another.



    Very quickly this can turn clean elegant code into the stuff nightmares are made of. Where every time you go to look for something you need either already know where it is, or you have to start going step by step to figure out where on earth it lives. Or you have 3 places to check for one thing... IE it's TERRIBLE!!! You can enforce this by being mindful, but expect to start that battle over every time you hire someone new on.



    Formatting woes



    Tabs or spaces? (is but the beginning) Every IDE has it's own preferences on how code should be formatted. Some of these minor differences are extremely mild, others will bring about near holy war dispute among peers. In some cases the IDE won't even give you a choice it'll just reformat everything based on how it believes is correct.



    Having the gap on an indent vary between 3 and 4 spaces is only the beginning. These things can change how you structure your code, when new lines start, whether you use single quotes or double quotes, etc. This stuff won't break code, but could break moral is developers are continuously faced with code formatting that changes hourly.



    Source Control and Build Servers



    In many cases most modern IDEs will play nice with any big name source control and build server solution. Though some will require plugins, addons, extensions, whatever...



    However, if you are NOT using big name tools you might be treading into dangerous waters. PHP Storm might not support the solution you've chosen, or perhaps not well... But maybe that solution is excellent on Joe's PHP IDE... Do you now change tools to something that's not as suited for your needs to make sure both IDEs support it?



    Terminology



    There are certain things terminology wise that are pretty universal in code. What is a method, class, etc. There are other things terminology varies. While most of the terminology should be the same confusion might come to pass where in one IDE a word refers to something that means something totally different in another IDE.



    For example in one IDE "Addon" refers to additional functionality to allow use of third party tools, while in another IDE it's simply extending the functionality already in the IDE itself. (Like accessing a build server vs turning on unit testing)



    Admittedly this isn't a huge issue, but it's something else to consider.



    Summary



    There are valid arguments on both sides. Ultimately you're choosing between the effectiveness of the individual vs the team. If everyone is 20% more effective using the IDE of your choice at the cost of only 10% effectiveness of the team using their own IDEs is a win! on the other hand if each individual is only 10% more effective at a 20% cost to the team then choosing one IDE is likely better.



    And where your company falls depends on the culture, the work, the individuals, etc. It's something any metric you pull will be somewhat subjective or flawed, but you might be able to get a reasonably guess.



    My gut feeling would be if there is a lot of pair programming or multiple people working on the same part of the application you're probably better off with just one IDE. If for the most part the devs work on separate things and mostly just come together at the end to merge or reference code allowing the devs to use their own IDEs might be better.






    share|improve this answer





























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes








      up vote
      23
      down vote



      accepted










      In my experience allowing individuals to choose their tools usually leads to better outcomes.



      There are several reasons for this:



      • People will use what they feel is most productive. Some prefer full blown IDEs, some prefer lightweight editors, some prefer polyglot IDEs, some prefer specialised IDEs.

      • Diversity is good. If one IDE supports a great feature that significantly streamlines a process you do frequently then how will you find out about that unless someone tries it?

      • Programmers tend to prefer being told what to do, not how to do it. Being allowed to control these aspects of their job will most likely improve job satisfaction.

      • Tightly coupling your code-base to your IDE is generally a bad thing as it essentially becomes an extra tightly coupled dependency to maintain. IDEs are also not immune to bugs, being discontinued or being superseded by superior products.

      However, to make this work:



      • Your build/deployment process/tools should be independent of your IDE. Therefore you should be able to build your code-base with any IDE or without one at all. Leverage tools like Gradle, make or phing rather than inbuilt IDE tools (most IDEs integrate with these external tools any way, but if not developers can use command line instead).

      • You should ensure that you have consistent and portable standards for things which are usually delegated to the IDE, such as code formatting. Most IDEs have some form of portable configuration file for code formatting, so ideally you would make consistent code formatting configuration files available for several common IDEs.

      • Barriers to adopting a preferred IDE should be minimised, for example by creating a process/policy where developers can request licenses to be purchased on request (assuming the software has been trialled, etc. first)





      share|improve this answer


















      • 7




        +1. Just one disadvantage of everyone using their own IDE: if everyone uses the same IDE, you can pool knowledge and do internal first level support ("How do I foo the bar in baz?" "Sorry, mate, if you were using quz instead of baz, I'd be able to help you.") May not be an issue in the days of Google and StackExchange.
        – Stephan Kolassa
        Feb 7 '15 at 8:51






      • 1




        @StephanKolassa the point of everyone using their own IDE is that they're assumed to know it very well
        – Jivan
        Feb 7 '15 at 11:47










      • @StephanKolassa Personally I'd expect anyone who chooses to use a specific IDE to be capable of supporting themselves, otherwise if they had no particular preference they'd probably just use the most popular IDE among the rest of the team. Nonetheless I was only listing arguments in favour of allowing a choice, and there's also certainly a strong argument in favour of implementing a standard IDE - but overall I think there's more benefits to allowing a choice which is why I answered that way. It might be interesting for someone to write an answer which goes the other way though ;)
        – thexacre
        Feb 7 '15 at 12:50







      • 4




        Just make sure that none of the IDEs insists on reformatting the code. For example if one IDE replaces tabs with spaces and another replaces spaces with tabs, source code control becomes a nightmare.
        – gnasher729
        Feb 7 '15 at 17:54






      • 2




        @gnasher729 that's where something like editorconfig.org comes into play.
        – Mike Gossmann
        Feb 8 '15 at 17:22














      up vote
      23
      down vote



      accepted










      In my experience allowing individuals to choose their tools usually leads to better outcomes.



      There are several reasons for this:



      • People will use what they feel is most productive. Some prefer full blown IDEs, some prefer lightweight editors, some prefer polyglot IDEs, some prefer specialised IDEs.

      • Diversity is good. If one IDE supports a great feature that significantly streamlines a process you do frequently then how will you find out about that unless someone tries it?

      • Programmers tend to prefer being told what to do, not how to do it. Being allowed to control these aspects of their job will most likely improve job satisfaction.

      • Tightly coupling your code-base to your IDE is generally a bad thing as it essentially becomes an extra tightly coupled dependency to maintain. IDEs are also not immune to bugs, being discontinued or being superseded by superior products.

      However, to make this work:



      • Your build/deployment process/tools should be independent of your IDE. Therefore you should be able to build your code-base with any IDE or without one at all. Leverage tools like Gradle, make or phing rather than inbuilt IDE tools (most IDEs integrate with these external tools any way, but if not developers can use command line instead).

      • You should ensure that you have consistent and portable standards for things which are usually delegated to the IDE, such as code formatting. Most IDEs have some form of portable configuration file for code formatting, so ideally you would make consistent code formatting configuration files available for several common IDEs.

      • Barriers to adopting a preferred IDE should be minimised, for example by creating a process/policy where developers can request licenses to be purchased on request (assuming the software has been trialled, etc. first)





      share|improve this answer


















      • 7




        +1. Just one disadvantage of everyone using their own IDE: if everyone uses the same IDE, you can pool knowledge and do internal first level support ("How do I foo the bar in baz?" "Sorry, mate, if you were using quz instead of baz, I'd be able to help you.") May not be an issue in the days of Google and StackExchange.
        – Stephan Kolassa
        Feb 7 '15 at 8:51






      • 1




        @StephanKolassa the point of everyone using their own IDE is that they're assumed to know it very well
        – Jivan
        Feb 7 '15 at 11:47










      • @StephanKolassa Personally I'd expect anyone who chooses to use a specific IDE to be capable of supporting themselves, otherwise if they had no particular preference they'd probably just use the most popular IDE among the rest of the team. Nonetheless I was only listing arguments in favour of allowing a choice, and there's also certainly a strong argument in favour of implementing a standard IDE - but overall I think there's more benefits to allowing a choice which is why I answered that way. It might be interesting for someone to write an answer which goes the other way though ;)
        – thexacre
        Feb 7 '15 at 12:50







      • 4




        Just make sure that none of the IDEs insists on reformatting the code. For example if one IDE replaces tabs with spaces and another replaces spaces with tabs, source code control becomes a nightmare.
        – gnasher729
        Feb 7 '15 at 17:54






      • 2




        @gnasher729 that's where something like editorconfig.org comes into play.
        – Mike Gossmann
        Feb 8 '15 at 17:22












      up vote
      23
      down vote



      accepted







      up vote
      23
      down vote



      accepted






      In my experience allowing individuals to choose their tools usually leads to better outcomes.



      There are several reasons for this:



      • People will use what they feel is most productive. Some prefer full blown IDEs, some prefer lightweight editors, some prefer polyglot IDEs, some prefer specialised IDEs.

      • Diversity is good. If one IDE supports a great feature that significantly streamlines a process you do frequently then how will you find out about that unless someone tries it?

      • Programmers tend to prefer being told what to do, not how to do it. Being allowed to control these aspects of their job will most likely improve job satisfaction.

      • Tightly coupling your code-base to your IDE is generally a bad thing as it essentially becomes an extra tightly coupled dependency to maintain. IDEs are also not immune to bugs, being discontinued or being superseded by superior products.

      However, to make this work:



      • Your build/deployment process/tools should be independent of your IDE. Therefore you should be able to build your code-base with any IDE or without one at all. Leverage tools like Gradle, make or phing rather than inbuilt IDE tools (most IDEs integrate with these external tools any way, but if not developers can use command line instead).

      • You should ensure that you have consistent and portable standards for things which are usually delegated to the IDE, such as code formatting. Most IDEs have some form of portable configuration file for code formatting, so ideally you would make consistent code formatting configuration files available for several common IDEs.

      • Barriers to adopting a preferred IDE should be minimised, for example by creating a process/policy where developers can request licenses to be purchased on request (assuming the software has been trialled, etc. first)





      share|improve this answer














      In my experience allowing individuals to choose their tools usually leads to better outcomes.



      There are several reasons for this:



      • People will use what they feel is most productive. Some prefer full blown IDEs, some prefer lightweight editors, some prefer polyglot IDEs, some prefer specialised IDEs.

      • Diversity is good. If one IDE supports a great feature that significantly streamlines a process you do frequently then how will you find out about that unless someone tries it?

      • Programmers tend to prefer being told what to do, not how to do it. Being allowed to control these aspects of their job will most likely improve job satisfaction.

      • Tightly coupling your code-base to your IDE is generally a bad thing as it essentially becomes an extra tightly coupled dependency to maintain. IDEs are also not immune to bugs, being discontinued or being superseded by superior products.

      However, to make this work:



      • Your build/deployment process/tools should be independent of your IDE. Therefore you should be able to build your code-base with any IDE or without one at all. Leverage tools like Gradle, make or phing rather than inbuilt IDE tools (most IDEs integrate with these external tools any way, but if not developers can use command line instead).

      • You should ensure that you have consistent and portable standards for things which are usually delegated to the IDE, such as code formatting. Most IDEs have some form of portable configuration file for code formatting, so ideally you would make consistent code formatting configuration files available for several common IDEs.

      • Barriers to adopting a preferred IDE should be minimised, for example by creating a process/policy where developers can request licenses to be purchased on request (assuming the software has been trialled, etc. first)






      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Feb 7 '15 at 8:48









      Stephan Kolassa

      8,35532850




      8,35532850










      answered Feb 7 '15 at 6:03









      thexacre

      34326




      34326







      • 7




        +1. Just one disadvantage of everyone using their own IDE: if everyone uses the same IDE, you can pool knowledge and do internal first level support ("How do I foo the bar in baz?" "Sorry, mate, if you were using quz instead of baz, I'd be able to help you.") May not be an issue in the days of Google and StackExchange.
        – Stephan Kolassa
        Feb 7 '15 at 8:51






      • 1




        @StephanKolassa the point of everyone using their own IDE is that they're assumed to know it very well
        – Jivan
        Feb 7 '15 at 11:47










      • @StephanKolassa Personally I'd expect anyone who chooses to use a specific IDE to be capable of supporting themselves, otherwise if they had no particular preference they'd probably just use the most popular IDE among the rest of the team. Nonetheless I was only listing arguments in favour of allowing a choice, and there's also certainly a strong argument in favour of implementing a standard IDE - but overall I think there's more benefits to allowing a choice which is why I answered that way. It might be interesting for someone to write an answer which goes the other way though ;)
        – thexacre
        Feb 7 '15 at 12:50







      • 4




        Just make sure that none of the IDEs insists on reformatting the code. For example if one IDE replaces tabs with spaces and another replaces spaces with tabs, source code control becomes a nightmare.
        – gnasher729
        Feb 7 '15 at 17:54






      • 2




        @gnasher729 that's where something like editorconfig.org comes into play.
        – Mike Gossmann
        Feb 8 '15 at 17:22












      • 7




        +1. Just one disadvantage of everyone using their own IDE: if everyone uses the same IDE, you can pool knowledge and do internal first level support ("How do I foo the bar in baz?" "Sorry, mate, if you were using quz instead of baz, I'd be able to help you.") May not be an issue in the days of Google and StackExchange.
        – Stephan Kolassa
        Feb 7 '15 at 8:51






      • 1




        @StephanKolassa the point of everyone using their own IDE is that they're assumed to know it very well
        – Jivan
        Feb 7 '15 at 11:47










      • @StephanKolassa Personally I'd expect anyone who chooses to use a specific IDE to be capable of supporting themselves, otherwise if they had no particular preference they'd probably just use the most popular IDE among the rest of the team. Nonetheless I was only listing arguments in favour of allowing a choice, and there's also certainly a strong argument in favour of implementing a standard IDE - but overall I think there's more benefits to allowing a choice which is why I answered that way. It might be interesting for someone to write an answer which goes the other way though ;)
        – thexacre
        Feb 7 '15 at 12:50







      • 4




        Just make sure that none of the IDEs insists on reformatting the code. For example if one IDE replaces tabs with spaces and another replaces spaces with tabs, source code control becomes a nightmare.
        – gnasher729
        Feb 7 '15 at 17:54






      • 2




        @gnasher729 that's where something like editorconfig.org comes into play.
        – Mike Gossmann
        Feb 8 '15 at 17:22







      7




      7




      +1. Just one disadvantage of everyone using their own IDE: if everyone uses the same IDE, you can pool knowledge and do internal first level support ("How do I foo the bar in baz?" "Sorry, mate, if you were using quz instead of baz, I'd be able to help you.") May not be an issue in the days of Google and StackExchange.
      – Stephan Kolassa
      Feb 7 '15 at 8:51




      +1. Just one disadvantage of everyone using their own IDE: if everyone uses the same IDE, you can pool knowledge and do internal first level support ("How do I foo the bar in baz?" "Sorry, mate, if you were using quz instead of baz, I'd be able to help you.") May not be an issue in the days of Google and StackExchange.
      – Stephan Kolassa
      Feb 7 '15 at 8:51




      1




      1




      @StephanKolassa the point of everyone using their own IDE is that they're assumed to know it very well
      – Jivan
      Feb 7 '15 at 11:47




      @StephanKolassa the point of everyone using their own IDE is that they're assumed to know it very well
      – Jivan
      Feb 7 '15 at 11:47












      @StephanKolassa Personally I'd expect anyone who chooses to use a specific IDE to be capable of supporting themselves, otherwise if they had no particular preference they'd probably just use the most popular IDE among the rest of the team. Nonetheless I was only listing arguments in favour of allowing a choice, and there's also certainly a strong argument in favour of implementing a standard IDE - but overall I think there's more benefits to allowing a choice which is why I answered that way. It might be interesting for someone to write an answer which goes the other way though ;)
      – thexacre
      Feb 7 '15 at 12:50





      @StephanKolassa Personally I'd expect anyone who chooses to use a specific IDE to be capable of supporting themselves, otherwise if they had no particular preference they'd probably just use the most popular IDE among the rest of the team. Nonetheless I was only listing arguments in favour of allowing a choice, and there's also certainly a strong argument in favour of implementing a standard IDE - but overall I think there's more benefits to allowing a choice which is why I answered that way. It might be interesting for someone to write an answer which goes the other way though ;)
      – thexacre
      Feb 7 '15 at 12:50





      4




      4




      Just make sure that none of the IDEs insists on reformatting the code. For example if one IDE replaces tabs with spaces and another replaces spaces with tabs, source code control becomes a nightmare.
      – gnasher729
      Feb 7 '15 at 17:54




      Just make sure that none of the IDEs insists on reformatting the code. For example if one IDE replaces tabs with spaces and another replaces spaces with tabs, source code control becomes a nightmare.
      – gnasher729
      Feb 7 '15 at 17:54




      2




      2




      @gnasher729 that's where something like editorconfig.org comes into play.
      – Mike Gossmann
      Feb 8 '15 at 17:22




      @gnasher729 that's where something like editorconfig.org comes into play.
      – Mike Gossmann
      Feb 8 '15 at 17:22












      up vote
      6
      down vote













      Focus your attention on the quality of the code and let your developers decide how they will achieve it. They'll feel more empowered and responsible for their productivity. If for whatever reason, an IDE choice creates problems with the code, you may have to put restrictions in place.



      It's bad enough when you have to implement/defend corporate-wide limitations (annual review) on your team members, so don't go out of your way to create more. Good craftsman make good tool choices. Coding is not an assembly line process.



      Again, only fix problems when they become problems.






      share|improve this answer
























        up vote
        6
        down vote













        Focus your attention on the quality of the code and let your developers decide how they will achieve it. They'll feel more empowered and responsible for their productivity. If for whatever reason, an IDE choice creates problems with the code, you may have to put restrictions in place.



        It's bad enough when you have to implement/defend corporate-wide limitations (annual review) on your team members, so don't go out of your way to create more. Good craftsman make good tool choices. Coding is not an assembly line process.



        Again, only fix problems when they become problems.






        share|improve this answer






















          up vote
          6
          down vote










          up vote
          6
          down vote









          Focus your attention on the quality of the code and let your developers decide how they will achieve it. They'll feel more empowered and responsible for their productivity. If for whatever reason, an IDE choice creates problems with the code, you may have to put restrictions in place.



          It's bad enough when you have to implement/defend corporate-wide limitations (annual review) on your team members, so don't go out of your way to create more. Good craftsman make good tool choices. Coding is not an assembly line process.



          Again, only fix problems when they become problems.






          share|improve this answer












          Focus your attention on the quality of the code and let your developers decide how they will achieve it. They'll feel more empowered and responsible for their productivity. If for whatever reason, an IDE choice creates problems with the code, you may have to put restrictions in place.



          It's bad enough when you have to implement/defend corporate-wide limitations (annual review) on your team members, so don't go out of your way to create more. Good craftsman make good tool choices. Coding is not an assembly line process.



          Again, only fix problems when they become problems.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Feb 9 '15 at 19:54







          user8365



























              up vote
              2
              down vote













              Per request the other side of the argument from @thexacre's answer.



              IDEs strengths and weaknesses



              So you go with multiple IDEs as no IDE is perfect and you devs each are more effective in their choice IDE. You now have people developing in PHP Storm, Notepad ++, Joes PHP IDE. As mentioned each of these applications have their strengths and weaknesses, and in some cases will create a nice synergy where when one IDE falls short, the other one picks up the slack...



              Unfortunately that's a bit optimistic just as often as one IDE's strength will overcome another's weakness an IDE will introduce a weakness that wouldn't otherwise be there. For example PHP storm when your write a database call it uses a really efficient method of doing so by default, but Joe's PHP IDE really lacks in this area... If something is written in Joe's PHP IDE opening it in PHP Storm won't rewrite it. This means by using Joe's PHP IDE your application now has it's weaknesses in addition to PHP Storms!



              Code standard woes



              In even the most rigidly structured languages code standards become hot issues where certain things just never mesh. Now you move to code that's open source where these standards become far more lax. Luckily IDEs often help us adhere to some level of standard if for no other reason than the IDE defaults to it.



              Now enter multiple IDES... Let's say PHP Storm organizes your code in a certain manner. As long as you stay true to this structure and/or use only PHP Storm navigating your code is easy! new we introduce multiple IDEs... Each has their own nuances on how they like to structure things. How are my conditions formatted? perhaps PHP Storm likes to put backend code into one place, while Joe's PHP IDE likes to put them in another.



              Very quickly this can turn clean elegant code into the stuff nightmares are made of. Where every time you go to look for something you need either already know where it is, or you have to start going step by step to figure out where on earth it lives. Or you have 3 places to check for one thing... IE it's TERRIBLE!!! You can enforce this by being mindful, but expect to start that battle over every time you hire someone new on.



              Formatting woes



              Tabs or spaces? (is but the beginning) Every IDE has it's own preferences on how code should be formatted. Some of these minor differences are extremely mild, others will bring about near holy war dispute among peers. In some cases the IDE won't even give you a choice it'll just reformat everything based on how it believes is correct.



              Having the gap on an indent vary between 3 and 4 spaces is only the beginning. These things can change how you structure your code, when new lines start, whether you use single quotes or double quotes, etc. This stuff won't break code, but could break moral is developers are continuously faced with code formatting that changes hourly.



              Source Control and Build Servers



              In many cases most modern IDEs will play nice with any big name source control and build server solution. Though some will require plugins, addons, extensions, whatever...



              However, if you are NOT using big name tools you might be treading into dangerous waters. PHP Storm might not support the solution you've chosen, or perhaps not well... But maybe that solution is excellent on Joe's PHP IDE... Do you now change tools to something that's not as suited for your needs to make sure both IDEs support it?



              Terminology



              There are certain things terminology wise that are pretty universal in code. What is a method, class, etc. There are other things terminology varies. While most of the terminology should be the same confusion might come to pass where in one IDE a word refers to something that means something totally different in another IDE.



              For example in one IDE "Addon" refers to additional functionality to allow use of third party tools, while in another IDE it's simply extending the functionality already in the IDE itself. (Like accessing a build server vs turning on unit testing)



              Admittedly this isn't a huge issue, but it's something else to consider.



              Summary



              There are valid arguments on both sides. Ultimately you're choosing between the effectiveness of the individual vs the team. If everyone is 20% more effective using the IDE of your choice at the cost of only 10% effectiveness of the team using their own IDEs is a win! on the other hand if each individual is only 10% more effective at a 20% cost to the team then choosing one IDE is likely better.



              And where your company falls depends on the culture, the work, the individuals, etc. It's something any metric you pull will be somewhat subjective or flawed, but you might be able to get a reasonably guess.



              My gut feeling would be if there is a lot of pair programming or multiple people working on the same part of the application you're probably better off with just one IDE. If for the most part the devs work on separate things and mostly just come together at the end to merge or reference code allowing the devs to use their own IDEs might be better.






              share|improve this answer


























                up vote
                2
                down vote













                Per request the other side of the argument from @thexacre's answer.



                IDEs strengths and weaknesses



                So you go with multiple IDEs as no IDE is perfect and you devs each are more effective in their choice IDE. You now have people developing in PHP Storm, Notepad ++, Joes PHP IDE. As mentioned each of these applications have their strengths and weaknesses, and in some cases will create a nice synergy where when one IDE falls short, the other one picks up the slack...



                Unfortunately that's a bit optimistic just as often as one IDE's strength will overcome another's weakness an IDE will introduce a weakness that wouldn't otherwise be there. For example PHP storm when your write a database call it uses a really efficient method of doing so by default, but Joe's PHP IDE really lacks in this area... If something is written in Joe's PHP IDE opening it in PHP Storm won't rewrite it. This means by using Joe's PHP IDE your application now has it's weaknesses in addition to PHP Storms!



                Code standard woes



                In even the most rigidly structured languages code standards become hot issues where certain things just never mesh. Now you move to code that's open source where these standards become far more lax. Luckily IDEs often help us adhere to some level of standard if for no other reason than the IDE defaults to it.



                Now enter multiple IDES... Let's say PHP Storm organizes your code in a certain manner. As long as you stay true to this structure and/or use only PHP Storm navigating your code is easy! new we introduce multiple IDEs... Each has their own nuances on how they like to structure things. How are my conditions formatted? perhaps PHP Storm likes to put backend code into one place, while Joe's PHP IDE likes to put them in another.



                Very quickly this can turn clean elegant code into the stuff nightmares are made of. Where every time you go to look for something you need either already know where it is, or you have to start going step by step to figure out where on earth it lives. Or you have 3 places to check for one thing... IE it's TERRIBLE!!! You can enforce this by being mindful, but expect to start that battle over every time you hire someone new on.



                Formatting woes



                Tabs or spaces? (is but the beginning) Every IDE has it's own preferences on how code should be formatted. Some of these minor differences are extremely mild, others will bring about near holy war dispute among peers. In some cases the IDE won't even give you a choice it'll just reformat everything based on how it believes is correct.



                Having the gap on an indent vary between 3 and 4 spaces is only the beginning. These things can change how you structure your code, when new lines start, whether you use single quotes or double quotes, etc. This stuff won't break code, but could break moral is developers are continuously faced with code formatting that changes hourly.



                Source Control and Build Servers



                In many cases most modern IDEs will play nice with any big name source control and build server solution. Though some will require plugins, addons, extensions, whatever...



                However, if you are NOT using big name tools you might be treading into dangerous waters. PHP Storm might not support the solution you've chosen, or perhaps not well... But maybe that solution is excellent on Joe's PHP IDE... Do you now change tools to something that's not as suited for your needs to make sure both IDEs support it?



                Terminology



                There are certain things terminology wise that are pretty universal in code. What is a method, class, etc. There are other things terminology varies. While most of the terminology should be the same confusion might come to pass where in one IDE a word refers to something that means something totally different in another IDE.



                For example in one IDE "Addon" refers to additional functionality to allow use of third party tools, while in another IDE it's simply extending the functionality already in the IDE itself. (Like accessing a build server vs turning on unit testing)



                Admittedly this isn't a huge issue, but it's something else to consider.



                Summary



                There are valid arguments on both sides. Ultimately you're choosing between the effectiveness of the individual vs the team. If everyone is 20% more effective using the IDE of your choice at the cost of only 10% effectiveness of the team using their own IDEs is a win! on the other hand if each individual is only 10% more effective at a 20% cost to the team then choosing one IDE is likely better.



                And where your company falls depends on the culture, the work, the individuals, etc. It's something any metric you pull will be somewhat subjective or flawed, but you might be able to get a reasonably guess.



                My gut feeling would be if there is a lot of pair programming or multiple people working on the same part of the application you're probably better off with just one IDE. If for the most part the devs work on separate things and mostly just come together at the end to merge or reference code allowing the devs to use their own IDEs might be better.






                share|improve this answer
























                  up vote
                  2
                  down vote










                  up vote
                  2
                  down vote









                  Per request the other side of the argument from @thexacre's answer.



                  IDEs strengths and weaknesses



                  So you go with multiple IDEs as no IDE is perfect and you devs each are more effective in their choice IDE. You now have people developing in PHP Storm, Notepad ++, Joes PHP IDE. As mentioned each of these applications have their strengths and weaknesses, and in some cases will create a nice synergy where when one IDE falls short, the other one picks up the slack...



                  Unfortunately that's a bit optimistic just as often as one IDE's strength will overcome another's weakness an IDE will introduce a weakness that wouldn't otherwise be there. For example PHP storm when your write a database call it uses a really efficient method of doing so by default, but Joe's PHP IDE really lacks in this area... If something is written in Joe's PHP IDE opening it in PHP Storm won't rewrite it. This means by using Joe's PHP IDE your application now has it's weaknesses in addition to PHP Storms!



                  Code standard woes



                  In even the most rigidly structured languages code standards become hot issues where certain things just never mesh. Now you move to code that's open source where these standards become far more lax. Luckily IDEs often help us adhere to some level of standard if for no other reason than the IDE defaults to it.



                  Now enter multiple IDES... Let's say PHP Storm organizes your code in a certain manner. As long as you stay true to this structure and/or use only PHP Storm navigating your code is easy! new we introduce multiple IDEs... Each has their own nuances on how they like to structure things. How are my conditions formatted? perhaps PHP Storm likes to put backend code into one place, while Joe's PHP IDE likes to put them in another.



                  Very quickly this can turn clean elegant code into the stuff nightmares are made of. Where every time you go to look for something you need either already know where it is, or you have to start going step by step to figure out where on earth it lives. Or you have 3 places to check for one thing... IE it's TERRIBLE!!! You can enforce this by being mindful, but expect to start that battle over every time you hire someone new on.



                  Formatting woes



                  Tabs or spaces? (is but the beginning) Every IDE has it's own preferences on how code should be formatted. Some of these minor differences are extremely mild, others will bring about near holy war dispute among peers. In some cases the IDE won't even give you a choice it'll just reformat everything based on how it believes is correct.



                  Having the gap on an indent vary between 3 and 4 spaces is only the beginning. These things can change how you structure your code, when new lines start, whether you use single quotes or double quotes, etc. This stuff won't break code, but could break moral is developers are continuously faced with code formatting that changes hourly.



                  Source Control and Build Servers



                  In many cases most modern IDEs will play nice with any big name source control and build server solution. Though some will require plugins, addons, extensions, whatever...



                  However, if you are NOT using big name tools you might be treading into dangerous waters. PHP Storm might not support the solution you've chosen, or perhaps not well... But maybe that solution is excellent on Joe's PHP IDE... Do you now change tools to something that's not as suited for your needs to make sure both IDEs support it?



                  Terminology



                  There are certain things terminology wise that are pretty universal in code. What is a method, class, etc. There are other things terminology varies. While most of the terminology should be the same confusion might come to pass where in one IDE a word refers to something that means something totally different in another IDE.



                  For example in one IDE "Addon" refers to additional functionality to allow use of third party tools, while in another IDE it's simply extending the functionality already in the IDE itself. (Like accessing a build server vs turning on unit testing)



                  Admittedly this isn't a huge issue, but it's something else to consider.



                  Summary



                  There are valid arguments on both sides. Ultimately you're choosing between the effectiveness of the individual vs the team. If everyone is 20% more effective using the IDE of your choice at the cost of only 10% effectiveness of the team using their own IDEs is a win! on the other hand if each individual is only 10% more effective at a 20% cost to the team then choosing one IDE is likely better.



                  And where your company falls depends on the culture, the work, the individuals, etc. It's something any metric you pull will be somewhat subjective or flawed, but you might be able to get a reasonably guess.



                  My gut feeling would be if there is a lot of pair programming or multiple people working on the same part of the application you're probably better off with just one IDE. If for the most part the devs work on separate things and mostly just come together at the end to merge or reference code allowing the devs to use their own IDEs might be better.






                  share|improve this answer














                  Per request the other side of the argument from @thexacre's answer.



                  IDEs strengths and weaknesses



                  So you go with multiple IDEs as no IDE is perfect and you devs each are more effective in their choice IDE. You now have people developing in PHP Storm, Notepad ++, Joes PHP IDE. As mentioned each of these applications have their strengths and weaknesses, and in some cases will create a nice synergy where when one IDE falls short, the other one picks up the slack...



                  Unfortunately that's a bit optimistic just as often as one IDE's strength will overcome another's weakness an IDE will introduce a weakness that wouldn't otherwise be there. For example PHP storm when your write a database call it uses a really efficient method of doing so by default, but Joe's PHP IDE really lacks in this area... If something is written in Joe's PHP IDE opening it in PHP Storm won't rewrite it. This means by using Joe's PHP IDE your application now has it's weaknesses in addition to PHP Storms!



                  Code standard woes



                  In even the most rigidly structured languages code standards become hot issues where certain things just never mesh. Now you move to code that's open source where these standards become far more lax. Luckily IDEs often help us adhere to some level of standard if for no other reason than the IDE defaults to it.



                  Now enter multiple IDES... Let's say PHP Storm organizes your code in a certain manner. As long as you stay true to this structure and/or use only PHP Storm navigating your code is easy! new we introduce multiple IDEs... Each has their own nuances on how they like to structure things. How are my conditions formatted? perhaps PHP Storm likes to put backend code into one place, while Joe's PHP IDE likes to put them in another.



                  Very quickly this can turn clean elegant code into the stuff nightmares are made of. Where every time you go to look for something you need either already know where it is, or you have to start going step by step to figure out where on earth it lives. Or you have 3 places to check for one thing... IE it's TERRIBLE!!! You can enforce this by being mindful, but expect to start that battle over every time you hire someone new on.



                  Formatting woes



                  Tabs or spaces? (is but the beginning) Every IDE has it's own preferences on how code should be formatted. Some of these minor differences are extremely mild, others will bring about near holy war dispute among peers. In some cases the IDE won't even give you a choice it'll just reformat everything based on how it believes is correct.



                  Having the gap on an indent vary between 3 and 4 spaces is only the beginning. These things can change how you structure your code, when new lines start, whether you use single quotes or double quotes, etc. This stuff won't break code, but could break moral is developers are continuously faced with code formatting that changes hourly.



                  Source Control and Build Servers



                  In many cases most modern IDEs will play nice with any big name source control and build server solution. Though some will require plugins, addons, extensions, whatever...



                  However, if you are NOT using big name tools you might be treading into dangerous waters. PHP Storm might not support the solution you've chosen, or perhaps not well... But maybe that solution is excellent on Joe's PHP IDE... Do you now change tools to something that's not as suited for your needs to make sure both IDEs support it?



                  Terminology



                  There are certain things terminology wise that are pretty universal in code. What is a method, class, etc. There are other things terminology varies. While most of the terminology should be the same confusion might come to pass where in one IDE a word refers to something that means something totally different in another IDE.



                  For example in one IDE "Addon" refers to additional functionality to allow use of third party tools, while in another IDE it's simply extending the functionality already in the IDE itself. (Like accessing a build server vs turning on unit testing)



                  Admittedly this isn't a huge issue, but it's something else to consider.



                  Summary



                  There are valid arguments on both sides. Ultimately you're choosing between the effectiveness of the individual vs the team. If everyone is 20% more effective using the IDE of your choice at the cost of only 10% effectiveness of the team using their own IDEs is a win! on the other hand if each individual is only 10% more effective at a 20% cost to the team then choosing one IDE is likely better.



                  And where your company falls depends on the culture, the work, the individuals, etc. It's something any metric you pull will be somewhat subjective or flawed, but you might be able to get a reasonably guess.



                  My gut feeling would be if there is a lot of pair programming or multiple people working on the same part of the application you're probably better off with just one IDE. If for the most part the devs work on separate things and mostly just come together at the end to merge or reference code allowing the devs to use their own IDEs might be better.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Feb 10 '15 at 18:02

























                  answered Feb 9 '15 at 22:37









                  RualStorge

                  9,5372231




                  9,5372231












                      Comments

                      Popular posts from this blog

                      Long meetings (6-7 hours a day): Being “babysat” by supervisor

                      Is the Concept of Multiple Fantasy Races Scientifically Flawed? [closed]

                      Confectionery