Software Developer (VCS Integration)

Новосибирск

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

  • Умеешь и любишь решать сложные и по-настоящему интересные задачи;
  • Имеешь опыт разработки на Java от 5 лет;
  • Умеешь проектировать и писать код, который легко читать и поддерживать;
  • Хочешь работать над юзабилити и придумывать решения, действительно удобные для сотен тысяч пользователей IntelliJ IDEA;
  • Понимаешь, как работает код, который ты пишешь: как он исполняется и какие алгоритмы за ним стоят;
  • Умеешь работать в команде: открыт для других точек зрения и можешь аргументированно отстаивать свою позицию;
  • Не останавливаешься в своём развитии, изучаешь и пробуешь новые подходы и технологии;
  • Испытываешь профессиональную гордость от результатов своей работы.

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

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

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

  • Наша основная задача — сделать интеграцию с системами контроля версий такой, чтобы с ними было работать удобно и комфортно. В частности, сделать WTF-эффект от их использования минимальным.
  • Все существующие VCS нередко кажутся сложными или неудобным, особенно поначалу. Мы стараемся сделать работу с VCS понятной и безопасной для новичков, но при этом не лишить опытных пользователей мощи нативного тула, а даже дать им дополнительные возможности.
  • Больше всего мы работаем над юзабилити. Нужно проанализировать, какие сценарии работы есть у пользователя, зачем именно ему нужна такая-то фича, и реализовать её наилучшим образом, нередко совсем другим, чем изначально хотел пользователь.
  • При этом такой мощный и удобный инструмент должен ещё и быстро работать и памяти поменьше есть и вообще вести себя незаметно. Соблюсти здесь баланс — отдельная сложность и прелесть работы над VCS.
  • Также ты сможешь взяться за практически любую подсистему или за реализацию новой, придуманной тобой фичи.

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

  • Большая часть исходного кода написана на Java 8 и всё больше нового кода пишется на Kotlin.
  • Для автоматического тестирования используются JUnit-тесты, которые после каждого изменения запускаются на сервере TeamCity.
  • Все коммиты проходят ревью в Upsource, при этом процесс гибкий: простые фиксы можно сразу пушить в мастер и проходить ревью позже, более сложные делаются на фича-бранчах.

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