● Design and implement Java-based applications. ● Ensure designs are in compliance with user specifications of the requirements ● Write well-designed, testable, and efficient codes ● Prepare and produce releases of software components ● Define application objectives and functionality while ensuring alignment of application design with business goals. ● Effectively debug and resolve technical problems that arise. ● Support continuous improvements by investigating alternatives and technologies and presenting these for architectural review ● Recommend changes to existing Java infrastructure ● Contribute to all phases of the development lifecycle