Senior Software Developer (IDEA, Scala Support)

Санкт-Петербург

IntelliJ IDEA – лучшая среда разработки для Java и других языков программирования, создаваемая нами с душой и страстью для других программистов. Первая версия продукта была выпущена в 2001 году, с тех пор новые версии выходят ежегодно, и сейчас IntelliJ IDEA используют сотни тысяч программистов по всему миру.

Scala plugin делает IntelliJ IDEA самой продвинутой и популярной средой разработки для Scala. Мы не собираемся останавливаться на достигнутом, и хотим сделать поддержку Scala еще лучше.

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

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

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

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

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

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

  • Первый тип – задачи, связанные с анализом Scala кода. В отличие от других инструментов, мы не используем информацию от компилятора, и вычисляем всё самостоятельно. Язык постоянно развивается, и нам необходимо поддерживать его новые возможности.
  • Второй тип – использование полученной информации для различных фич IDE, таких как рефакторинги, автодополнение, различные подсказки и т.п.
  • Третий тип задач – интеграция со сторонними инструментами: компилятором, отладчиком, системой сборки, тестовыми фреймворками, а также поддержка новых возможностей платформы IntelliJ IDEA.
  •  Ты сможешь взяться за практически любую подсистему или за реализацию новой, придуманной тобой фичи.

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

  •  Исходники хранятся в Git, большая часть из них в общем доступе на GitHub (https://github.com/JetBrains/intellij-scala).
  •  Большая часть кода написана на Scala, для сборки проекта используется sbt.
  •  Для организации командной работы используются наши собственные продукты: UpSource для ревью кода, TeamCity для автоматического запуска тестов и сборки продуктов, YouTrack для учёта багов и фич.

Откликнуться