«Разработка языка Kotlin обошлась намного дороже, чем наш средний продукт»: интервью с главой JetBrains Статьи редакции

Генеральный директор компании Максим Шафиров о конкуренции с Atlassian и Microsoft, стратегии на 10 лет и руководстве с точки зрения программиста.

Максим Шафиров попал в JetBrains в 2002 году десятым сотрудником, а в 2012 году занял пост гендиректора. В интервью он рассказал:

Максим Шафиров

О карьерном пути и управлении большой компанией

Как вы попали в компанию и стали гендиректором?

Случайно. В компанию я пришёл довольно давно — в 2002 году, когда ей было около двух лет. Я стал десятым сотрудником. Тогда казалось, что компания уже большая: скоро перестанет помещаться в одну комнату. Работал программистом — до сих пор горжусь тем кодом, который тогда написал. Он всё ещё работает, но более умные люди его сейчас доводят до ума.

В какой-то момент оказалось, что компании нужно какое-никакое руководство. Когда над проектом работает 15 человек, уже нужно не просто говорить, кому что делать, а хотя бы стремиться вовремя выпускать релизы, развиваться. Мы как-то разговаривали с Сергеем Дмитриевым (сооснователь JetBrains — vc.ru), и он говорит: «Не хочешь руководством заниматься?». Я ему: «Нет, конечно. Не хочу. Никогда не думал об этом. Я программист, о чём ты вообще?». Я переспал с этой мыслью ночь, на следующий день пришёл и сказал: «Да, хочу». Просто потому что это было нужно и мы без этого страдали.

Это было в 2004 году. В 2012 году ситуация повторилась, но уже не на уровне руководства разработкой проекта, а всей компании. Сергей сказал, что хочет заняться другими проектами, развивать биоинформатику. Может быть, найдётся в компании кто-нибудь, кто его заменит? На следующий день я сказал: «Да, можно попробовать». Потому что надо. Как-то естественно всё получилось — я никогда не ставил себе в качестве цели карьерный рост.

Сейчас вы пишете код или на это уже нет времени?

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

Как устроено управление компанией?

В начале каждый из приходящих сотрудников привносил свои опыт и знания и, грубо говоря, отвечал за свою область — например, кто-то за XML, кто-то за веб-сервисы и так далее. В целом всё так и осталось. Люди у нас обладают очень большой свободой действий и, соответственно, очень большой ответственностью. Они более или менее самостоятельно общаются с пользователями, выясняют, что нужно делать в рамках той предметной области, за которую они отвечают. Ну и дальше — больше.

В общем-то, компания так же и структурирована. Любая команда разрабатывает продукт более или менее самостоятельно, планов сверху никто не спускает. У нас есть отдел, который занимается разработкой всех IDE на базе платформы IntelliJ IDEA. Есть отдел разработки всех инструментов для .NET. Отдел разработки инструментов для команд. Есть Kotlin, дизайн-студия, HR.

Что касается офисов в других странах, мы, в отличие от многих других компаний, не стали локализовывать разработку продуктов по офисам. Может запросто получиться, что какой-нибудь продукт разрабатывается во всех шести. Хорошо, что изобрели видеосвязь, она нас спасает.

У каждого отдела есть руководитель, который подчиняется вам напрямую?

Слово «подчинение» немного не подходит. Мы не классическая иерархическая организация: я не ставлю им задачи, они не предоставляют мне отчёты. Мы встречаемся и решаем, что нужно делать. Чаще всего не один на один, а более крупной компанией — 10–15 человек.

В разных городах и странах чем-то отличается управление?

Конечно, имеет значение местное законодательство и регулирование. А с точки зрения организации разработки продуктов — нет, я не думаю. Большой процент тех, кто работает за границей, — люди, которые уехали отсюда. То есть типичный путь человека, который оказался в мюнхенском офисе, — его наняли здесь, а потом он переехал.

Есть разница в работе с людьми здесь и по видеосвязи?

Конечно. Если мне пришла в голову какая-то мысль, здесь я спущусь на два этажа и поговорю с человеком. А в Мюнхене — надо писать: «А можно я тебе позвоню?». Чем больше таких танцевальных па, тем сложнее коммуникация.

Это можно как-то исправить? Или только смириться?

Рационально никакой проблемы нет. Пошёл, поднял трубку, поговорил, всё то же самое. Как-то проще, когда все рядом. Но всех рядом нет, не могут все жить в одном городе. Просто планета большая.

Офис JetBrains в Петербурге

О стратегии и бизнесе JetBrains

Как распределяется выручка по странам?

Мы почти не выстраиваем маркетинг и продажи под конкретные страны. Весь наш бизнес глобальный. Поэтому, конечно, мы можем посчитать, где мы больше заработали, но это скорее показатель не того, насколько мы успешны, а того, насколько развит рынок в этой стране. Больше всего мы зарабатываем в Штатах, где-то 40%.

А в России?

3% в России, 4% — СНГ.

На какие метрики вы в своей работе смотрите в первую очередь?

Я каждый день получаю письмо по продажам. Но смотрю на него сейчас не очень внимательно, потому что объём большой, соответственно, инерция тоже очень большая. То есть сопоставить то, что мы имеем сегодня, с тем, что мы сделали вчера, сложно. Маховик раскручен.

То, что вы делаете сейчас, даст эффект только через полгода?

Через два-три года в лучшем случае. Скорее, горизонт — пять-семь лет.

Вы знаете, как будет выглядеть компания и в какую точку она придёт через пять-семь лет?

Я знаю, а вот насколько это верно, конечно, никто не знает. Мы начинали как IDE для одного вполне специфичного, но очень конкретного, платёжеспособного и растущего рынка Java-программистов. Потом росли горизонтально — делали всё то же самое для людей, которые занимаются тем же, но с использованием другого языка программирования. И кажется, сейчас практически всё, что имеет для нас финансовый интерес, мы покрыли, горизонт роста закрыт.

Есть несколько хорошо друг с другом сочетающихся, но не вполне связанных вариантов дальнейшего развития. С одной стороны, мы сами создаём для себя рынки. Например, Kotlin: мы создаём рынок для бесплатного продукта, но лучшие инструменты для него, конечно же, случайно оказались у нас.

