Senior Software Developer

Kotlin — относительно новый язык программирования для платформ Java, Android, JavaScript и Native (LLVM). Первый релиз вышел в 2016 году, сейчас язык быстро набирает популярность, в частности официально поддерживается на платформе Android, в Spring Framework 5, vert.x и Gradle.

Проект ориентирован на прагматические ценности: удобство инструментария (IDE, build tools, etc), совместимость, поддерживаемость кода и легкость изучения языка. Мы занимаемся тем, что делает пользователей счастливее, и не гонимся за исследовательскими задачами.

Мы поддерживаем и развиваем три бэкэнда: JVM byte code, JS и LLVM. Компилятор тесно интегрирован с IDE (IntelliJ IDEA, Android Studio, Eclipse, NetBeans) и билд-системами (Gradle, Maven), поддерживается инкрементальная компиляция. Для пользователей очень важно время отклика наших инструментов, поэтому мы уделяем много внимания производительности компилятора.

Над проектом сейчас работает около сорока высококлассных инженеров. Мы работаем в довольно быстром темпе, без бюрократии, не боимся экспериментов и очень ценим инициативу и изобретательность. У нас очень легковесный процесс разработки:

  • Ежедневные стендап-митинги, pre-commit review, автоматические функциональные тесты и continuous integration
  • Разработчики общаются с пользователями напрямую через YouTrack, форум и Slack
  • Практически весь новый код пишется на Kotlin, исторически значительная часть проекта написана на Java
  • Проект разрабатывается на GitHub под лицензией Apache 2.0

Вам предстоит:

  • Заниматься поддержкой и развитием всех частей компилятора: от парсера до кодогенераторов
  • Уделять много внимания оптимизации производительности компилятора
  • Реализовывать новые возможности в языке Kotlin, принимая активное участие в их дизайне

Наиболее ценными навыками и умениями кандидата мы считаем:

  • Умение решать сложные задачи
  • Опыт промышленной разработки от 4 лет
  • Понимание принципов работы компиляторов или методов статического анализа
  • Умение проектировать и писать код, который легко читать и поддерживать
  • Знание основных алгоритмов и структур данных
  • Умение работать в команде

Также приветствуется:

  • Опыт разработки на Java, Kotlin или других JVM языках
  • Знакомство с JVM byte code или IR другой виртуальной машины
  • Опыт участия в open-source проектах или ведения собственных проектов
Откликнуться на вакансию
Расскажите нам немного о себе в свободной форме, напишите, почему вас заинтересовала вакансия. Мы будем рады изучить ссылки на ваши проекты, блоги или другие важные документы, которыми вы захотите поделиться.

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