Senior Java/C++ Developer (Profilers Support)

Новосибирск

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

Среди приоритетных направлений развития IDE – создание средств профиляции Java программ, создание визуальных компонентов для профиляторов.

Вместе с командой тебе предстоит:

  • развивать IntelliJ IDEA как продукт и участвовать в обсуждении новой функциональности;
  • реализовывать поддержку различных инструментов, от низкоуровневой интеграции на уровне JDK до взаимодействия с пользователем через Swing UI;

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

  • имеешь опыт разработки на Java и/или С++ в коммерческих проектах не менее 5-ти лет;
  • понимаешь тонкости многопоточного программирования;
  • знаешь архитектуру современных компьютеров;
  • понимаешь принципы ООП и умеешь разрабатывать модульные и масштабируемые API;
  • умеешь тестировать любой код с помощью автоматических тестов;
  • умеешь работать как в команде, так и самостоятельно;
  • владеешь техническим и разговорным английским.

Особенно будем рады, если ты:

  • знаком с Unix, Windows и macOS;
  • занимался кросс-платформенной разработкой;
  • имеешь опыт с JVMTI;
  • разбираешься в профиляторах.

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

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

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

  • исходники хранятся в Git, часть из них в общем доступе на GitHub.
  • большая часть исходного кода написана на Java 8, есть отдельные части на Groovy, и всё больше кода пишется на Kotlin.
  • для организации командной работы используются наши собственные продукты: Upsource для ревью кода, TeamCity для автоматического запуска тестов и сборки продуктов, YouTrack для учёта багов и фич.
Откликнуться на вакансию
Расскажите нам немного о себе в свободной форме, напишите, почему вас заинтересовала вакансия. Мы будем рады изучить ссылки на ваши проекты, блоги или другие важные документы, которыми вы захотите поделиться.

Ваше резюме или портфолио: