Collaborate with product managers, business analysts, and other stakeholders to understand project requirements and translate them into technical specifications and software designs
Design, develop, and maintain Java-based applications, ensuring they are performant, scalable, and secure
Write clean, well-designed, and efficient code following best practices and industry standards
Conduct code reviews and provide constructive feedback to junior developers to maintain code quality and adherence to coding standards
Develop and maintain unit tests and automated testing frameworks to ensure the reliability and maintainability of the codebase
Identify and address software performance bottlenecks, ensuring optimal application performance
Integrate Java applications with other systems and technologies, including databases, APIs, and third-party services
Ensure proper documentation of the software design, architecture, and development processes
Troubleshoot and resolve complex technical issues that may arise during development and in production environments
Collaborate with cross-functional teams, including QA, DevOps, and UI/UX designers, to deliver end-to-end solutions
Stay up-to-date with the latest developments in Java technologies and software development practices, and recommend improvements to the development process
Mentor and guide junior developers, fostering a culture of continuous learning and growth within the development team
Requirements:
Bachelors degree in Computer Science, Software Engineering, or a related field
An equivalent combination of education and experience may be considered
Proven work experience as a Java Developer, with a track record of successful software development projects
Strong proficiency in Java programming language and object-oriented design principles
Experience with Java frameworks such as Spring, Spring Boot, or Hibernate
Proficiency in using build tools like Maven or Gradle
Knowledge of relational databases (eg, MySQL, PostgreSQL, Oracle) and proficiency in writing complex SQL queries
Familiarity with web technologies like HTML, CSS, JavaScript, and RESTful APIs
Experience with version control systems (eg, Git) and collaborative development workflows
Strong problem-solving skills and the ability to analyze and debug complex issues
Solid understanding of software development best practices, including code reviews, testing, and continuous integration
Excellent communication and teamwork skills, with the ability to work effectively in a collaborative environment
Experience with Agile/Scrum development methodologies is a plus
Knowledge of cloud platforms and microservices architecture is desirable