Main role and responsibilities:
Being part of the R&D Software Engineering team, this position will be involved in global projects and contribute to dialysis related software solutions, together with local and oversea colleagues. This position will directly report to the Head of Software Engineering.
• Design and implement state-of-the-art user-centred features and other advanced software features for dialysis treatment and management business.
• Design and implement unit tests software to ensure the quality of software.
•Participate in software requirement management together with product owner and requirement manager.
• Participate in code review with peers and experts.
• Maintain and improve the existing software modules and designs.
•Understand the development process and other necessary SOPs, and apply them to daily work.
•Stay tuned on new software techniques and design patterns to continuously improve software.
•Participate in innovation activities and creating solutions for specific market needs in China and other emerging markets. Aiming at the future products, this position will participate in all kinds of modern UX designs, and implement cutting-edge technology concepts.
•Fully integrated in the scrum team, and collaborate with production owner, scrum master, and other team members within the scrum team.
• Work as part of a cross-functional international team. Build up knowledge network within software team and other site teams.
• Enthusiastic on technical topics and be a quick learner to new things.
• A good team player, open mind and dare to share your own opinions.
•Very good communication skills. Good Mandarin and English skills in writing and speaking.
Mandatory skills and knowledges:
•Education background should be from computer science, communication technologies, or other related disciplines.
• Solid know-how of object-oriented programming and debugging, at least 3~5 years working experience on C++ programming.
•Experience of internet communication protocols and web service technologies (e.g. http, https, XML, TCP/IP, SFTP, UDP, socket programming, C/S architecture, multicast, broadcast. etc.)
• Multithread/IPC programming experiences.
•Experience working in software development on embedded medical devices with modern operating systems (e.g. embedded Linux, QNX, VxWorks, etc.).
• Understanding of software architecture and UML design.
• Know-how of modern software design principles and design patterns.
Desired skills and knowledges:
•Experience of software platforms (e.g. Visual studio, Qt, Android Studio, MFC, iOS, etc.) is a big plus
•Experience working with test framework (e.g. Squish, QTest, CppUnit, Junit, GoogleTest, etc.) is a big plus.
• Understanding the concept of UI/UX design.
• Understanding of STL.
•Experience of applications design and development on mobile devices (e.g. Xamarin, PhoneGap, React Native, etc.)
•Experience working with other programming languages (e.g HTML5, java script and css).
• Experience working with Agile process (e.g. Scrum)
• Experience working with continuous integration framework (e.g. Jenkins).
• Be familiar with international standards (e.g. IEC 62304) and local standards.