Если вы разработчик и считаете, что ваши инструменты не так хороши, не видели много инноваций, не получали достаточно любви со стороны отрасли и немного похожи на старый сотовый телефон, то это то место для тебя. Если вы хотите знать, какое отношение это имеет к Air Jordans, читайте дальше.

Среды разработки для разработчиков - это то же самое, что смартфоны для всех.

Интегрированные среды разработки (IDE) - это инструменты, предназначенные для повышения эффективности, которые должны приносить удовольствие и, надеюсь, Круто. Они вам не нужны. Вы можете использовать любой текстовый редактор, сохранить файл и скомпилировать в командной строке или, в случае Salesforce, в консоли разработчика.

Интерфейс для разработчиков все еще находится в зачаточном состоянии. Несмотря на, например, Salesforce DX, тот факт, что он появится сейчас (так поздно!), Показывает, как мало внимания уделяется этой теме. Однако все, что вы делаете для своего программного продукта или клиентского проекта, должно проходить через администратора или разработчика и с помощью какого-то инструмента. Если вы не планируете этот процесс с расчетом на эффективность, у вас есть проблема, что бы вы ни делали хорошо.

Вы можете осознать, что у вас есть проблема, например, приходящие вам отчеты указывают на то, что ваши разработчики продвигаются на удивление медленно. Но если они умны, они приведут вам несколько веских причин. «Требования неясны» вверху списка, и часто это правда. «Среда не работает» раньше было обычным явлением, но теперь уже не с тех пор, как в облаке размещаются экземпляры. Говорят ли разработчики: «Мои инструменты нелепы» или - чтобы не оскорбить 90-е, я любил туфли на платформе - «Мои инструменты из 90-х»? Немного, но я думаю, они должны так сказать.

Итак, представьте, что вы приобрели Чикаго Буллз, а Майкл Джордан и Скотти Пиппен говорят вам: Мне нужна обувь. У меня есть деньги, но я хочу, чтобы вы заплатили за них . Вы отказываетесь, и они играют босиком, не очень хорошо. Вот как разумно не предоставлять разработчикам подходящие инструменты. Рассмотрим оплату НБА. Вы делаете все эти крупные инвестиции, но в конце, когда они становятся действительно дешевыми, вы говорите нет. Неважно, есть ли у вас точка (они могут покупать свои собственные вещи; вы им достаточно платите!). Они не платят, и их производительность падает.

Проблема в том, что вы не видите, что ваши разработчики работают в старой обуви или даже босиком. Они вам не говорят. Многие думают, что это нормально. Они делают это и дома, и они думают, что это круто; другие думают, что они что-то вроде цифровых гениев, потому что они владеют командами vi и командной строкой. Но все, что вы делаете в своем проекте, значительно зависит от ваших технических специалистов, которые не указывают на свои устаревшие инструменты.

Хотя технической разработки явно недостаточно для успешного проекта, все значительно страдает, если этот процесс не будет гладким. А консультанту легче пройти обучение мягким навыкам стоимостью 1000 евро - не считая часов, не оплаченных клиентами в течение этого времени -, чем оформить подписку. для, например, «Cloud9» или «Welkin suite». Это похоже на обучение Майкла Джордана PR или общение с товарищами по команде и болельщиками (неплохой момент), но позволяет ему играть босиком. Это неправильный приоритет.

Придерживайтесь спортивной метафоры: возьмите все эти шоу, где известные бывшие игроки и тренеры обсуждают тактику, драфты и тренировки до и после игры. По большей части это развлечение, многие из них находятся на грани осмысления. Но представьте, что Мэджик Джонсон наблюдает за одним из этих игроков, играющим босиком. Он что-нибудь об этом говорит? да. Мы в чем-то правы? да. Кто-нибудь из других говорит о стратегии клуба, драфте, тактике команды, тренерской работе? Нет; если кто-то играет босиком или, ради аргумента, с поломанной обувью, никакая тактическая болтовня не имеет значения. Замените эти тактические разговоры на обычные разговоры о процессе, связанные с управлением программой и руководящим комитетом («мы делаем Agile»); организационные диаграммы («мы собираемся поместить эту строку отчета в эту строку»); процесс оценки; и так далее. Иногда это имеет значение; но все это не имеет значения, если те, кому поручено выполнять техническую работу, не могут выполнять свою работу должным образом.

Забудьте об особенностях - все они делают одно и то же. Это опыт разработчика!

