General Electric Staff Software Engineer in Wuxi, China
Job Description Summary
Responsible for designing and developing modules or components and designing features, or a whole feature area of the anesthesia machine system software, including but not limited to the GUI subsystem. She/he will work independently, lead design discussions with both internal and external technical SMEs ensure the correct technical decisions are made.
Roles and Responsibilities
In this role, you will:
• Engage in technical discussions; participate in technical designs and present technical ideas through white boarding
• Execute in a fast pace delivery mode and focus in delivering tasks to meet the product release goal
• Maintain code quality through best practices, unit testing and code quality automation
• Demonstrate the ability to make informed technology choices after due diligence and impact assessment
• Understand whole product, its modules and the interrelationship between them while being an expert in the assigned component or module
• Help in designing interfaces and information exchange between modules
• Articulate the need for scalability and understand the importance of improving quality through testing.
• Drive design reviews, define interfaces between code modules, and applies existing technology to designs
• Be an expert in assessing application performance and optimizing/improving it through design and best coding practices
• Be an expert in core data structures as well as algorithms and has the ability to implement them using language of choice
• Be responsible for providing technical leadership and defining, developing, and evolving software in a fast paced and agile development environment using the latest software development technologies and infrastructure
• Provide guidance to a team of 5 to 7 developers with either planning and execution and/or design architecture using agile methodologies such as Scrum
• Work with Product & Program team to understand product requirements & vision
Bachelor's Degree in Computer Science or “STEM” Majors (Science, Technology, Engineering and Math) with advanced experience.
Desired Characteristics/Technical Expertise
• Strong knowledge of Object Oriented Analysis and Design, Software Design Patterns and C++ coding principles
• Hands-on experience in GUI application development, using frameworks like Qt, MFC etc.
• Hands-on experience in design the software architecture (or modules) using UML.
• Hands-on experience with developing and debugging under the Linux OS is a big plus.
• Hands-on experience with version control system like Gitlab, SVN etc.
• Experience with TDD and refactoring.
• Knowledge in ventilator is a big plus.
• Strong problem solving abilities and capable of articulating specific technical topics or assignments
• Experience in building scalable and highly available distributed systems
• Expert in breaking down problems and estimate time for development tasks
• Evangelizes how our technology solves customer problems from a technology and business perspective
• Demonstrates clarity of thinking to work through limited information and vague problem definitions
• Influences through others; builds direct and "behind the scenes" support for ideas
• Proactively identifies and removes project obstacles or barriers on behalf of the team
• Shares knowledge, power, and credit, establishing trust, credibility, and goodwill
• Able to work under minimal supervision
• Excellent communication skills in English and Chinese, and the ability to interface with senior leadership with confidence and clarity
• Able to work well with global teams, including time-zone flexibility
• Skilled in providing oversight and mentoring team members. Demonstrated ability to effectively delegate work