Есть и дополнительный вариант роста. Сейчас мы продаём продукт в основном компаниям, но он консьюмерский, b2c. Потому что эмоциональное решение о покупке принимает конечный потребитель-программист. Он уже уговаривает своё начальство, чтобы ему разрешили это купить.

Мы хотим стать компанией, которая имеет серьёзный вес на рынке инструментов для команд, причём не только команд разработчиков. Это уже будет классический b2b-продукт, и нам с ним придётся непросто с точки зрения продвижения на рынке. Но мы постараемся.

У вас довольно много очень крупных клиентов — Citibank, Google, Twitter, Wikipedia. Как вы к ним находили подход?

Это они к нам находили подход. Программисты друг другу передают идею о том, что им очень нравится работать с нашими продуктами, с ними они чувствуют себя продуктивнее. И продают эту идею своим коллегам и начальству.

Если ваши основные продукты для разработчиков, кто на втором месте? Менеджеры?

У нас уже есть YouTrack, есть TeamCity — это продукт для сборки. Upsource для code review. Пока всё, но есть ещё один большой продукт в разработке.

Когда мы начинали делать TeamCity в 2005 году, идея была такая: мы сделали IDE и всё, что можно было сделать в IDE для индивидуального разработчика. «Продукт закончен», — думали мы 14 лет назад. Что ещё можно сделать? Например, такую же интегрированную среду, но для команд. Начать решили с того, что было наиболее востребовано в тот момент и отсутствовало на рынке — это Continuous Integration. Был такой инструмент, назывался CruiseControl, но работать в нём было неудобно.

Нам казалось, что мы сейчас всё сделаем как надо. Сделали, выпустили на рынок, и пользователи сказали: «Прекрасно, нам очень нравится ваш продукт, а ещё мы хотим вот такую функциональность, и ещё вот такую, и ещё вот такую». Мы любим наших пользователей, всячески им помогаем, и помогание это растянулось на вот уже, получается, 14 лет.

Когда выпускаешь продукт на рынок, то потом сказать «нет, на самом деле мы хотели сделать кое-что другое, давайте его перепрофилируем» тем сложнее, чем более продукт успешен. Нам не повезло — продукт стал успешным. И несколько лет назад мы вспомнили, что идея была в том, чтобы сделать инструмент для команд, который объединяет все инструменты для разработки и не только: для планирования, коммуникации, отслеживания процессов, результатов. Решили попытаться вновь. Думаю, в течение года уже можно будет на что-то посмотреть.

Насколько сервис YouTrack может чувствовать себя конкурентом Jira по функциональности и охвату аудитории?

Доля рынка, которую YouTrack занимает по сравнению с Jira, действительно небольшая. И в последнее время не меняется.

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

Тем не менее YouTrack довольно успешный, денежку приносит, мы им сами пользуемся с большим удовольствием. И ребята планируют развиваться дальше.

О расстановке сил на рынке

Кого JetBrains считает своим основным конкурентом?

Для разных продуктов разные конкуренты. Что касается инструментов для разработки — это Atlassian и в последнее время Microsoft. Она стала много вкладываться в работу с девелоперами, есть инструменты для команд. Visual Studio Code активно набирает популярность.

У вас есть стратегия войны?

Сначала нужно понять, что люди находят в VS Code. Мне кажется, у нас есть ответ: это простота. Инструмент исключительно проще. Мы всегда делали упор на сильные и мощные инструменты для работы с кодом, здесь нас переплюнуть сложно. Профессиональные разработчики чаще всего предпочитают наш инструмент.

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

Лампочка с подсказками в Intellij IDEA

Вообще, код — это структурный текст, он написан по жёстким правилам. И его очень удобно структурно модифицировать. Такие модификации могут быть простыми — например, выделить какую-то секцию и закавычить, — а могут быть довольно сложными, и этих модификаций у нас в инструментах миллион.

Но большое количество наших пользователей, как выяснилось, ничего из этого не используют, они просто открывают один файл, редактируют в нём текст, и всё. Если использовать только такой базовый уровень, то конкурирующие продукты, конечно, выигрывают — просто потому, что они проще и легковеснее.

Будем стараться образовывать пользователей, такие вещи нужно обязательно популяризировать. Мы считали, что это уже общеизвестные факты, все этим пользуются и объяснять не нужно. Так вот — нужно. И сам продукт нужно делать проще.

То, что там есть продвинутая функциональность, не является извиняющим фактором, чтобы делать продукт сложным. Можно привести в пример первые iPhone. Там было столько функциональности сразу — никто не думал, что такие вещи могут быть в телефоне, да? Но при этом продукт был настолько прост и понятен, что им могли пользоваться буквально все.

Чем ваши продукты принципиально отличаются от продуктов Microsoft?

Важно смотреть, где та или иная компания извлекает прибыль, что она в конечном итоге продаёт. Microsoft не строит бизнес на девелоперских инструментах. Точно так же, как Google не продаёт поиск, например. Microsoft с помощью инструментов привлекает разработчиков в свою экосистему. А потом продаёт сервера на Azure. Или офисные программы. А наш клиент — программист. То есть мы что делаем, то и продаём. Мне кажется, что это очень выгодное отличие.

Но для пользователя оно не слишком очевидное. Почему я должна переходить с Visual Studio в ваш продукт?

Для этого есть маркетинг. У нас есть сотрудники, которые на примерах объясняют, почему это имеет смысл. Обычно людей цепляют какие-то мелочи.

Почему на рынке так мало экосистем для разработчиков? Atlassian, Microsoft и вы.

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

Программисты, как ни странно, очень не любят платить за софт. Так что это тяжёлый бизнес.

О Kotlin, работе с Google и отзывчивости

Есть у вас продукт, который вы сейчас не монетизируете, но в перспективе хотели бы?

Наверное, можно так сказать про Kotlin. Не то чтобы мы его не монетизируем, просто процесс монетизации — это игра в очень долгую. Мы не ставим себе это как цель первого порядка и понимаем, что так или иначе с этим всё будет хорошо.

На чём он может зарабатывать, кроме инструментов?

Только на инструментах. Open-source-проекты классически зарабатывают на консалтинге. Они продают обучение или внедрение этих технологий в бизнес. Но мы продуктовая компания, для нас консалтерский бизнес не привлекателен. В консалтинге вы продаёте время людей, и если вы хотите заработать в десять раз больше денег, нужно нанять в десять раз больше людей. Мы хотим остаться продуктовой компанией.

