Истории Daria Khokhlova
37 202

«Разработка языка 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. Потом сделал свой продукт, который с нами конкурирует. Он очень хороший чувак, я всё жду, когда его можно будет обратно забрать.

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

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

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

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

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

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

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

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

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

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

#интервью #jetbrains

{ "author_name": "Daria Khokhlova", "author_type": "editor", "tags": ["\u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e","jetbrains"], "comments": 160, "likes": 190, "favorites": 208, "is_advertisement": false, "subsite_label": "story", "id": 72800, "is_wide": true, "is_ugc": false, "date": "Tue, 25 Jun 2019 11:45:13 +0300" }
{ "id": 72800, "author_id": 5723, "diff_limit": 1000, "urls": {"diff":"\/comments\/72800\/get","add":"\/comments\/72800\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/72800"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199131, "last_count_and_date": null }
160 комментариев

Популярные

По порядку

Написать комментарий...
30

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

Ответить
38

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

Ответить
14

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

Ответить
8

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

Ответить
4

язык 1C давно на западе. Да и на востоке тоже. У вас информация очень сильно устарела. Видимо у JetBrains также. И кодят там на англицком "нормальные пацаны".
https://github.com/FoxyLinkIO/FoxyLink

язык 1С давно уже поддерживает работу в Eclipse и VSCode - первое за деньги, второе OpenSource
https://marketplace.visualstudio.com/items?itemName=xDrivenDevelopment.language-1c-bsl

язык 1C давно уже имеет подсветку синтаксиса на GitHub и явно определяется как 1С язык
https://github.com/search?utf8=%E2%9C%93&q=language%3A%221C+Enterprise%22&type=Repositories&ref=advsearch&l=1C+Enterprise&l=

В довесок
* для языка 1С уже давно есть TDD и BDD фреймворки
* платформа 1С давно уже запускается в докере

Но компания JetBrains продолжает игнорировать 1С в принципе - видимо как компанию. А 1С разработчики вынуждены сами пилить плагин https://github.com/1c-syntax/intellij-language-1c-bsl

И пока данный игнор продолжается - в России так и будет сохранятся 3-4% рынка, о чем JetBrains уже намекали в их твиттере

https://twitter.com/JetBrainsRu/status/1091318029164646400

JetBrains сегодня 19! 🎂 За это время мы выпустили 19 IDE, 4 инструмента для командной работы, 4 образовательных продукта и даже 1 @Kotlin. А какой новый продукт от JetBrains вы хотели бы увидеть? Отмечайте свои ответы #JB19Bday и участвуйте в розыгрыше All Products Pack!
Ответить
0

Заинтересовался фразой «кодят на англицком нормальные пацаны», перешёл по вашей ссылке, попал в украинский репозиторий. Как-то это скорее опровергает тезис «язык 1С давно на западе», чем подтверждает.

Ответить
0

А как интересно гражданство владельца продукта опровергает мой тезис, что нормальные пацаны давно кодят на английском ? У меня Российское гражданство - это значит если я делаю решение для западного рынка на базе 1С, это означает что мой код все равно русский ? Вы серьезно ?

Мои коллеги из Коллумбии которые вообще испаноговорящие которые вместе со мной кодят - видимо также кодят на русском потому что владелец продукта я.

Но если серьезно - я разделяю язык и юридические компании.

Ответить
3

Ответ же есть :)
Больше всего мы зарабатываем в Штатах, где-то 40%. 3% в России, 4% — СНГ.

Ответить
0

Привет, Максим :) Вот так встреча 😅

Ответить
0

Раньше друзья и коллеги часто говорили мне "Ооо, опять видел тебя на vc.ru"
Последнее время редко тут...

Ответить
24

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

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

Ответить
28

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

Ответить
7

Открыто 5 крупных проектов
2 монитора 2560 x 1440, всё летает

Ответить
1

Не все, что идея - Java, давай так сформулируем. Ну и крупный - субъективное понятие. На 600 KLOC С++ проекте CLion жрет не меньше 8, а индексирование высаживает батарею MB Pro процентов на 70

Ответить
0

не туда ответил 🙃

Ответить

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

15

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

Ответить
0