Итак, вот мой способ выбрать среду разработки прямо из поля. Что вы не получите: список функций или Gartner. Удивительно, что такие инструменты бесплатны. Но списки функций, по моему скромному мнению разработчика, не описывают, как мы решаем такие вещи. Подумайте, как вы покупаете свои Air Jordan. Что ж, это хорошая обувь, но нельзя отрицать, что бренд Jordan играет определенную роль. Вы хотите получить силу и прыгать, как Джордан, вы хотите чувствовать себя в безопасности. Вы собираетесь потопить трехочковый в самую последнюю минуту, сфолить за бонусный бросок, украсть и данк. Это то, что вы (хорошо, я говорю о себе, но, возможно, вы немного похожи на меня) хотите от IDE. Вы хотите почувствовать силу и безопасность, элегантность и легкость. Вот пример того, чего я не хочу. Что это значит?

Этот экран заставляет меня дрожать (но мне нравится Illuminated Cloud и я работаю с ним) всякий раз, когда я работаю над важным проектом в общей коробке разработчика. Потому что представьте, что я испортил тот экземпляр разработчика, где 10 разработчиков работали весь день и, скорее всего, нигде не проверили код.

Поэтому, когда я присматриваю за IDE, я мог бы сделать несколько циклов с консоль разработчика и задайтесь вопросом, круто ли использовать этот устаревший инструмент, так как использовать vi для разработки - это круто, или я многое упускаю. На меня могут оказать давление, и, может быть, я просто хочу, чтобы это было проще. Я, конечно, не хочу работать сверхурочно, и если инструмент мне помогает, я плачу, так сказать, за свои собственные часы. Проверяя новый инструмент, я колеблюсь где-то между величием («Я стану лучшим программистом на свете и, вероятно, могу выиграть какую-то награду, которую они изобретают для меня») и отчаянием («Представьте, что этот инструмент синхронизирует старые устаревшие метаданные с org, а не наоборот, и я испортил организацию разработчиков и меня уволили). Если инструмент может стабилизировать меня где-то посередине, я плачу.

С этой точки зрения, чтобы создать подходящую среду IDE, инвестируйте в опыт, который вы даете разработчику. Некоторые разработчики - если они, конечно, такие же, как я - могут чувствовать себя в отделении неотложной помощи. Дела могут быть беспорядочными, беспокойными, а иногда и пугающими. Потому что, если вы развернете этот неправильный код, ваш пациент пострадает.

Я хочу чувствовать себя контролирующим или даже крутым, если это возможно. Я хочу чувствовать себя лидером и ищу код и новые технологии, чтобы смело идти туда, куда раньше не заходил ни один человек. Вот и все; вот как это работает для меня. Как люди покупают машины? Звук двигателя и закрывающиеся двери доставляют им удовольствие, и из-за этой рекламы вы представляете, как едете на машине по берегу в сопровождении кого-то красивого рядом с вами. Вот как это работает; это не совсем рациональное решение. Конечно, некоторые функции должны работать, но они работают, и все дело в эмоциях, по крайней мере, для меня, если честно.

Функции - это всего лишь способ вызвать у вас это чувство. Мне не кажется, что списки функций в обзорах инструментов разработчика мне помогают. Мне нужен локальный инструмент для проверки кода в Git и т.п., а консоль разработчика сводит меня с ума от слишком большого количества открытых вкладок, особенно для компонентов Lightning. Это все важные функции, которые для меня важны. Списки функций в стиле Gartner для меня не имеют значения, и я думаю, что они имеют меньшее значение, чем многие думают. Когда я нахожу отличный обзор продукта, мне всегда интересно, является ли этот человек независимым и есть ли у него опыт работы с этим инструментом? Эти обзоры похожи на диссертации: я могу оценить их основательность, но считаю их скучными и академическими. Я предпочитаю оценку моего коллеги, которая работает с инструментами, положительно или отрицательно.

Нам нужен iPhone для разработчиков - всего десять лет спустя!

Теперь, смогут ли текущие IDE преодолеть разрыв в эффективности, который я хотел бы видеть при использовании моего iPhone? Ни в коем случае. Возможно, это настоящая причина, по которой разработчики не кричат, чтобы им заплатили. По крайней мере, для меня это так, я чувствую, что они повышают мою эффективность, но намного ниже, чем я ожидал, и их можно измерить на проекте. Если я буду настаивать на них, и моя эффективность повысится только примерно на 10%, я возлагаю большие надежды на тех, кто заплатил, и, вероятно, выстрелил себе в ногу.

С моей точки зрения (по общему признанию, узконаправленной Salesforce) область IDE выглядит на удивление скучной. Как правило, в качестве умного помощника у вас есть сканеры кода, средства красоты, иногда инфраструктура пользовательского интерфейса и способ проверить свой код. Но где же IDE, которая может предложить гораздо более умные алгоритмы? Где вообще на это амбиции? Большая часть работы кодировщика - это повторяющееся копирование и вставка. Правильное копирование и вставка и обнаружение шаблонов не обязательно тривиально, поэтому важны опытные разработчики и опыт работы с таким языком, как Apex. Если хотите, мозг разработчика подобен алгоритму ИИ; большее раскрытие данных имеет значение для более легкого обнаружения закономерностей. В Apex типичным шаблоном является, например, работа с наборами, списками и картами в триггерах для написания эффективного кода и обхода ограничений регулятора. Ясно, что кодирование во многом связано с обнаружением паттернов.

