Команда IDE
Язык буткемпа: Java, TypeScript
Мы разрабатываем плагины для IDE на базе IntelliJ Platform (IDEA, PyCharm, etc) и VS Code, интегрирующие наши инструменты разработчика с лучшими в своей области IDE. Ежемесячно нашими плагинами пользуются 8,5 тысяч человек, среди которых есть разработчики на C++, Go, Java, Python и даже PHP и Ruby. Плагины как обеспечивают интеграцию с нашей системой контроля версий Arc, так и позволяют проводить ревью кода, не переходя из IDE во внешний Web UI. Кроме того, при помощи внешнего по отношению к плагину набора утилит мы интегрируем IDE с нашей системой сборки, упрощая написание её конфигурационных файлов и переиспользуя информацию из неё для построения более полной проектной модели.
Кто мы?
Наша команда на данный момент состоит из пятерых человек, работающих в Санкт-Петербурге, Москве и Белграде. Вместо ежедневных созвонов мы раз в два дня разговариваем о текущих задачах и раз в неделю рассказываем о том, с чем мы столкнулись в саппорте. Мы работаем в распределенном режиме в часовых зонах от Таиланда до Белграда и время от времени собираемся в одной из локаций присутствия.
Кроме того, мы активно взаимодействуем с соседними командами, отвечающими за систему сборки, систему контроля версий и систему управления исходным кодом. Наши задачи одновременно выглядят и продуктовыми, и техническими, позволяя проявить себя с разных сторон.
А на чем же мы пишем код?
Плагин VS Code мы разрабатываем, используя TypeScript и React для сложного UI. Ну а в разработке плагина для IntelliJ Platform мы используем Kotlin и Java. Однако для написания интеграции с системой сборки придется погружаться также в код на C++, Python и Go.
Сложности и особенности
- У нас есть дежурства, в рамках которых мы обрабатываем проблемы пользователей при работе с IDE и собираем запросы на улучшения.
- Мы не ограничиваемся написанием только плагина, но и дорабатываем систему сборки и систему контроля версий. Кроме того, у нас есть несколько серверных компонентов (например, репозиторий плагинов), которые мы также дорабатываем.
- Поддержка привычного подхода к работе в IDE – то, что ожидает каждый разработчик, приходя в компанию. Однако на практике подходы отдельных разработчиков отличаются, и приходится выбирать ключевое и лучшее, чтобы сделать наши интеграции ближе к идеалу.
- Принятые в мире инструменты не всегда идеальны в своей мощности и удобстве. И это значит, что мы можем сделать инструментарий лучше, чем доступный разработчикам за пределами компании.
- Написание плагинов и IDE – редкое ремесло. Поэтому в наших задачах ожидается повышенный уровень самостоятельности и сложности.