А у меня со внешним 4k монитором буковки медленно набираются. Говорят, из-за недостаточно крутой видеокарты в MacBook pro 13 и странной работы Java c ней в MacOS.

Ноут за 160 тыщ, монитор за 30 - и чтобы быстро писать код в IDE, приходится снижать разрешение экрана.

Ответить
8

MB Pro 13 просто боль. Мы долго бились за то, что бы наше приложение не вешало графическую подсистему их. И, судя по всему, скоро предстоит вторая итерация, потому что пользователи 13шек (по крайней мере внутри офиса) снова жалуются, что тормозит и греется. При этом на винде мы сносно себя на атомах 9 летней давности чувствуем.

Ответить
0

Да, я вот здесь читал (https://youtrack.jetbrains.com/issue/JBR-526?p=IDEA-144261), что необходимо переезжать на Metal под MacOS.

Буду ждать новостей. Работать на Windows для меня гораздо больнее, чем снижать иногда разрешение экрана.

Ответить
2

Не поможет. У нас новая волна проблем с переезда на метал и началась.

Ответить
5

Раз уж пошёл такой разговор - то в чём конкретно сейчас проблема?

В JVM, в графике Intel, в коде JetBrains, OpenGL, Metal, или вселенная просто не любит разработчиков с техникой Apple?

Ответить
0

Вот тоже интересно. На современных компьютерах кажется вообще не должно тормозить отрисовка прямоугольничков и текста. 20 лет назад IDE летали на компьютерах тех лет.

Ответить
2

К сожалению, оперативка как была медленным г****, так им и останется в DDR5 :( На макбуках с ретиной и интеловской графикой очень легко поставить раком контроллер памяти, видимо из-за особенностей драйвера. На OpenGL проблему решили занизив размер буферов для постпроцессинга (а то где вы UI в 2019 без тенюшек и блюра видели?), где затык с металлом пока не было возможности понять

Ответить
0

PhpStorm основной инструмент разработки, планирую покупку нового iMac 27'' 5K, есть по ним информация какая конфигурация тащит? Сейчас на MB13 работаю, испытываю боль, надеялся на дорогой апгрейд, но, прочитав этот тред, засомневался.

Ответить
1

у меня прошка 15 года — тащит 2 проекта (с Хромом на музыке и 30 вкладками) и с виртуалкой — только немного греется и батарею сосет...

на работе был iMac 21" — торпеда, не бойся совсем... НУ и в проекте отрубай папку vendor с переключением на композер

Ответить
0

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

Ответить
0

Мне лень реверсить java2D. Могу предположить, что там дофига оффскрина

Ответить
0

20 лет назад и IDE были примитивнее. Вот эта статья может прояснить, что там не просто "отрисовка прямоугольничков и текста": https://habr.com/ru/company/jugru/blog/424763/

Ответить
0

Может и примитивнее, тот же Delphi с подсветкой, автокомплитом и визуальным редактированием интерфейса летал просто.

Ответить
1

Delphi, помнится, летал до седьмой версии включительно, где из подсветки кода было выделение жирным синим шрифтом директив var, begin, end и зелёным курсивом комментариев. В этом плане её сейчас даже Notepad++ уделает. Никакого серьёзного анализа кода, например, там не было. А когда начали всё это добавлять, то и летать она стала, скажем так, пониже.

Ответить
1

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

Ответить
–1

это все технологии созданные 20 лет назад. и рендерить на экране нужно немного и не каждый кадр. проблемы idea лежат гдето в архитектуре явы или их графических реализаций. работает она мягко говоря хуево, особенно в сравнении с 19 студией, и больше похожа на vscode на сраном яваскрипте. пора уже переходить с этого говномонстра на шарпы которые создавали настоящие кодеры для кодеров, а не наркоманы для бухгалтеров

Ответить
0

Быть может проблема в том что айтишники хвастаются своим гигабайтистым и многогигагерцовым железом за много тыЩщЩ вместо того чтобы писать эффективный код на эффективных языках?

Ответить
0

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

Ответить
0

Было где-то года полтора назад такое, только на нормальном конфиге с полноценной десктопной видяхой. Так и не понял в итоге, в дровах Nvidia была проблема или в IDEA, но спустя время починилось.

Ответить
0

Good for you. Кроме шуток. Мне не так везет, в итоге на маке съехал обратно на XCode. На винде, к счастью, есть студия.

Ответить
0

Но ведь и на Мак есть VS Code

Ответить
0

Может он имел в виду классический vs.

Ответить
0

Ну он и на маке скорее продвинутый редактор, чем IDE.

Ответить
3

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

Ответить
0

Почему?)

Ответить
0

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

Ответить
0

А если нет "лишней" памяти?)

