Key Responsibilities
Design and code complex units/modules/products that meet functional and business requirements on schedule and within budget.
Perform unit/module testing of software to find errors and confirm programs meet specifications.
Fix bugs, add enhancements, and convert software to other platforms.
Assist quality assurance team by providing assistance to testers and support personnel as needed to determine system problems.
Collaborate with quality assurance in creation of their test plans and participate in reviews.
Evaluate impact of software performance and recommend changes to software design team.
Write and maintain documentation to describe program development, logic, coding, testing, changes, and corrections.
Provide product content to technical writers.
Assist in strategic research and design as directed.
Set up software configuration control and software development environments including program source control to ensure reliable backups and source code integrity.
Provide input to establish and improve departmental processes and procedures.
Develop plans outlining steps and time tables for developing programs and communicate plans and status to management and other development team members.
Escalate issues to management as appropriate.
Participate in design and code reviews with other developers.
Work Experience
Senior SE: 5+ years’ experience development experience on Windows Platform with C++. Bachelor's Degree or global equivalent in Computer Science or related discipline. Master's degree or global equivalent a plus.
Show the full description
Principle SE: 8+ years’ experience development experience on Windows Platform with C++. Master Degree or global equivalent in Computer Science or related discipline.
Skills
Excellent in C++ programming.
Good knowledge of OS and network configuration
Excellent in PowerShell
Excellent in Python
Familiar about AWS / Azure APIs (optional for Azure now)
Experience of building Windows OEM image or experience with Backup Appliance is a great plus.
Good knowledge and experience of Linux, like Linux network configuration, boot process is required.
Good knowledge of network configuration and virtual machine management on windows is required.
Require strong ability to learn and resolve problems.
Agile development process experiences preferred.
Strong passion and enthusiasm in studying new technology.
Good communication skills. Able to communicate effectively with the team.
Good teamwork and cooperation with development team, QA team and support team.