● 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 in all phases of the development lifecycle