
IntelliJ IDEA 2019.1: Кастомизация тем интерфейса, switch-выражения из Java 12, отладка внутри Docker-контейнеров

Компания JetBrains временно не ведёт блог на Хабре
Одна из проблем статического анализа в том, что его легко сделать умнее, чем надо. В результате он начинает выдавать предупреждения в таком коде, который человеку кажется нормальным. И так и хочется сказать анализатору «Отстань, зануда! Сильно умный что ли?»
Я в очередной раз почувствовал вкус всего этого, когда работал над поиском константных выражений для Kotlin. Ранее такой анализ был для Java, но для Kotlin он впервые появится только в следующей версии IntelliJ IDEA 2021.3. Инспекция базируется на анализе потока данных и находит в коде выражения, которые всегда равны одному и тому же. Изначально такая инспекция на Java сообщала только о логических выражениях, которые всегда равны true или false. Потом мы осторожно расширили её, и она стала сообщать ещё и о выражениях, которые всегда равны null или 0. Было решено проделать тот же путь для Kotlin.
Привет!
Снова пришло то время, когда нам пора поднимать маркетинг Котлина на новый уровень. Почему? Если коротко, мы очень выросли, и у нас очень большие амбиции.
Сегодня в маркетинге Котлина работает 2 (прописью: два) человека. Всем очевидно, что это очень мало. Результаты у них — заоблачные, но, во-первых, они зашиваются, во-вторых, один из них решил снова стать инженером и двигать вперед Machine Learning (на Котлине, разумеется). Теперь мы ищем не просто маркетолога, а человека, который сможет со временем собрать команду.
Вообще говоря, мы никогда не искали просто маркетолога. Нам нужен человек, который будет говорить с пользователями на одном языке. Это значит, что необходимо понимать девелоперов, их нужды и реалии. Нужно уметь шутить шутки для программистов, чувствовать ярость программистов и разделять их (нашу) радость. Нужно понимать, зачем люди, которые всю неделю пишут код на работе, по выходным и вечерами пишут код в хобби-проектах. Самый простой способ этого достичь: самой/самому писать код. Хотя бы какое-то время. Можно по будням :) Опыт в DevRel явно пригодится. Опыт выступлений и/или организации конференций, написания учебрных материалов, создания комьюнити разработчиков — тоже (а что, собственно, еще такое DevRel?). И очень пригодится опыт продвижения идей. Любых идей.
Если вам интересно, как продвигаются такие продукты, и особенно если вы хотите принять такой вызов и прийти к нам работать, читайте дальше.
Два года назад я вызвался постоять на стенде нашей компании JetBrains на последней конференции JBreak в Новосибирске. Перед конференцией мне спустили сверху вот такие карточки:
И сказали, мол, ну раздай каким-нибудь людям на конференции на своё усмотрение. Я запаниковал. Как же я буду людей-то выбирать?
Тогда я довольно плотно работал с анализом потока данных в статическом анализаторе IntelliJ IDEA для Java. Во-первых, я обкатывал новые фичи, проверяя код самой IDE. Во-вторых, разгребал входящие баг-репорты. Иногда IDEA находила удивительные проблемы, и мне приходилось долго разбираться, чтобы вообще понять, правильное ли предупреждение она выдаёт или это баг.