Help us maintain the quality of our job listings. If you find any issues with this job post, please let us know.
Select the reason you're reporting this job:
Hazelcast is a leading software provider powering mission-critical applications that move the economy.
Hazelcast Platform is the foundational architecture providing core capabilities for AI and critical applications. With a revolutionary approach, Hazelcast Platform combines distributed compute, in-memory data storage, intelligent integration, and vector search to simplify application development, deployment, and maintenance. The platform is relied upon by many Global 2000 enterprises in financial services, e-commerce, logistics, and other industries that are vital to the daily essential activities of individuals and businesses
We are looking for a Senior Java Engineer, experienced in concurrency, networking, strong consistency and data storage to join our Core team. The team focuses on the Hazelcast Platform, our high-performance low-latency storage and stream processing engine that operates at scale. Enabling Real-Time business event processing to meet the most demanding customer needs.
Day to day, you’ll be leveraging your solid engineering fundamentals with a focus on performance, consistency, resilience and scale, bringing your passion for solving difficult problems to help realize the product vision.
Your role as a Java Engineer is crucial in ensuring that Hazelcast Platform meets business objectives, is robust and scalable, and is depended upon by customers for mission-critical implementations.
What You'll Do
Design and Development:
Design, develop, and maintain Java-based consitency and storage components, leveraging RAFT and other distributed algorithms.
Implement new solutions using Java frameworks and libraries, ensuring scalability, performance, and reliability.
Optimizing the platform for speed, efficiency, and resource utilization, including indexing, query optimization, and caching strategies.
Security and Integration:
Implement security measures to protect data integrity and confidentiality, including encryption, access control, and compliance with relevant regulations.
Integrate storage components with other software infrastructure, such as SQLite, RocksDB or cloud solutions.
Monitoring and Maintenance:
Monitor the system for performance issues, errors, and potential failures, and implement maintenance procedures such as backups, data recovery, and disaster recovery plans.
Troubleshoot issues related to data storage, including performance bottlenecks, data corruption, or compatibility issues with other software components.
Collaboration:
Collaborate with cross-functional teams, including software developers, architects, and product managers, to ensure the effective integration and operation of the components within the overall software infrastructure.
Document design decisions, implementation details, and operational procedures to facilitate collaboration among team members and ensure the maintainability of the system.
Continuous Learning:
Stay updated with the latest developments in storage technologies, Java programming language, and software engineering best practices, and apply this knowledge to improve existing storage systems and develop new solutions.
What You Have
Experience of Java development, ideally in a Financial Services domain
Excellent knowledge of networking, distributed systems, data structures and consistency algorithms
Java JDK 17+
Knowledge of following are desirable:
Data Serialization and Transport (gRPC, Shared Memory, Protobuf)
Distributed Data Stores (MongoDB, ElasticSearch, Hadoop, CockroachDB)