Java Developer (разработка поискового движка)
#офис Локация: Москва
Компания: 1С
Для работы над созданием универсального полнотекстового поиска на базе Lucene мы ищем Java-разработчика с опытом реализации высоконагруженных распределенных систем.
☑️Вам доверим:- исследования, самостоятельное проектирование архитектуры отдельных подсистем, участие в проектировании системной архитектуры;
- разработка и тестирование;
- оптимизация;
- разаботка вспомогательных инструментов и процессов (сборка, различные нагрузочные тестирования и оценки, и т.д.);
- code review.
☑️Типовые задачи:- построение эффективных индексов в зависимости от характера данных и операций над ними, в т.ч. распределенных;
- построение эффективных алгоритмов обработки связанных данных, в т.ч. распределенных;
- обеспечение автоматической, стабильной работы системы с нулевой стоимостью обслуживания;
- работа над сложными математическими и оптимизационными задачами, напр. ранжированием;
- работа с естественными языками;
- стек технологий: Java, Gradle (+ Groovy), OSGi, Lucene, Elasticsearch, Solr, C++, Linux, Windows, Mac OS, Android, iOS, gRPC, protobuf, etc.
☑️От Вас ждем:-умение самостоятельно изучать новое и решать нестандартные задачи;
-знание Java SE 8, опыт разработки на java от 5-ти лет;
-желательно опыт работы с guava, apache commons, protocol buffers или thrift;
-хорошая алгоритмическая подготовка, знание широкого круга структур данных;
-знание принципов внутреннего устройства JVM, написания эффективного java-кода, опыт оптимизации;
-навык написания надежного, поддерживаемого, хорошо структурированного кода, принципов, стоящих за этим;
-знание и опыт применения профессионального цикла разработки ПО, знание git и распределенных workflow;
-готовность писать и отлаживать кросс-платформенный код;
-высокая скорость решения типовых задач под различные операционные системы.
☑️Плюсом будет:-опыт разработки поисковых технологий, information retrieval;
-опыт работы с такими технологиями, как Apache Lucene, Elasticsearch, Apache Solr;
-понимание принципов написания эффективного кода на современном "железе";
-знание сетевого стека, опыт разработки распределенных систем;
-опыт разработки на C++;
-отличное знание многопоточного программирования и примитивов синхронизации;
-опыт разработки на интерпретируемых языках (Python, Ruby, ...);
-знание и опыт построения модульных приложений (OSGi);
-высокая скорость освоения инструментов и утилит;
-опыт разработки под различные операционные системы - Linux, Windows, Android, iOS, и т.д;
-хорошее знание и опыт работы с Maven и Gradle.
Контакты:
https://1c.ru/rus/firm1c/vacan/vacancy.jsp?id=242 Другие каналы IT-вакансий:
@best_itjob @it_rab