Overview: The Senior Software Engineer will be accountable for designing, developing, and maintaining high-quality Java-based applications while providing technical leadership to a team of developers. The Senior Software Engineer should have a deep understanding of Java programming, software development best practices, and the ability to guide and mentor other team members.
Responsibilities:
Design, develop, and maintain complex, high-performance Java applications using industry best practices and standards.
Collaborate with product managers, business analysts, and other stakeholders to understand requirements and translate them into technical solutions.
Provide technical leadership and mentorship to a team of software developers, ensuring efficient and high-quality code delivery.
Review and optimise code to improve application performance, maintainability, and scalability.
Troubleshoot and resolve software defects and issues, providing root cause analysis and implementing long-term solutions.
Actively participate in code reviews, providing constructive feedback and ensuring adherence to coding standards and best practices.
Stay current with the latest Java technologies, frameworks, and industry trends to ensure the team's continuous growth and improvement.
Collaborate with project managers to develop and track project timelines, deliverables, and resource allocation.
Assist in the recruitment and onboarding process for new team members.
Foster a culture of innovation, collaboration, and continuous improvement within the development team.
Qualifications:
Bachelor's degree in Computer Science, Computer Engineering, or a related field.
Extensive professional Java development experience with a proven track record of delivering high-quality software.
Proficient in Java frameworks such as Spring, Spring Boot, and Hibernate.
Proficient in Golang programming language is a plus.
Strong understanding of object-oriented programming, design patterns, and software development best practices.
Familiarity with relational and non-relational databases such as MySQL, PostgreSQL, MongoDB, or similar.
Experience with code versioning tools like Git and related workflows.
Excellent written and verbal English communication skills with the ability to effectively communicate complex technical concepts to non-technical stakeholders.
Demonstrated ability to lead and mentor a team of software developers.
Strong problem-solving skills, attention to detail, and the ability to work independently or as part of a team.
Experience in developing and deploying applications on Azure Cloud Services (a plus).
Good to have: Knowledge of frontend technologies such as HTML, CSS, and JavaScript and experience with popular frontend frameworks like Angular, React, or Vue.js is a plus.
This job has been sourced from an external job board. More jobs on...