Но на сайте у вас пока нет отдельной IDE для Kotlin, вы предлагаете использовать для него IDEA?

И да и нет. Попробую объяснить. Вообще, язык нужен для перевода кода из структурированного текста в формат, который понимает и может выполнять машина. При этом у каждой машины своя платформа, свои библиотеки, среда исполнения. Kotlin пока может работать в двух средах исполнения: Java — например, для приложений на Android, и JavaScript — например, для фронтенда. Ещё мы работаем над компилятором в нативный код, можно будет писать приложения для iOS.

То есть выглядит так, будто у нас есть IDE для каждого языка, но на самом деле это не так. Язык — дело вторичное, важна платформа. Вот это IDE для Android, вот это IDE для Java Server Side, это IDE для фронтенда, это IDE для scientific-вычислений и так далее. А Kotlin — везде. И на всех платформах он родной. Под Java-платформу можно писать часть на Java, часть на Kotlin. Фронтенд тоже: можно писать часть на JavaScript, часть на Kotlin.

Пока Kotlin везде свой, пока он не обрастёт собственной экосистемой, завязанной исключительно на него, не очень понятно, к чему делать инструмент. Но мы будем.

Когда?

Пару лет, я думаю, это займёт.

Помимо возможности писать приложения для iOS, над которой вы сейчас работаете, есть ли ещё области, которые пока не охвачены Kotlin?

Есть области, которые, скорее всего, и не будут охвачены Kotlin — это системное программирование, например. Писать драйверы для железа на Kotlin — скорее нет, чем да. Код, который должен работать в реальном времени, всякие датчики и так далее — тоже скорее нет, чем да. Операционные системы — нет.

А вот уровень приложений для какой бы то ни было операционной системы или платформы — это то, что мы хотим покрыть. Теоретически всё уже и покрыто, осталось поднакопить жирку: библиотеки, примеры, комьюнити, экосистему, людей, которые умеют это делать и могут научить других.

Как началось сотрудничество с Google? IDEA — open-source-продукт, но, наверное, Google не могла просто её взять и сделать что-то своё.

Вообще могла. По лицензиям абсолютно ничего такого тут нет.

Но она почему-то так не сделала.

Да, в 2011 году команда Google пришла к нам и сказала, что хочет разработать IDE, но делать на базе Eclipse (IDE для Java от Eclipse Foundation — vc.ru) её тяжело. Eclipse — это тоже open-source-проект, но чтобы интегрировать в него специфичный инструментарий для Android, нужно было сделать API.

И этот API команде Google никак не удавалось протащить, не было коммуникации. Они пришли к нам и наладили коммуникацию, мы просто оказались более отзывчивыми. Мы даже отдали им собственный плагин для Android, они его открыли для разработчиков — с этого и начали. Но никаких денег там не было.

А как Google заметила Kotlin?

Получилось довольно смешно: когда мы начали разрабатывать Kotlin, то про Android не думали вообще. Потом кто-то из энтузиастов попробовал написать что-то на Kotlin под Android, и что-то пошло не так, сломалось. Нам сообщили, мы поправили, нам сообщили что-то новое, мы поправили ещё. Опять же, проявили некоторую отзывчивость.

Ещё у Android на Java сложилась такая ситуация: версия языка всегда отставала от того, что было у остальных разработчиков на Java. Поэтому когда Android-программисты получили красивый, удобный и функциональный язык, они стали долбить Google: выскажите своё официальное мнение — можно ли на этом писать? Не будет ли проблем в будущем?

Команда Android в Google внимательно слушает сообщество. Может быть, не сразу отвечает, но на ус мотает. И в какой-то момент, видимо, накопилась некая критическая масса, пора было выразить свою позицию по этому поводу.

Они обратились к нам. Опять же, можно было просто взять и начать пользоваться Kotlin, от нас тут ничего не нужно было, как и от них. Но они хотели пойти дальше, сделать ставку на Kotlin и оформить всё легально — чтобы в случае, если кто-нибудь недоброжелательный вдруг купит компанию JetBrains, Google не оказалась в некомфортной ситуации.

Мы договорились, что торговая марка Kotlin будет передана в специально основанный для этого фонд. JetBrains всё ещё стоит за Kotlin, но если вдруг что-то случится, кто-то сможет форкнуть Kotlin и продолжать разработку под этим же названием.

В 2016 году в СМИ пошли первые слухи о том, что Google хочет заменить Java на Kotlin из-за конфликта с Oracle.

Да, было очень забавно читать. Тогда никаких разговоров об этом не было. Сама постановка вопроса о том, что язык нужен Google для того, чтобы избежать лицензионных проблем с Oracle, не имеет ни малейшего основания, потому что претензии Oracle состояли в копировании API. Но пишете ли вы на Kotlin, на Java, на Python, на чём угодно — используются всё те же самые API.

Замена языка никаким образом не затрагивает предмет спора между Google и Oracle. Звучал и такой вариант: «А давайте мы тогда вообще просто заменим Java на Swift». Но это значит, что все приложения под Android можно выкинуть в мусорное ведро. Никто на это никогда не пойдёт.

Но когда вы читали эти статьи в 2016 году, то прикидывали, может ли Kotlin сейчас заменить Java?

Да, конечно. Никаких технических препятствий не было.

Сколько человек работает над Kotlin?

73.

Вы разрабатывали язык около семи лет — это долго для языка? Как шла разработка?

Мне не с чем сравнивать, у меня это единственный опыт. С одной стороны, долго. А с другой стороны, я рад, что получилось именно так, и сейчас попробую объяснить, почему.

Разработчики придерживаются такой идеи: надо сперва что-нибудь сделать, а потом уже изменениями приводить это в нужное состояние. С языком так не работает: если он меняется, то написанные на старой версии языка программы перестают работать. Если вендор языка позволяет себе такие выкрутасы, то скоро пользователей у него не останется, если только это не Apple.

Apple может себе такое позволить, со Swift ровно так и происходит. Каждые пару лет выходит новая версия Swift, которая с предыдущей не совместима: пожалуйста, переписывайте ваши программы. Но от Apple программисты не денутся никуда и никогда, а мы так не можем.

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

