Java Developer (PhpStorm)
Требования
Местоположение и тип занятости
Компания
Делаем эффективные инструменты для разработчиков
Описание вакансии
Условия работы
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 умела быстро с ними работать. Мы активно пользуемся профилировщиком. Также у нас отлажено регрессионное тестирование.