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

Java Developer (RubyMine)

Требования

Бэкенд, Старший (Senior)Java

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

Санкт-ПетербургПолный рабочий день

Компания

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

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

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

RubyMine — среда разработки для Ruby, создаваемая нами с любовью для других программистов. RubyMine — первая специализированная IDE на платформе IntelliJ IDEA, первая версия которой была выпущена в 2008 году, с тех пор новые версии выходят примерно два раза в год. Сейчас RubyMine используют более шестидесяти тысяч программистов по всему миру, включая такие компании как Twitter, NASA и New Relic.

Мы хотим видеть тебя в своей команде, если ты:

  • умеешь и любишь решать сложные и по-настоящему интересные задачи;
  • хочешь улучшить RubyMine и знаешь как именно;
  • имеешь опыт разработки на Java от 3 лет;
  • умеешь проектировать и писать код, который легко читать и поддерживать;
  • понимаешь, как работает код, который ты пишешь: как он исполняется и какие алгоритмы за ним стоят;
  • умеешь работать в команде (открыт для других точек зрения и можешь аргументированно отстаивать свою позицию);
  • не останавливаешься в своём развитии, изучаешь и пробуешь новые подходы и технологии;
  • испытываешь профессиональную гордость от результатов своей работы.

И особенно если ты:

  • имеешь опыт участия в open-source проектах или ведения собственных проектов;
  • знаешь другие языки и другие парадигмы (Haskell, Python, C, Ruby, etc.);
  • знаком(а) с технологиями создания компиляторов, анализа кода.

Какие задачи мы решаем:

Задачи, которые ставятся перед программистами, можно разделить на два типа.

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

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

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

Как устроено внутри:

Исходники хранятся в Git, часть из них в общем доступе на GitHub (github.com/JetBrains/intellij-community).

Большая часть исходного кода написана на Java 8, есть отдельные части на Groovy, и всё больше кода пишется на Kotlin.