Senior Java Developer (RubyMine)
Зарплата
от 200 000 ₽
Требования
Местоположение и тип занятости
Компания
Делаем эффективные инструменты для разработчиков
Описание вакансии
Условия работы
RubyMine — среда разработки для Ruby, создаваемая нами с любовью для других программистов. RubyMine — первая специализированная IDE на платформе IntelliJ IDEA, первая версия которой была выпущена в 2008 году, с тех пор новые версии выходят примерно два раза в год. Сейчас RubyMine используют более шестидесяти тысяч программистов по всему миру, включая такие компании как Twitter, NASA и New Relic.
Мы хотим видеть тебя в своей команде, если ты:
- Умеешь и любишь решать сложные и по-настоящему интересные задачи
- хочешь улучшить RubyMine и знаешь как именно;
- имеешь опыт разработки на Java от 5 лет;
- умеешь проектировать и писать код, который легко читать и поддерживать;
- понимаешь, как работает код, который ты пишешь: как он исполняется и какие алгоритмы за ним стоят;
- умеешь работать в команде (открыт для других точек зрения и можешь аргументированно отстаивать свою позицию);
- не останавливаешься в своём развитии, изучаешь и пробуешь новые подходы и технологии
- испытываешь профессиональную гордость от результатов своей работы
- И особенно если ты:
- имеешь опыт участия в open-source проектах или ведения собственных проектов;
- знаешь другие языки и другие парадигмы (Haskell, Python, C, Ruby, etc.);
- знаком(а) с технологиями создания компиляторов, анализа кода.
Какие задачи мы решаем:
- Задачи, которые ставятся перед программистами, можно разделить на два типа.
- Первый тип — задачи, связанные с обработкой большого объема исходного кода. IDE должна на лету обрабатывать введённый код, подсвечивать в нём ошибки, предлагать варианты автодополнения, помогать быстро переходить между связанными элементами, поддерживать автоматическое выполнение рефакторингов.
- Второй тип задач — интеграция IDE со сторонними инструментами, например системами управления зависимостями, генерации кода, контейнеризации. Пользователю должно быть удобно работать со всеми этими инструментами, не покидая IDE.
- Ты сможешь взяться за практически любую подсистему или за реализацию новой, придуманной тобой фичи.
Как устроено внутри:
- Исходники хранятся в Git, часть из них в общем доступе на GitHub (https://github.com/JetBrains/intellij-community).
- Большая часть исходного кода написана на Java 8, есть отдельные части на Groovy, и всё больше кода пишется на Kotlin.
- Для организации командной работы используются наши собственные продукты: UpSource для ревью кода, TeamCity для автоматического запуска тестов и сборки продуктов, YouTrack для учёта багов и фич.
- При интеграции с инструментами зачастую приходится общаться с их разработчиками и вносить необходимые изменения в код этих инструментов, большинство из которых написано на Ruby, но есть области где используется С (отладчик).