Ответить
0

Тогда важно поставить вопрос об обновления железа. Потому что в потреблении это вполне адекватные цифры для 2019 года.

Ответить
2

У меня есть MS Visual Studio и он на этом же проекте жрет в 3-4 раза меньше. Надо написать в микрософт, попросить чтобы увеличили потребление.

(А еще у меня макбук 2018 года на 6-ядерном i7 с 32 Gb памяти, больше памяти на них не бывает, сори)

Ответить
0

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

Ответить
0

А у кого-то еще не SSD? BTW, M2 не дает гарантии, что будет PCI-E использоваться. Есть m2 SATA

Ответить
0

Ну если нет, то очевидно будет медленней всё работать,так как значительно более низкая скорость чтения по сравнению с SSD. После того, как я переехал на SSD обнаружил, что ранее система или программы именно из-за HDD лагали и фризились. Теперь летает вообще всё, включая IDE...

Ответить
0

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

Ответить
29

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

Ответить
12

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

Ответить
–8

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

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

Ответить
15

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

Ответить
2

ВС код с кучей плагинов жрет так же наверное. Но вот интерфейс отзывчевее и запускается намного быстрее.

Ответить
0

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

Ответить
0

У меня в последнее время автокомплитить стал быстро достаточно на моей не особо шустрой машине. Но это возможно зависит от связки самого ВС и плагина и внешней утилиты автокомплита, потому что на этом же компьютере питоновский автомплит работал моментально (и пишу на ГОу). А вот JB Goland вообще стал не поворотливым, стартует по минут 5 и потом еще раскочегаривается не сразу по началу в нем все тормозит. Поэтому при наличии лицензии даже на goland, сижу в ВС.

Ответить
0

Кстати, никогда не понимал, почему все его шустрым считают. Работаю на не особо мощном железе, 8 ГБ памяти. IDE от JetBrains стартуют дольше, после чего работают шустро (переиндексация не в счёт - минута другая в месяц после обновления IDE это вообще ни о чём), а VSCode стартует быстро, но постоянно затыкается при автокомплите, при том, что он куда как более тупой. Разве что подсветка синтаксиса у него получше.

Ответить
0

Подсветка синтаксиса у него хуже. Например, VSCode не умеет выделять типы аргументов функций.

Ответить
1

Уточнение: Sublime на С++ и очень быстрый, в отличие от Атом.

Ответить
0

