Java Developer (PhpStorm)

Требования

Бэкенд, Старший (Senior)JavaKotlin

Местоположение и тип занятости

Москва, Санкт-Петербург, НовосибирскПолный рабочий день

Компания

Делаем эффективные инструменты для разработчиков

Описание вакансии

Условия работы

PhpStorm — самая популярная среда для разработки на PHP. Она написана на Java/Kotlin и основывается на платформе IntelliJ. Первая версия продукта была выпущена еще в 2010 году. С тех пор PHP сильно изменился как язык (и продолжает меняться до сих пор), поэтому перед нами постоянно возникают задачи по поддержке новых возможностей PHP.

Мы ищем в команду Java-разработчика. Предстоит заниматься интересными задачами. Вместе с командой PhpStorm вы будете улучшать повседневную жизнь почти миллиона разработчиков по всему миру.

Как мы разрабатываем PhpStorm:

  • Мы ищем кандидата с сильной технической подготовкой, имеющего опыт программирования на Java/Kotlin от 3-х лет. Важно, чтобы этот человек умел мыслить за пределами поставленных задач. В силу плоской иерархии команды принятием решений и их реализацией занимаются одни и те же люди: вы должны быть готовы вынести любую задачу на обсуждение (в том числе с пользователями) и переформулировать ее, если это нужно в интересах конечного пользователя.
  • В организации команды PhpStorm мы стараемся соблюдать баланс между строгостью, необходимой для поддержания стабильности такого большого продукта, и свободой, делая так, чтобы процессы были незаметными и позволяли создавать полезные и интересные вещи.
  • Микроменеджмента у нас нет. Каждый член команды полностью отвечает за свою часть системы. Чтобы работать в таком режиме, необходимо быть ответственным и организованным. Вместе с этим появляется большая степень свободы.
  • Исходный код написан на Java и отчасти на Kotlin. Знание PHP не обязательно: вы сможете руководствоваться спецификацией и исходным кодом PHP — этого будет достаточно.

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

  • В данный момент мы активно разрабатываем средства анализа и автоматические преобразования кода. Такие задачи включают в себя разбор синтаксических деревьев, построенных на основе кода в редакторе и найденных потенциальных проблем/улучшений. Анализ кода может быть как локальным (например, обнаружение нигде не используемой локальной переменной), так и глобальным (например, обнаружение нарушений правил наследования при расширении одним классом другого). PHP — интерпретируемый язык, и для него особенно важен анализ кода, поскольку он позволяет находить ошибки до запуска программы.
  • Еще одно важное направление нашей деятельности — автоматические рефакторинги. Язык PHP очень гибок, и идеально корректная реализация extract method или даже inline variable — далеко не тривиальная задача.
  • К примеру, вот то, над чем мы работали в прошлый релиз: https://www.jetbrains.com/phpstorm/whatsnew/2020-3/
  • Мы постоянно работаем над улучшением производительности. Зачастую нам приходится иметь дело с огромными файлами, предоставленными пользователями, — и важно чтобы IDE умела быстро с ними работать. Мы активно пользуемся профилировщиком. Также у нас отлажено регрессионное тестирование.