Job Description:RESPONSIBILITIES :Execute software development life cycles which includes planning, analysis, design, implementation and testingReview product/feature requirements and write software requirement specification documentsPrepare and execute unit testcase for every features develop or bug fixes if necessaryGenerate the equipment's software and guarantee stability and compliance to customers' specificationsWork closely with other engineering groups to evaluate the interface between hardware and software and the operational and performance requirements of the overall systemProvide training to other software team member for knowledge sharingAny other ad-hoc assignments within the scope of main objectivesREQUIREMENTS & QUALIFICATIONS :Bachelor's Degree in Computer Science/Information Technology, Engineering (Computer/Telecommunication), Engineering (Electrical/Electronic), Engineering (Mechatronic/Electromechanical) or equivalentStrong background in software programming C++ with OOP knowledgeProficient in MandarinIndependent and can work under minimum supervisionEffective verbal and written communication skills, able to clearly convey technical information and ideasAbility to adapt to different environments and work based on prioritiesExperience in Semiconductor industry is an advantageFamiliar with development involving hardwares such as motors, sensors or actuators is an advantageStrong commitment to learning and continuous improvement, with continuous improvement mindsetStrong ethics, diplomatic, patience, good listening skills and can interact with a diverse group of individualsSharp problem solving skills, creative, inovative, out of the box problem solving skillsFlexibility to travel if required