Получается вопрос курицы и яйца. С одной стороны, нужно накопить большое количество пользователей, чтобы понять, что хорошо, а что плохо. А потом вам нужно их всех выкинуть, потому что в процессе выяснится, что на самом деле нужно было делать не так.

Мы в своё время просто явно сказали пользователям: сейчас язык будет меняться. Мы максимально постараемся помочь с миграцией с одной версии на другую, но ничего не обещаем. А после релиза 1.0 изменения закрыты. Теперь всё, что написано на Kotlin, будет компилироваться и в следующей версии компилятора будет работать так же.

То есть мы накопили базу, решили, что правильно, что неправильно, что оставить, что выкинуть — вот и получилось столько времени.

Во сколько вы оцениваете общие затраты на разработку?

Где-то $30–35 млн.

Это можно сравнить со стоимостью разработки IDE?

В случае с Kotlin у нас гораздо меньше переиспользования по сравнению с другими продуктами. Для новой IDE, скажем, нужно 80% того же кода и 20% уникального. В Kotlin очень много писали нового, много чего перепродумывали. Kotlin дороже, чем средний продукт, много дороже.

У вас есть IDE, есть язык, есть много продуктов для разработчиков, и вы рассказали, что собираетесь охватывать также менеджеров, а как насчёт, например, облака? Что-то вроде Azure или AWS?

А потом рекламу продавать, если доводить до абсурда? Пока не приходило в голову. Своё облако — это свои сервера, совсем не наш бизнес. Лет через 20 давайте синхронизируемся, может, мы передумаем.

Офис JetBrains в Петербурге

О роли основателей в компании и жизни идеи от рождения до закрытия

Пока вы управляете компанией, чем занимаются основатели?

Сергею Дмитриеву интересна биоинформатика, aging, образование как концепция. У него есть интересные мысли, как можно по-другому вообще устроить образование, чтобы учиться было интереснее и эффективнее. У него есть проекты в этой сфере — и свои, и те, в которые он инвестировал. Другой основатель — Евгений Беляев — делает образовательный продукт в виртуальной реальности, который называется CoSpaces. Ещё один основатель, Валентин Кипятков, лицензию пилота получил.

Некоторые из своих проектов они делают в рамках компании, некоторые — вне.

Как устроен процесс принятия решений на стратегическом уровне, они в нём участвуют?

Есть что-то вроде совета директоров, но у нас так не принято, что сверху собрались все, что-то решили, а потом компания двигается в этом направлении. Все решения обсуждаются с теми людьми, которые их могут воплотить. Это может быть кто угодно.

Откуда берутся идеи для новых продуктов, кто их придумывает, кто утверждает и как устроен процесс?

Давайте я на примере Kotlin расскажу, потому что это было смешно. Тот же самый Сергей пришёл и говорит: «Что нового можно было бы сделать для программистов?». И один коллега — Дима Жемеров — говорит: «Самая крутая штука, которую можно сделать для программистов, — это язык программирования». Я такой: «Вы чего вообще, куда? Где мы, а где язык программирования? Мы никогда не потянем и не сделаем его популярным». Ну а на следующее утро я пришёл и сказал: «Всё, делаем».

За это время мы сделали столько IDE для разных языков, что мы понимали, как люди пользуются разными фичами языка. Какие места больше всего у людей реально болят. У нас были накоплены огромные знания в широком поле по языкам. А Java на тот момент развивалась категорически медленно, писать на ней было просто неудобно. Решили попробовать.

Есть ещё дополнительный нюанс в разработке языка, который становится мультипликатором всех рисков. Для другого продукта в принципе достаточно, если у него есть пользовательская база. Это оправдывает инвестиции и времени, и денег. Язык либо мегапопулярен, либо он не нужен.

А есть какие-то продукты, которые вы закрыли?

Да. Давно, правда. Был такой продукт, назывался Omea. Это новостной агрегатор, десктопный инструмент, в котором можно было читать почту, фиды, новостные группы, RSS. Мы его закрыли, потому что было непонятно, как привлечь более широкую аудиторию. Открыли исходный код, и он даже до сих пор, по-моему, живёт.

Сколько вы на нём потеряли?

Это не повлияло критически ни на что. Ещё был давно большой продукт, назывался Fabrique. Это фреймворк и IDE для разработки именно серверных приложений сразу с UI. Но пока мы его делали, а делали мы его долго, обновился стэк технологий, и необходимость в продукте отпала. Мы его закрыли за несколько недель до планируемой даты релиза. Решили, что, наверное, не жилец. Конечно, можно было начать с нуля всё делать, но зачем?

То есть закрываете проекты вы редко.

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

Есть такой имидж, например, у компании Google: вы, конечно, можете пользоваться их продуктами, но никто не скажет, что завтра они не исчезнут. Нам бы такого не хотелось: кажется, что репутация именно на рынке разработчиков очень важна.

Какой продукт вы считаете самым доходным?

IDEA.

А второй?

ReSharper. Всё скучно, да? Понимаете, бывают продукты с каким-то космическим ростом. Но у нас не так, всё накапливается потихоньку. Чем дольше продукт на рынке, тем больше он зарабатывает.

Есть ли продукт, у которого динамика позитивнее, чем у других?

Rider. Это IDE для .NET. С ним тоже смешная история. У нас вообще-то есть продукт ReSharper — плагин для Visual Studio. Но это игра в догонялки: Visual Studio добавляет какую-то функциональность, мы добавляем больше. Всё было нормально, но тут выяснился вот какой нюанс: Visual Studio потребляет ресурсы, память, CPU и так далее, а мы добавляем сверху. Visual Studio до сих пор ориентирована на 32 бита, памяти потребляется не более чем 2 ГБ — и мы вдвоём просто перестали помещаться.

Подумали — и решили сделать свою IDE, Rider называется. Она показывает хорошую динамику. И GoLand показывает хорошую динамику — в частности, потому что сам рынок растёт очень хорошо.

Сотрудники компании используют только продукты компании?

Разрабатывать IDE и не пользоваться этой же IDE — странно. Это означает, что, наверное, ты что-то не то делаешь, хотя мне известны люди, которые предпочитают только легковесные редакторы. Чтобы кто-то использовал VS Code, мне не известно. Во всяком случае, даже если это так, то это не проблема.

