Java Developer (Educational Tools)

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

Мы в JetBrains верим, что быть разработчиком означает постоянно учиться, а быть разработчиком высокого уровня – не только учиться самому, но и передавать свои знания другим. К тому же мы всегда ищем способы облегчить те или иные задачи повседневной жизни разработчиков с помощью высококачественных инструментов, которые мы и создаем. И задача обмена знаниями – не исключение. Именно поэтому мы создали такой инструмент как PyCharm Edu, который помогает учить Python непосредственно программируя на этом языке. Кроме того, как авторы языка Kotlin, мы создали Kotlin Educational plugin, а также серию задач Kotlin Koans. Но мы не хотим останавливаться и собираемся развивать линейку инструментов для онлайн-образования.

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

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

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

  • имеешь опыт участия в open-source проектах или ведения собственных проектов;
  • имеешь преподавательский опыт;
  • имеешь опыт прохождения или создания курсов на Coursera, edX и других MOOC-платформах;
  • знаешь другие языки и другие парадигмы (Haskell, Python, Scala, Ruby, etc.);
  • хорошо понимаешь принципы ООП;
  • умеешь писать потокобезопасный код.

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

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

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

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

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