Senior Software Engineer - Applications (Java / Spring Boot)
Department: Software Engineering
Employment Type: Permanent - Full Time
Location: Remote, UK
Description
We are looking for a Java Engineer, experienced in Java and Spring Boot to join our Applications team. The team focuses on providing tooling to enrich the core Hazelcast Platform, making it easier to use, scale and provide greater functionality. Ensuring solutions 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 Spring Boot applications to support both our end user management center and cloud microservice based platform
- Implement new solutions using Java frameworks and libraries, ensuring scalability, performance, and reliability.
- Optimizing the platform for speed, efficiency, and resource utilization
- 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 and Spring Boot development
- Popular Java Frameworks and tools (Spring, Hibernate, Maven)
- Designing APIs (well crafted APIs supporting backwards compatibility)
- Java JDK 17+
- Knowledge of following are desirable:
- Containerised applications (Kubernetes and AWS technologies)
- In-memory Data Stores (SQL Lite, RocksDB)
- Networking, distributed systems, data structures and consistency algorithms
- Performance Benchmarking
- Bachelor's degree in a relevant field of study (Computer Science, or 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)