The Java Software Engineer role is for experienced developers who design, build and maintain reliable server side applications. Candidates should have strong object oriented programming skills, practical experience delivering backend systems and a collaborative approach to working with product, testing and operations teams. This role suits engineers who take ownership of code quality, performance and maintainability.
Java Software Engineer Job Profile
The Java Software Engineer is responsible for developing scalable, secure and testable backend services that support web and mobile applications. The role focuses on translating functional requirements into robust technical designs and high quality code while ensuring systems meet operational and performance expectations.
This position involves working within a cross functional delivery team to iterate on features, resolve production issues, and contribute to technical decisions that shape the long term architecture of the platform.
Java Software Engineer Job Description
The Java Software Engineer will participate in the full software development lifecycle from requirements refinement through to production support. The role requires delivering well tested components, performing peer code reviews and collaborating with stakeholders to ensure features meet user needs and non functional requirements.
Expected activities include designing modular solutions, integrating with back end systems and data stores, implementing APIs, and applying performance tuning where necessary. The engineer will work in an iterative delivery environment, provide technical estimates, write technical documentation and help maintain operational run books to support deployments and incident response.
Java Software Engineer: Duties and Responsibilities
- Design, develop and maintain backend services and APIs using Java following established coding standards.
- Translate functional and non functional requirements into technical designs and implementation plans.
- Write unit and integration tests to ensure code quality and facilitate regression testing.
- Perform code reviews and provide constructive feedback to peers to improve code maintainability.
- Investigate and resolve production incidents, performing root cause analysis and implementing preventive measures.
- Optimise application performance and resource usage through profiling and tuning.
- Collaborate with product owners, testers and operations to deliver features and ensure smooth releases.
- Integrate services with databases and external systems, ensuring reliable data handling and error management.
- Contribute to continuous integration and deployment practices to maintain a stable delivery pipeline.
- Document design decisions, APIs and operational procedures to support knowledge sharing and support teams.
- Apply secure coding practices and help ensure applications meet relevant security requirements.
- Participate in sprint planning, estimation and retrospective activities as part of an Agile team.
- Mentor junior engineers and help raise team technical capability through knowledge sharing.
- Keep up to date with industry best practices in backend architecture and software engineering.
Java Software Engineer: Requirements and Qualifications
- Degree in computer science, software engineering or a related technical discipline, or equivalent practical experience.
- Proven experience developing production applications using Java and core libraries.
- Strong understanding of object oriented design, concurrency and common design patterns.
- Experience building and consuming RESTful APIs and working with HTTP based services.
- Knowledge of relational databases and basic experience with NoSQL data stores.
- Practical experience writing unit, integration and automated tests.
- Familiarity with debugging, profiling and performance analysis techniques.
- Understanding of continuous integration and delivery concepts and practices.
- Experience working in Agile delivery teams with iterative development practices.
- Good problem solving skills and attention to detail when designing solutions.
- Strong communication skills to collaborate across technical and non technical stakeholders.
- Willingness to learn, adapt to changing requirements and contribute to team improvements.