Эх, зачем же так неосторожно палиться Нотпад плюсом ((((( Степа, ты себя дискредитировал.

PS: даже в самых мелких проектах юзаю Сторм. Несравнимо.

Ответить
–1

notepad++ как аналог geany. Для мелких проеков из десяти файлов и пару библиотек более чем достаточно.
Переключаться в IDE между проектами не удобно, а так два монитора - два куска кода от разных проектов, но так или иначе взаимодействующих между собой.

Ответить
0

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

Ответить
7

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

Ответить
0

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

Ответить
1

Ни то, ни другое не понравилось. Уровень тимлида, а не главы большой компании. И тут и там ничего о реальной стратегии - как будут код писать через 5 лет, какие инструменты будут в ходу, будут ли за них платить? Вопрос по облакам тут очень к месту, а вот ответ ни о чём.

Ответить
0

Ок. Вы глава какой компании?

Ответить
7

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

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

Ответить
0

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

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

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

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

Ответить
9

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

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

Ответить
–6

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

Ну если их тупо освоить в корпоративном болоте, то вы правы. А для стартапа (без хипстеров, смузи и теслы) это огромные деньги.

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

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

Ответить
6

Ну потом и кривая избушка в лесу и получится. Да, я серьезно про офис, электричество и железо.

Ответить
0

Понятно, у меня один только вопрос - ты программист?

Ответить
5

Не, я просто так в этой ветке распинаюсь. А так я цветы выращиваю по жизни :) На поляне в лесу.

Ответить
–3

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

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

Ответить
12

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

А команда Kotlin находится в постоянном взаимодействии с сообществом, чтобы делать язык, которым реально удобно пользоваться разным людям. Например, часть этого взаимодействия — конференция KotlinConf. Кто из 15 программистов в европейской деревне занимался бы её организацией?

Ответить
0

программисты в глухой деревне сделают прекрасный язык для самих себя

Ну вот, вы правильно всё говорите. Сделают язык для себя, им же с ним и работать потом.

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

Так вы определитесь, программисты сделают ЯП для себя или для каких-то мифических "никто"?

А команда Kotlin находится в постоянном взаимодействии с сообществом

А через интернет нельзя постоянно находиться во взаимодействии с сообществом?

которым реально удобно пользоваться разным людям

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

часть этого взаимодействия — конференция KotlinConf

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

Прям без конференции баста - не получится сделать и обсудить... Программисты ведь и правда не сидят днями за компьютером в интернете. И набирают текст пальцами, а не слепой печатью, неудобно ведь пальцами простыни писать, да?

Ответить
0

Так вы определитесь, программисты сделают ЯП для себя или для каких-то мифических "никто"?

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

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

В интервью, которое вы комментируете, прямо обозначена цель «удовлетворить всех, кроме системного программирования». Вы, конечно, можете считать «выйдет ерунда», но рост Kotlin и его место в списке most loved languages по опросу Stack Overflow говорят об обратном.

Ответить
0

Грубо говоря, предоставленные сами себе компиляторщики сделают язык для компиляторщиков

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

Я говорил об авторах с интересными идеями, которые прежде проходят конкурс, рассказывают, что они планируют сделать и как. Обсуждают с сообществом свою идею. А затем, по результатам голосования, им даются ресурсы для работы.

удовлетворить всех, кроме системного программирования

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

Ответить
1

Фанатики - это люди у которых есть страсть к чему то. это же круто. для компании такие сотрудники круче чем посредственные и куда-все-туда-и-я.

Ответить
0

Замечу, что на момент 2016 года проект OpenJDK некоторыми компетентными в этом вопросе людьми оценивался в $1B

Ответить
0

И что? Теперь нельзя с нуля новую экосистему сделать за "копейки" вместе с сообществом?

Ответить
8

Этож зарплата 15 EU программистов в течении 20 лет

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

Ответить
0

Интересно, а что за звёзды, какими стартапами, библиотеками или фреймворками они знамениты?

Ответить
0

Язык программирования Kotlin, например

Ответить
0

Язык программирования Kotlin, например

А изначально набрали по объявлению? Ну ок, просто я подумал, что Котлин разрабатывают "звёзды", знаменитые своими прошлыми проектами.

Ответить
0

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

Ответить
0

Так звёзды или непосредственные личности? Совсем меня запутали )

Ответить
2

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

Ответить
–1

У Линуса же получилось как-то? Начинать можно и с одного программиста, всё равно вначале больше проектирование, чем программирование. Можно даже было бы объявить конкурс на весь мир и инвестировать на старте в нескольких авторов с разными идеями.

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

Ответить
–1

А что именно у него получилось?) Что от Линуса в современных ядрах осталось?

Ответить
0

А что именно у него получилось?)

Дмитрий, я повторюсь, в очередной раз - ты это вот опять серьёзно всё?

Ответить
2

Я опять обсолютно серьезно. Я живу в реальном мире, в котором ядро линукса пишет очень много исключительно дорогих программистов, и отнюдь не в свое свободное время. Линус устранился уже даже от PR в ядро, занимается почти исключительно демагогией

Ответить
0

Понятно, тогда у меня даже одного вопроса не будет, удачи.

Ответить
–1

У Линуса же получилось как-то?

может потому что 19 других версий Линукса умерли? (я диванный погромист, если что)

Ответить
0

Ну не 19, но умерли, да. Поэтому на старте нужно несколько проектов запускать и смотреть, кто может к финишу добраться.

Ответить
0

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

Ответить
5

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

Ответить
1

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

Ответить
1

1500 руб были с долларом по 60

Ответить
0

потому что з/п на тот момент ещё не адаптировались к падению курса

Ответить
0

Как-будто сейчас адаптировались

Ответить
0

сейчас - да. в 2007-м году, помнится, топовые зарплаты на rsdn пробили $4K, и сейчас на hh найти такие з/п несложно

Ответить
1

Про 2007 не скажу, но до з/п в долларах, которая была в 2014 году всё ещё далеко.

Ответить
4

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

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

Ответить
3

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

Ответить
0

Resharper же помогает покупать Rider. Не вижу проблем и тут

Ответить
0

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

Ответить
1

Комьюнити же есть для некоторых продуктов, вполне бесплатно

Ответить
4

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

Ответить
4

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

Ответить
2

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

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

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

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

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

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

Ответить
3

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

Ответить
0

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

Ответить
3

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

Ответить
–14

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

Ответить
6

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

Ответить
0

Звучит как наболевшее

Ответить
5

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

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

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

Да вы большой оригинал!

Ответить
1

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

Ответить
0

Никто не пойдёт писать что-то из-за бренда? Да ладно. Гугловский Go продвигается исключительно за счет брэнда. Фейсбучный Реакт получил широкое распространение не в последнюю очередь из-за брэнда ФБ. И т.д и т.п. У нас брендированная экономика, чувак. Прошли те времена энтузиастов, когда на Java Script писали потому что он технически заточен непосредственно под веб UI. Настали времена брендированных ЯП.

Ответить
1

Go, часто навязывается самим гуглом и "политиками" компаний кто работает с GCP.
Но он хоть и корявый но быстрый
React получил распрастранение потому что он быстрый и простой как 5 копеек.

Ответить
–1

React вправду удобен, и для многих тень FB на фоне react'а - даже некоторая угроза, что есть минус

Ответить
0

Гугловский Go закрыл пустующую на рынке нишу И выстрелил на волне хайпа докера (который на нем написан).
Если бы не докер, он бы до сих пор соревновался с D и Vala.

Ответить
–1

Все эти диалекты одной и той же фигни выстреливают исключительно на волне хайпа.

Ответить
1

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

Ответить
2

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

Ответить
2

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

Ответить
2

Каждый раз когда JetBrains мелькает в новостях сильно горжусь. Спасибо за отличные продукты каждый день пользуюсь на работе)

