Designing, implementing and maintaining Java-based applications. Contributing in all phases of the development lifecycle. Writing testable, scalable and efficient code. Test and debug new applications and updates. Maintain up to date code documentation.