Я использую продукты JetBrains с момента парного программирования в Pivotal Labs в 2012 году. Я настолько привязан к их IDE, что у меня есть собственная личная лицензия, которая в настоящее время стоит мне 149 долларов в год, которые я плачу из собственного кармана. Это пожиратель памяти — особенно когда у меня открыто несколько проектов, а также одновременно запущены IntelliJ и Goland — но я к этому привык, и у него много функций, которые мне нравятся. Как вы, наверное, знаете, профессиональные повара приносят на работу собственные ножи. Почему профессиональные программисты не должны владеть собственной средой разработки? Вот несколько ответов на вопросы, которые могут у вас возникнуть по этому поводу:

Могу ли я использовать свою личную лицензию для коммерческой разработки? Да, вы просто не можете поделиться этим.

Может ли моя компания возместить мне эти расходы? Нет, это фактически нарушает условия лицензии.

Что я должен делать с моей IDE? Могу я просто использовать нано?

  • Вы должны иметь возможность переходить к местам, на которые ссылается символ (назначается или читается), щелкая мышью или комбинацией клавиш.
  • Вы должны иметь возможность поиска по символам, просто введя первые несколько символов символа.
  • Вы должны иметь возможность нечеткого поиска файлов по имени. Вам не нужно помнить, в каком каталоге находится файл.
  • Вы должны иметь возможность автозаполнения символов при вводе.
  • Вы должны иметь возможность переименовывать вещи (функции, параметры, переменные, классы) без нарушения компиляции.
  • Вы должны иметь возможность перемещаться вперед и назад по изменениям, которые вы внесли в файл.
  • Вы должны иметь возможность перейти к месту, которое вы редактировали в последний раз.
  • Вы должны иметь возможность писать код, совместимый с lint, не обнаруживая этого в своем хуке git pre-commit.
  • Вы должны иметь возможность видеть вину git и историю git в редакторе.
  • Я лично не использую функции, которые помогают мне узнать, к какому классу я отношусь, или ориентироваться в иерархии классов, но я также могу придумать для них применение.

IDE JetBrains — не единственные инструменты, которые могут делать это; VSCode и Atom, вероятно, могут делать все это, а также, предположительно, некоторые варианты vim и emacs. К счастью, довольно легко устроиться на работу профессиональным программистом, даже если ваша IDE не может делать все вышеперечисленное, но представьте, что вы пытаетесь удержаться на работе шеф-поваром, если у вас тупые ножи: забудьте об этом! Я также читал об этом парне, который, очевидно, делает свои собственные ножи, когда его нет на кухне. Я не буду писать свою собственную IDE в ближайшее время, но я признаю, что у меня есть соблазн потратить 3 тысячи долларов на MacBook Pro с 32 ГБ, чтобы я мог лучше запускать несколько IDE одновременно.

Разве моя компания не должна купить это для меня?

Когда я опубликовал это в нашем внутреннем блоге LaunchDarkly, мои коллеги предположили, что, возможно, компании следует просто покупать всех, кто просит лицензию. Я согласен с тем, что компания должна быть готова тратить деньги, чтобы помочь вам быть продуктивным, но я бы сказал, не позволяйте этому сдерживать вас, если они этого не сделают. Моя подписка на Jetbrains Toolbox будет стоить компании 649 долларов в год в течение первого года. Иногда я нахожу полезной возможность редактировать Java, C/C++ или PHP, но это не то, чем я занимаюсь каждый день, и оправдывать эту цену перед кем-то или иметь дело с передачей лицензий — это не то, чего я жду с нетерпением. Приятно быть свободным от необходимости оправдываться перед кем-либо, а за 150 долларов в год мне даже не нужно об этом думать.