Насколько в компании распространён трудоголизм? Люди сидят тут сутками?

Кто как. Наверное, мы уже не стартап. Когда мы начинали, я действительно уходил в 2–3 часа ночи, работал и в субботу, и в воскресенье. Просто потому что было ужасно интересно. Сейчас у нас тут по субботам кружок по робототехнике, сотрудники приводят своих детей, и я тоже со своими прихожу в офис. И нет, народу не очень много.

То есть руководство не поощряет трудоголизм.

Нет. Скажем, даже были конфликтные ситуации, когда люди не хотели идти в отпуск, а мы отправляли. Ну ничего, как-то перестроились.

О культуре в компании и найме сотрудников

Вы позволяете сотрудникам заниматься сторонними проектами?

Да. Есть масса пользы в том, что люди приобретут новый опыт. Они будут более интересующимися и мотивированными. А если им это запрещать, они будут считать, что компания их ущемляет, не даёт заниматься тем, что им интересно, и уйдут куда-нибудь. У нас есть такая тема, как в Google, — 20%. День в неделю можешь заниматься чем хочешь. Хотя загорать на пляже 20% времени не поощряется.

То есть разработка.

Не всегда. У нас есть люди, которые работали в поддержке, а 20% тратили на дизайн — нравился он им. А потом переквалифицировались в дизайнеров интерфейсов. Иногда человек работает много лет в одной команде, и вроде как его всё устраивает, но хочется попробовать что-нибудь другое, перейти в другую команду — но страшно.

Вдруг не справлюсь, вдруг там всё плохо устроено или начальник злой, или коллеги на обед не ходят вместе. Тогда он говорит: «Давай я один день в неделю буду работать у вас». Иногда переходят совсем. Иногда говорят: «Нет, что-то мне у вас не нравится». И уходят назад. Мы так не планировали, но вот так с этим правилом получилось.

Насколько я вижу, после того как Kotlin стал известным, компания тоже стала более известной в широких кругах. Это как-то отразилось на настроении коллектива?

У меня есть обратное ощущение — приятно, конечно, осознавать масштаб деятельности, но с другой стороны, разработчики часто интроверты, им комфортно в маленьком кругу. А когда тут такой резкий взрыв, возникает дополнительный дискомфорт.

Но сотрудников стало проще искать, наверное?

С одной стороны — да, с другой стороны — мы делаем много продуктов, у нас всегда кадровый голод. И чем больше мы нанимаем, тем больше у нас хотелок.

Какие основные источники кадров?

Работаем со студентами — это надёжный, но довольно долгий способ получить очень хороших сотрудников. Хантим отовсюду, откуда только можно.

А хакатоны не проводите?

Мы проводим хакатоны внутри, оттуда рождается масса идей. Это, знаете, такое программирование без обязательств: не надо думать, как тебе завтра сопровождать продукт, что с ним будет через 10 лет. Но некоторые вещи потом приходится всё-таки тянуть — иногда получаются полезные штуки. Хакатоны для привлечения снаружи мы не проводили. Наверное, это здравая мысль, спасибо.

Как вы можете понять, что человек вам подходит? Какие качества у него должны быть? Какие компетенции?

У нас разная культура в разных проектах. Когда мы находим человека, смотрим, куда он подойдёт — не только по скиллам, но и по ценностям.

Но есть же какие-то общие ценности во всей компании?

Конечно. Нужно, чтобы человеку было интересно. Всё остальное приложится. Должно переть от программирования. Не потому что он больше кода напишет или более эффективный будет, а потому что он лучше понимает, что мы хотим сделать за продукт, мы ведь на самом деле его пишем для себя. Надо уметь рефлексировать — почему ты такой код пишешь, а не такой?

Когда к вам приходит студент на работу, вы больше смотрите на образование или на реальные проекты, которые он уже смог сделать?

Студенты редко делают что-то конкретное. Когда они приходят на стажировку, то проходят интервью. Мы проверяем базовые знания — каким местом человек слушал то, что ему в университете рассказывали. И смотрим, насколько ему нравится кодить. Это с возрастом из людей получаются хорошие программисты, которые уже не любят программировать. А когда человек этим только начинает заниматься, у него либо горит всё, либо не горит. Когда горит — можно брать.

Как может выглядеть карьерная лестница в компании? Куда я могу попасть?

На моё место.

Могу?

Да. Я же попал. Обычно так это выглядит: приходит человек, начинает что-то делать. Если он сидит в своём углу, никуда не показывается, то карьерной лестницы у него нет — но ему и не надо.

Иногда человек говорит: «Ну посмотрите, у нас же здесь плохо сделано, давайте я помогу». Если человек активен, помогает другим, то зарабатывает авторитет, и вокруг него получается команда. Тогда мы предлагаем им сделать продукт вместе. Они его делают, а он выступает в роли тимлида.

Куда дальше?

Как сложится. У нас нет заранее продуманной иерархии, скорее мы просто идём от имеющегося. Структура образуется только там, где она необходима.

Допустим, тимлид подумал, что на позиции он достиг потолка или перегорел. Что он дальше будет делать?

Надо посмотреть, отчего он перегорел. Вряд ли потому что познал всё про руководство командой размером в семь человек, это выглядит довольно неестественно. Потому что наша задача не руководить людьми, а делать продукт. Руководство людьми — одна из самых важных функций, но всё равно инструмент. Если человек понимает, что этот продукт он уже сделал, может сделать ещё один продукт. Или помочь сделать соседний продукт.

Вы говорите, что вас гипотетически кто-то может заменить. Что должно для этого случиться?

Человек должен продемонстрировать видение, понимание того, чем компания может заниматься дальше. Продемонстрировать способность спокойно взаимодействовать с массой людей. Возможность заразить своими идеями, чтобы кто-то по собственной воле подхватывал и шёл что-то делать дальше. Да и хватит, пожалуй.

И одновременно с этим вы тоже какие-то ошибки можете совершить, которые приведут к замене?

Да. Руководство компанией для меня не самоценность или самоцель. Если такой человек появится и я увижу все эти свойства в нём, поверю в него, то вообще нет проблем.

Если бы это произошло, чем бы вы стали заниматься? Остались бы в компании?

