This position has been
FilledView Open positions
Java Engineer - Search Platform Team
- Belarus, Minsk
- Warsaw, Poland
The Platform team at Lucidworks builds the foundation of our cloud-native microservices architecture orchestrated by Kubernetes. The Platform team owns the design and implementation of our API gateway, security, cloud ops, workflows and job scheduling, Apache Spark integration, messaging framework (Apache Pulsar), and ML model ops / serving infrastructure (Seldon Core / Argo).
To be successful in this role, you need a DevOps mindset coupled with a solid foundation in designing and building microservices. We also want you to bring strong opinions, but weakly held about architecture and design decisions. You'll be expected to write code, lots of it. We support first-class product features written in Java, Python, Scala, and Go; you don't need to know all of these but must be proficient in at least two.
You should be passionate about Kubernetes and cloud native technologies in general. We've just started our journey with k8s, so you'll have ample opportunities to help us grow our skills and proficiency in this area.
Flexibility is a must! In any given sprint, you may work on improving our Helm chart, help design an Argo workflow, work on a Scala-based Spark job, or solve a performance issue with ML model serving. Our team's motto is fast-paced without cutting corners so you should be comfortable with the team moving fast around and with you.
This role reports directly to the Chief Architect.
- Help integrate and rollout Apache Pulsar for pub/sub and queuing use cases in Fusion
- Help design and develop a robust streaming job built on Spark Streaming and Apache Pulsar for signal processing and near real-time analytics of query traffic
- Build reusable components using Spring Boot for other microservice teams to leverage
- Design, develop, and improve Apache Spark based analytics and ML model training jobs using Scala; make these jobs scalable and easy to use
- Works closely with our Site Reliability Engineering (SRE) team to drive engineering improvements to better support operations, performance, and scalability
Required Skills & Qualifications:
- BS in computer science or similar field; Masters degree or higher preferred
- Mastery of Spring Boot, Git, Gradle, Jenkins, BASH, Python, SQL, Gatling, and Java
- A minimum 5 years experience with large-scale distributed systems
- Experience with Kafka streams, Flink, Spark, Storm or similar streaming data platform
- Minimum of 3 years experience using messaging platforms like RabbitMQ, ActiveMQ, Kafka, or Apache Pulsar
- Solid understanding of Kubernetes, Helm, and Docker
- Knowledge of Spark and Scala preferred
- Experience with big data and data analytics highly preferred
- Resourcefulness – willing to jump in, work with both opportunity and constraint, and leverage existing resources to accomplish goals
- Team player - confident collaborating with a diverse community of people and personalities across geographies, backgrounds, and professional abilities
- Strong interpersonal, written, and communication skills
- Empathy and care for all stakeholders of Lucidworks, including employees, executives, partners, and guests