Ответить
0

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

Ответить
4

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

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

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

Ответить
3

У меня нет кода на джаве :(

Ответить
2

Я в прошлом году спрашивал Андрея Бреслава о пороге вхождения для тех, кто без кода на джаве, он ответил так:

«Безусловно, сейчас больше книг для тех, кто уже писал на Java, чем для тех, кто не писал. Но, по-моему, уже вышли одна-две книги для начинающих с нуля. И Брюс Эккель сейчас работает вместе со Светой Исаковой над книгой Atomic Kotlin, которая тоже для начинающих с нуля, до этого вообще не программировавших. Так что поспевает несколько таких инициатив.

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

https://jug.ru/2018/03/breslav-interview/

Ответить
2

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

Ответить
0

Я имел в виду людей которые вообще с джавой не работали.

Ответить
0

А на чем писали до этого? Мне вот еще знание Питона, оставшееся со студенческих лет, сильно помогло при вкате в Котлин.

Ответить
0

10 лет на питоне и JS

Ответить
–1

У Kotlin'a нулевой порог вхождения, как и у Java.

Ответить
2

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

Ответить
1

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

Ответить
0

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

Ответить
0

Найдите фразы:
1. «Когда мы начинали, я действительно уходил в 2–3 часа ночи, работал и в субботу, и в воскресенье. Просто потому что было ужасно интересно.»
2. «Я переспал с этой мыслью ночь, на следующий день пришёл и сказал: «Да, хочу»
И
3. Мы никогда не потянем и не сделаем его популярным. Ну а на следующее утро я пришёл и сказал: «Всё, делаем».

Вам не кажется что там перерабатывают и возможно это часть культуры?

Ответить
0

:) это я понял. Я не понял что такое "кранчи"

Ответить
1

А, это серьезные переработки, когда день и ночь пашешь.

Ответить
1

Спасибо что объяснили. А то гугл на первой странице выдает что то по скручивание в физических упражнениях.

Ответить