Да, остался бы. Что бы я делал? В принципе то же самое, что сейчас. Но только мне не надо было бы отвлекаться от программирования.

Можете описать свой типичный рабочий день? Из каких частей он строится, какие задачи вы решаете?

Почта, Slack, митинги и работа в IDE.

О России на глобальном рынке и о покупке других компаний

Как вы оцениваете российское техническое образование?

Становится лучше. С одной стороны, грех жаловаться. Я здесь учился, как и 99% моих коллег. А с другой стороны, в западных университетах гораздо более фундаментальные курсы по Computer Science. Но мы активно нагоняем.

Что бы вы изменили в российском образовании, чтобы оно стало ещё лучше?

Больше практики. Но и сейчас ничего не мешает студентам по ночам вместо того, чтобы готовиться к сессии, чего-то программировать.

Если посмотреть на Россию на международной ИТ-арене, как вы оцениваете страну с точки зрения и мозгов, и компаний, которые имеют российские корни и пытаются конкурировать?

Ощущения очень двоякие. Есть масса энергичных людей, которые могут, хотят и много чего делают. Но и отток очень чувствуется. Говорят, что все, кто мог уехать, уже уехали, а остались те, кто уехать не мог, — это, конечно, не так. Но всё-таки очень много из тех людей, кто уехал, уехали с мозгами.

Мы офис в Мюнхене открывали именно по этим соображениям, чтобы люди, которые хотят уехать из России, не должны были увольняться из компании. Это хорошо работает, прямо прекрасно. Часто люди, которые отсюда уезжают, устраиваются в очень большие фирмы — Google, Facebook, Microsoft. Можно за них порадоваться, но чем больше компания, тем меньше личного участия в результате. Здесь они могли бы сделать что-то более impactful.

Как часто бывает такое, что из вашей компании люди уходят и открывают свою компанию?

Бывает, но я не считал. Например, есть такой Фёдор Коротков. Он уехал от нас в 2013 году. Есть люди, которым надо в Долину съездить. Он работал в Twitter, потом в Airbnb. Потом сделал свой продукт, который с нами конкурирует. Он очень хороший чувак, я всё жду, когда его можно будет обратно забрать.

Забрать — купить компанию или нанять его обратно?

Как получится. Покупка компании — у нас пока эта мышца не очень работает.

Экспериментировали?

Не сильно. Обычно всё разбивается о проблему, что потом делать с людьми. Как их интегрировать? Они же совсем по-другому работают.

То есть если бы вы кого-то покупали, то ради технологий и аудитории, возможно, но не ради специалистов?

Ради технологии покупать никакого смысла нет. Всё, что полезного есть в нашей индустрии в смысле технологий, уже с открытым исходным кодом.

Так, ради людей нет смысла покупать, ради аудитории тоже.

Ради людей есть смысл покупать, надо просто научиться. Мы пока не умеем.

То есть проблема в вас, а не в том, что люди по-другому мыслят?

Да, абсолютно, проблема в нас.

0
161 комментарий
Написать комментарий...
Роман Тымцив

Спасибо за отличное интервью!
Для 1С когда IDE сделаете? (Не для себя прошу, для друга)

Ответить
Развернуть ветку
Злой Полушубок

Со встроенными проверками: "эта проводка выглядит подозрительно с т.з. налоговой, могут быть проблемы".

Ответить
Развернуть ветку
Sergey Chernov

Лучше сразу нативный kotlin на 1С. Чтобы другу на удобном современном языке писать.
И назвать это 1К.

Ответить
Развернуть ветку
Степан И.

3-4% рынка? Ну такое...
1С сильно локализованный продукт.

Ответить
Развернуть ветку
3 комментария
Максим Федоров

Ответ же есть :)

Больше всего мы зарабатываем в Штатах, где-то 40%. 3% в России, 4% — СНГ.
Ответить
Развернуть ветку
2 комментария
Dmitry Vedenko

Нет главного вопроса - когда Идея перестанет жрать все доступные ядра и 16 Гб оперативки? А представители джетбрейнса перестанут на конференциях советовать выпить чашечку кофе, пока в CLion отладчик в себя приходит.

Еще круто, когда компания радуется и в ченджлогах пишет "мы умешили лаг ввода с клавиатуры, теперь он мень 500 мсек".

Ответить
Развернуть ветку
Margarita Koktisheva

Так она ж на Яве написана. Прожорливая. Радуйтесь что ещё продукты из холодильника жрать не начала

Ответить
Развернуть ветку
4 комментария
Dart Mul

У меня жрет 2-3гб, ЦПУ только при индексации 100%. А так на нуле почти

Ответить
Развернуть ветку
23 комментария
GS

Когда JB слезут с Java (вероятно никогда) - тогда и перестанет жрать так адово ресурсы.

Ответить
Развернуть ветку
Lucas Mabrey
Ответить
Развернуть ветку
5 комментариев
Илья Kerrigan

Поставьте её и свой проект на SSD, еще лучше на M2 SSD, и будет вам счастье

Ответить
Развернуть ветку
2 комментария
Artem Beresin

Да, мне 6 ГБ не хватает. IDEA и Gradle обе занимают до 2+ГБ памяти, ещё chromium открыт, занимает 1ГБ. И так кончается вся память, приходится всё закрывать и заново открывать. А сама система занимает 300 МБ, Gentoo. Почему бы вам не переписать среду на C++ или Rust? Думал как накоплю, куплю ноут с 16ГБ. А тут говорят, что и этой памяти не хватает для идейки

Ответить
Развернуть ветку
Zack Ra

Самая любимая компания из мира программирования. Дякую от лица Android разработчиков.

Ответить
Развернуть ветку
Myroslav D

Софт за который люблю платить :)

Ответить
Развернуть ветку
Rudolf Cunningham
Но большое количество наших пользователей, как выяснилось, ничего из этого не используют, они просто открывают один файл, редактируют в нём текст, и всё. Если использовать только такой базовый уровень, то конкурирующие продукты, конечно, выигрывают — просто потому, что они проще и легковеснее.