Но где же IDE, которая пытается использовать ИИ, чтобы помочь в этом? Представьте себе массу кода, накопленного Salesforce в организациях своих клиентов, и представьте, что существуют действительно умные алгоритмы и передовые методы, позволяющие разработчикам извлекать (анти-) шаблоны из прошлого и проецировать их в будущее. Например, действительно умное копирование и прошлое, предшествующее действительно умному «найди мне похожий код». На самом деле поиск в Google Apex отмечает еще кое-что. Если мы можем проанализировать возможности и предложить следующие лучшие действия, почему бы не «проанализировать код с помощью нейронных сетей»?
Это будет гаджет для технарей? Абсолютно нет, в цифровом формате все проходит через этот процесс и его устаревшие инструменты, без исключений.

Просто подумайте о том, насколько лучше работают разработчики, поскольку их среды обитают в облаке. Невозможно переоценить влияние правильных технологий на эффективность вашей команды. Я торжественно заявляю здесь без каких-либо других доказательств, кроме моего внутреннего ощущения, что многие плюсы, которые люди приписывают гибкой разработке, и тот факт, что проекты приносят больше пользы, чем раньше, на самом деле являются результатом облачных сред и, как следствие, повышения эффективности разработчиков. Любой водопадный проект на подходящей облачной платформе (опять же бездоказательное утверждение) в наши дни может работать намного лучше и быстрее, чем несколько лет назад. Если это так, то реальная область для поиска скачков в производительности - это продуктивность разработчиков.

Возьмите то, что мы обсуждаем, вместо этого: организационные диаграммы (изменения в организационных диаграммах и смерти неизбежны!), Гибкость и управление (ваша тактическая беседа), дорогие (!) инструменты (!) для регистрации ошибок и пользовательских историй. А как насчет того, чтобы обеспечить всех игроков красивым зеленым кортом и отличной игровой площадкой?

Но вот в чем проблема: такой обуви не существует! С точки зрения технологий, рынок не предлагает ничего, кроме интегрированных сред разработки в стиле старых телефонов. Можем ли мы создать свою обувь? Может быть, но мы не можем просто создавать собственные смартфоны для каждого продукта или конкретного проекта. Специализированные поставщики программного обеспечения, платформы и экосистемы, такие как Salesforce или Java, могут включить их, так же как Android упрощает мобильное приложение с функциями, API-интерфейсами и смелым видением.

Искусственный интеллект из-за его возможностей обнаружения шаблонов - очевидный выбор, особенно для поставщиков облачных услуг, таких как Salesforce, которые имеют доступ к такому количеству данных кода. И если исследования еще не завершены, на данный момент можно использовать передовые методы, разработанные и проанализированные экспертами.

Кроме того, со смартфонов можно много узнать об удобстве использования. Например, должна ли быть IDE, которая поставляется с собственным оборудованием, как смартфоны? Представьте себе IDE размером с iPad® с несколькими встроенными или подключенными к облаку компиляторами и линтерами кода. Представьте себе такое оборудование, каким-то образом хранящее и использующее всевозможные шаблоны кода, которые вы теперь используете в Google. Представьте себе распознавание речи: почему бы не продиктовать своей IDE код, который вы хотите видеть? Представьте себе встроенные камеры и функции чата для общения с другими разработчиками, бизнес-аналитиками и тестировщиками с возможностью совместного использования экрана и тому подобного. Вы можете отправить свою IDE на экран, например Apple TV® или Chromecast ™. Речь идет не об одной конкретной идее; Ключевым моментом является то, что смартфоны - это умные цифровые помощники, которые беспрепятственно помогают вам с повседневными задачами, используя комбинацию технологий. Интегрированные среды разработки должны следовать той же концепции умного цифрового помощника для своих конкретных задач с подходящим набором базовых технологий.

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

С этой точки зрения, чтобы спасти промышленность, нам нужен iPhone для IDE. И чтобы облегчить себе жизнь, мне нужна интегрированная среда разработки, такая же крутая, как и мои Air Jordans.

Я бы с удовольствием объявил о прекрасном проекте и решении, но у меня его нет! Итак, возьмите свою IDE с раскладушкой и играйте босиком. Обнадеживающе: Salesforce считает, что опыт разработчиков - это серьезная тема. Лучшее, что вы можете сделать, - это сломать забор, так что, возможно, у вас есть умный способ количественно оценить прирост производительности, который вы могли бы получить, если бы у вас под рукой была iPhone IDE. В конце концов, пользовательский опыт стал широко распространенным и широко распространенным, нет причин, по которым опыт разработчиков не может стать следующей большой тенденцией UX.

Выбор IDE - путь Air Jordan