Overview
We are looking for a Senior Java Engineer, experienced in JVM, 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 and enables real‑time business event processing for demanding customer needs.
Responsibilities
- Design and Development
- Design, develop, and maintain Java‑based consistency and storage components, leveraging RAFT and other distributed algorithms.
- Implement new solutions using Java frameworks and libraries, ensuring scalability, performance, and reliability.
- Optimize the platform for speed, efficiency, and resource utilization, including indexing, query optimisation, 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
- Work with cross‑functional teams, including software developers, architects, and product managers, to ensure effective integration and operation of the components within the overall software infrastructure.
- Documentation
- Document design decisions, implementation details, and operational procedures to facilitate collaboration among team members and ensure 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.
Experience and Technical Skills
- Experience in Java development
- Strong Java Virtual Machine (JVM) experience: internals, memory management, garbage collection, performance optimisation
- Knowledge of networking, distributed systems, data structures and consistency algorithms
- Java JDK 17+
- Desirable knowledge of data serialization and transport (gRPC, shared memory, Protobuf)
- Experience with distributed data stores (MongoDB, ElasticSearch, Hadoop, CockroachDB)
- API design (well‑crafted APIs supporting backward compatibility)
- In‑memory data stores (SQLite, RocksDB)
- Popular Java frameworks (Spring, Hibernate)
- Performance benchmarking
- Bachelor’s degree in Computer Science or a related discipline, or equivalent experience
Benefits
- 25 days annual leave + bank holidays
- Group company pension plan
- Private medical insurance
- Private dental insurance
- Life insurance
- EAP (Employee Assistance Program)