Потому что ничего из этого 99.9% процентов времени реально не надо. Но все эти парсеры текста с проверками контекста, чтобы умно подменить/исправить/выделить висят фоном и убивают производительность. В этом и плюс всяких Sublime да VSCode: если тебе нужны такие штуки - ты их накатываешь плагином. В итоге есть только необходимое и оно работает ровно так, как надо. В продуктах JetBrains даже вырубив кучу лишнего в настройках оно жрет как не в себя и еле вертится, потому что все лишнее один фиг не выключишь.

Ответить
Развернуть ветку
Степан И.

Говорите за себя.
Лично для меня значительно удобнее работать над большими проектами через тот же phpStorm.
В частности именно из-за анализатора кода. Заниматься рефакторингом, код ревью одно удовольствие.
Однако для малых проектов предпочту использовать шустрый Geany или Notepad++ (общий движок написанный на сях), тем же Sublime, VSCode и прочим Атом подобным блокнотам, которые кстати написаны на JS и жрут уйму ресурсов.

Ответить
Развернуть ветку
8 комментариев
Максим Федоров

на каком языке пишите и в каких проектах (по масштабу)?

Ответить
Развернуть ветку
Никита Иванов

Очень крутое и интересное интервью, прочитал на одном дыхании

Ответить
Развернуть ветку
FN

Интервью так себе. Потому что интервьювер совершенно некомпетентна и спрашивает всякую дичь про облака. Сравните с этим:

Ответить
Развернуть ветку
2 комментария
Valentin Dombrovsky

«Microsoft не строит бизнес на девелоперских инструментах. Точно так же, как Google, не продаёт поиск, например. Microsoft с помощью инструментов привлекает разработчиков в свою экосистему. А потом продаёт сервера на Azure. Или офисные программы. А наш клиент — программист. То есть мы что делаем, то и продаём. Мне кажется, что это очень выгодное отличие».

В этом, кажется, и плюс, и минус. С одной стороны, правда — фокус помогает делать продукты лучше. С другой — выстраиваемая Микрософт эко-система позволяет субсидировать разработку отдельных компонентов за счёт других и создавать «бесшовные интеграции», что означает более удобную работу.

Ответить
Развернуть ветку
true iBegginer

Верните, пожалуйста, цену 1500 руб за продукт в год для стран из СНГ.
Спасибо!

Ответить
Развернуть ветку
Alexander Kartavtsev

И доллар по 30.
Благодарю!

Ответить
Развернуть ветку
5 комментариев
Alexey Pomogaev
Во сколько вы оцениваете общие затраты на разработку?
Где-то $30–35 млн.

Хочется побыть диванным теоретиком: Этож зарплата 15 EU программистов в течении 20 лет! С таким бюджетом можно было спроектировать новый ЦПУ, сделать под него ОС, компилятор и новый ЯП свободный от оков легаси. Всё как завещал Вирт и получить в карму благодарность всего мира!

Но мы имеем Котлин, ну хоть так, когда Гугл забил на свой Андроид, разработчиков (фрагментируя Джаву) и не может осилить синхронизацию андроидной джавы с OpenJDK. Пусть будет им Котлин, но нужно было раньше внедрять, чтобы меньше фрагментировать Джаву.

Ответить
Развернуть ветку
Dmitry Vedenko

35M в современном мире - это бесплатно.

Ты в своих рассчетах забыл посчитать очень много расходов, типо офиса, электричества, железа и т.п.

Ответить
Развернуть ветку
12 комментариев
AS
Этож зарплата 15 EU программистов в течении 20 лет

Над котлином работает 73 человека, среди них есть «звёзды», которые явно получают существенно больше, чем средний EU программер.

Ответить
Развернуть ветку
5 комментариев
Сергей Токарев

за эти 20 лет эти 15 программистов 20 раз пересрутся и выпустят 20 разных несовместимых версий

Ответить
Развернуть ветку
7 комментариев
Камаз Узбеков

Ты на их офис посмотри)

Ответить
Развернуть ветку
Степан И.

В свое время перепробовал vim/nvim, всякие недо IDE/блокноты на электроне, и всюду одна проблема: нет хорошего и мощного анализатора кода как в IDEA.
Из-за чего собственно и купил лицензию.

Почему бы jetbrains не попробовать выпустить отдельный продукт в виде плагина для vim/nvim, emacs, vscode и прочих atom подобных? Чтоб подсказки, переходы по коду и поиск были такими же.

Ответить
Развернуть ветку
Камаз Узбеков

Чтобы перестали покупать их среду?

Ответить
Развернуть ветку
1 комментарий
GS

VSCode бесплатен, в отличии от IDE JB.
Было бы странно давать в руки прямому конкуренту свои фичи из платной IDE.

Ответить
Развернуть ветку
1 комментарий
Vladimir Ivanov

Какой же адекватный чувак. Спасибо за интервью!

Ответить
Развернуть ветку
Олег Нечаев

Очень понравилось интервью. Самое важное лично для меня оказалось в подходе - разумность, творчество, заинтересованность и ответственность. Радует, что при таком образе существования компания растёт и развивается. Меня статья очень воодушевила, желаю всем сотрудникам успехов и новых продуктов!

Ответить
Развернуть ветку
Дмитрий Чехлов
Будем стараться образовывать пользователей, такие вещи нужно обязательно популяризировать. Мы считали, что это уже общеизвестные факты, все этим пользуются и объяснять не нужно.

Представляю как они такие: Юзер, ты глупый, поэтому и пользуешься VSCode.
Боюсь JetBrains компания не такого уровня, чтобы суметь массово начать "образовывать" пользователей. А к тому времени VSCode уже обрастёт мясом и популярность его будет только расти.

Можно привести в пример первые iPhone. Там было столько функциональности сразу — никто не думал, что такие вещи могут быть в телефоне, да?

Какие такие вещи? Удобный сенсорный экран с адаптированным под него интерфейсом был. Но по функционалу он уступал Symbian.

Точно так же, как Google, не продаёт поиск, например.

Если не считать рекламу в самом верху поисковой выдачи по некоторым поисковым запросам, то да, не продаёт.

Ответить
Развернуть ветку
Dmitry Vedenko

Про айфон кстати да, всегда смешно, что люди забыли, что каким был iPhoneOS :)

Ответить
Развернуть ветку
Сергей Бакотин

С VSCode будет конечено, когда она превратится в аналог eclipse (когда после установки нужно будет ставить +100500 плагинов, чтобы все работало).

