Напиши текст вакансии для должности "Senior Software Developer (AppCode)". Название компании: "JetBrains". Расположение: Санкт-Петербург. График работы: Гибкий график. Опыт работы: От 3 до 6 лет. Ключевые навыки: 

AppCode — это среда для разработки приложений под OS X и iOS, поддерживающая языки Swift, Objective-C а также C/C++. Среди задач развития IDE есть следующие:  поддержка языков Swift и Objective-C: автодополнение, подсветка потенциальных проблем в коде, рефакторинги, кодогенерация и пр.; запуск и отладка приложений на устройствах и симуляторах (iOS, watchOS, tvOS); поддержка библиотек для автоматического тестирования: XCTest, Kiwi, Specta, Quick — запуск тестов, навигация по результатам и генерация тестовых классов и методов.  Вместе с командой тебе предстоит:  развивать AppCode как продукт и участвовать в обсуждении новой функциональности; развивать поддержку языков Objective-C и Swift, разрабатывать средства анализа кода и рефакторинги; улучшать поддержку запуска и отладки OS X и iOS приложений; поддерживать новые библиотеки для автоматического тестирования; расширять поддержку проектной модели и интеграцию с Xcode.  Мы хотели бы видеть тебя в команде, если ты:  имеешь опыт разработки на Java в коммерческих проектах не менее 3-х лет; умеешь писать потокобезопасный код; знаком(а) с алгоритмами и структурами данных; понимаешь принципы ООП и умеешь разрабатывать масштабируемые API; умеешь тестировать код с помощью автоматических тестов; умеешь работать как в команде, так и самостоятельно; владеешь техническим и разговорным английским.  Особенно будем рады, если ты:  знаком(а) с OS X; разрабатывал(а) приложения для iOS или OS X на Swift, Objective-C, C/C++; имеешь опыт создания плагинов для IntelliJ IDEA, Eclipse или NetBeans.  Как мы разрабатываем AppCode: AppCode базируется на платформе IntelliJ - основе и для других продуктов JetBrains: IntelliJ IDEA, WebStorm, PhpStorm, RubyMine, PyCharm, CLion. Исходный код находится в Git репозиториях, некоторые доступны на GitHub. Большая часть написана на Java; есть части на Groovy и Kotlin. Некоторые низкоуровневые утилиты написаны на C/C++, например, взаимодействие с LLDB. Код покрывается автоматическими тестами, проходит ревью, после чего отдается в тестирование. Таким образом мы поддерживаем качество продукта и снижаем вероятность регрессий. Процесс разработки полностью прозрачен: каждый может участвовать в любой задаче, в обсуждении функциональности и планировании будущих версий. А чтобы лучше понимать нужды наших пользователей, мы открыто общаемся с ними на форумах и в блогах, помогаем им решать проблемы в нашем трекере и рассказываем об AppCode вживую на конференциях. Вообще, открытое общение с пользователями - одна из важных составляющих культуры JetBrains. Если ты хочешь работать над AppCode с нами и заниматься действительно интересными задачами - смело присылай свое резюме!