👀 Дизайнеры, какая команда подходит вам по вайбам? Проверяйте на Вайб-чеке→ vibe.habr.com

New Secret IDE

Местоположение и тип занятости

Москва, Санкт-Петербург, НовосибирскПолный рабочий деньМожно удаленно

Компания

Делаем эффективные инструменты для разработчиков

Описание вакансии

Условия работы

Вы удивитесь, но мы решили создать новую IDE с нуля и собрали смелую команду с proven success track в создании инструментов внутри JB. И прямо сейчас у нас есть прототип и куча велосипедов.

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

Первая часть — редактор, который написан на новом кроссплатформенном UI фреймворке. Когда мы делали этот фреймворк, то вдохновлялись React.js и Swift UI.

Вторая часть — небольшая программа, написанная на Rust, которая рассказывает про устройство файлов на диске и запускает процессы. File watcher, process monitor и HTTP client в одном бинарнике.

Третья часть — сервер, который анализирует исходный код проекта. Это может быть IntelliJ, ReSharper или LSP сервер.

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

Что нужно делать:

Мы считаем, что лучше всего работать в full-stack режиме и думать о продуктовой стороне каждой новой функции.

В нашей IDE мы хотим поддержать:

  • Удаленный запуск и отладку;
  • Разработку в нескольких Docker-контейнерах одновременно;
  • Разные билд-системы и проектные модели;
  • Совместное редактирования кода;
  • Новые функции редактора;
  • Языки Kotlin, Java, Go, Python;

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

Чего мы ждем от соискателя:

  • Опыта разработки на Java или Kotlin;
  • Уверенного разговорного английского (все разговоры внутри команды на английском языке);
  • Умения решать сложные задачи в реальных условиях;
  • Знания алгоритмов и структур данных. На собеседовании мы поговорим о том как устроены базовые структуры данных и как работают многопоточные программы.
  • Умения создавать простые и мощные архитектурные решения;
  • Способности быстро разбираться в деталях многочисленных технологий.