Ответить
Развернуть ветку
Danil V Yudanov
Ответить
Развернуть ветку
Rogozhkin

Хороший у людей бизнес, маркетинг на высоте, хороший офис, условия для сотрудников(по отзывам многих коллег). Но когда запускаешь ide, накатывает дикое раздражение, ощущение безысходности, кажется, что у разработчиков полное отсутствие вкуса - убогий дизайн буквально каждого экрана. Ну и 16гб mbpro хватает впритык(!) Пишу на Go, альтернатив нет. Мыши плакали, кололись и жрали кактус. Если было бы в 3 раза дороже, платил бы, потому что альтернатив с хорошим рефакторингом нет. Хороший бизнес, правильная ниша, а за продукт должно быть стыдно. Если бы xcode позволял нормально рефакторить гошные проекты, перешел бы не глядя.

Ответить
Развернуть ветку
serge smirnoff

Еще один никому не нужный ЯП по фамилии Котлин, ценный лишь своим брэндом.
Мне, честно говоря, вся эта байтоголовая херотень уже надоела. Запретил бы все, кроме Java Script. Его достаточно.

Ответить
Развернуть ветку
Alanok13

Звучит как толстый троллинг

Ответить
Развернуть ветку
2 комментария
DatsOfNads Go

Никто не пойдёт писать что-то из-за бренда, разве что по приколу. Например для android разработки переход с java на kotlin это вполне разумное решение. Java хороший язык, но на котлине многие вещи делаются куда проще. Да и рекомендации от Гугла нельзя оставлять без внимания

Ответить
Развернуть ветку
5 комментариев
Bulat Ziganshin

у тебя есть опыт написания браузеров, компиляторов, игровых движков? ну вот как появится, тогда ты поймёшь зачем нужны другие языки

Ответить
Развернуть ветку
Прочел это-потратил время зря

Молодцы ребята! Наши прогеры самые лучшие! Желаю, чтобы на Котлине писали как можно больше программ

Ответить
Развернуть ветку
Roman Pravuk

VScode популярна потому как бесплатна. Платить, пусть и $20 в месяц, мало кто хочет даже в США. Тут многие коллеги удивляются узнав что я себе оплачиваю IDE - писать код быстрее никому не надо ¯\_(ツ)_/¯

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Maxim Syabro

Влупили $30m в язык, а про порог вхождения забыли.
Буду ждать когда из языка для тех кто десять лет сидит на джаве и в курсе чем отличаются версии groovy друг от друга станет чём-то более приятным для запуска. Я реально по туториалам с офсайта не смог запустить что-то чуть сложнее hello world

Ответить
Развернуть ветку
Сергей Токарев

подсказываю хинт - открываете код на Java, Сtrl+C

открываете файл Kotlin в IDEA, жмете Ctrl+V
появляется подсказка "конвертировать скопированный Java в Kotlin" ?

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

Ответить
Развернуть ветку
2 комментария
Андрій Заметалов

Сижу на Джаве 6 лет, про груви вообще не в курсе, ни разу им не пользовался.
Один раз прочел книжку по Котлину, и начал спокойно писать.
Наверное это не им нужно порог вхождения понижать, а вам чуть побольше поразбираться.

Ответить
Развернуть ветку
3 комментария
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
2 комментария
Alexey Tykhonov

Два раза в интервью чувак принимал противоположные решения после того как выспался. Что-то он про кранчи не договаривает.

Ответить
Развернуть ветку
Vladimir Ivanov

Извините, про что?

Ответить
Развернуть ветку
4 комментария
Anton Smets

Android Studio на втором месте в личном списке после VS Code. И честно, последние выглядят более перспективно

Ответить
Развернуть ветку
Lucas Mabrey

Все хотят в Google, а я не против бы в JetBrains

Ответить
Развернуть ветку
Ако Чавчавадзе

Спасибо JB за образовательные проекты

Ответить
Развернуть ветку
Alexander Malakhov

"Для этого есть маркетинг. У нас есть сотрудники, которые на примерах объясняют, почему это имеет смысл."

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

Ответить
Развернуть ветку
Денис Черемисов

Чем идешки от жебрейнса лучше плохинов от VSCode? Проще описать чем они хуже:

1. Ниже скорость запуска
2. У VSCode темки красивее
3. В Go-плохине у VSCode можно в фоне запускать линтеры от сообщества, которые раньше были эффективнее в отлове потенциальных ошибок и в указаниях по стилю — сейчас остался только стиль, инспекции Goland ошибки сейчас отлавливают значительно лучше. Эта тема с линтерами — общая, связана с особенностями работы с файлами.

Все остальное, вроде навигации, качества подсветки синтаксиса, рефакторингов и пр. гораздо лучше в продуктах от JB.

Ответить
Развернуть ветку
Ivan Ivanov

лучше Ctrl+Enter в PyCharm+Jupyter почините - стыдно же

Ответить
Развернуть ветку
Roman Pravuk

и command+shift+a почините в goland - падает со второго раза

Ответить
Развернуть ветку
3 комментария
Фёдор Скуратов

(Автору) Даш, а кто вопросы для интервью готовил?

Ответить
Развернуть ветку
Веганистан

Сижу на протяжении двух с половиной лет в PhpStorm, перерывы делаю только для похода в туалет)))
Интервью помогло понять как они умудряются внедрять (почти) всё то что программисту хочется. Конечно есть много чего и не хватает (глобальный поиск в DataGrip как в PhpMyAdmin например) и вечная индексация после изменения каждой буквы (в комбинации с WebPack) тоже ужасно бесит и встроенному терминалу я iTerm2 предпочитаю. Но в целом я доволен и с удовольствием плачу за качественный продукт. Да и цена не такая уж и огромная - я за какой нибудь хреновый WordPress плагин столько же в год плачу (а то и больше).

Ответить
Развернуть ветку
Веганистан

Лол, только сейчас, написав предидущий комментарий додумался исключить итоговые WebPack файлы из индексации 😂 Посмотрим как это изменит performance - думаю/надеюсь сильно.

Ответить
Развернуть ветку
Igor Novák

Сам программирование не осилил,дальше простеньких прог под Андроид не удалось уйти, но ИДЕЯ супер инструмент. 

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
158 комментариев
Раскрывать всегда