Job Description Summary
We are looking for an experienced Staff Software engineer in Our Maternal & Infant Care team. The person will be a core member of software team to design, develop & deliver software for device and Digital Solutions products. The person will be responsible for building software products with highest quality in a timely manner and provide technical leadership to team for software design, architecture, development, and maintenance. We need a team player with strong communication skills, motivated to achieve results in a fast-paced environment.
GE Healthcare is a leading global medical technology and digital solutions innovator. Our mission is to improve lives in the moments that matter. Unlock your ambition, turn ideas into world-changing realities, and join an organization where every voice makes a difference, and every difference builds a healthier world.
tex
Job Description
Roles and Responsibilities:
In this role, you will:
- Be responsible for defining, developing, and evolving software in a fast paced and agile development environment using the latest software development technologies and infrastructure for New Products Introduction (NPI), and released product (IB).
- Identify the scope of the work, provide initial estimate and justify the estimate with facts
- Demonstrate the understanding of Agile software development lifecycle and able to distinguish the core inputs and outputs in each cycle.
- Engage in technical discussions; participate in technical designs and present technical ideas through white boarding
- Execute in a fast-paced 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
- Seek and provide feedback on design and development
- 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.
- Be an expert in writing code that meets standards and delivers the desired functionality using the technology selected for the project
- 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
- 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 Line Leaders (PLLs) to understand product requirements & vision
- Write code that meets standards and delivers desired functionality using the technology selected for the project
Qualifications/Requirements:
- Bachelor’s Degree in a STEM major (Science, Technology, Engineering and Math).
- Minimum of 10+ years of experience in object-oriented design and programming in a production software environment using Agile development methodologies.
- Hands-on experience in Linux based products with embedded C/C++, and Python.
- Strong understanding of object-oriented design, Design patterns, Algorithms and data structures.
- Knowledge of Microcontrollers and Microprocessors, Real-time Operating systems, and Peripherals (Timer, ADC, DAC, PWM, PLL clock).
- Understanding the principles of electronics, circuits, and signals
- Experience with algorithms/data structures
- Ability to use Hardware test equipment’s: oscilloscope, logic analyzer and ability to read schematics
- Experience in or ability to learn communication protocols. (I2C, SPI, USB, GPIOs, CAN bus, RS232, RS485 and Networking)
Business Acumen:
- 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
Leadership:
- 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
Personal Attributes:
- Able to work under minimal supervision
- Excellent communication skills 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. Shows ability to effectively delegate work
Note:
- This Job Description is intended to provide a high-level guide to the role. However, it is not intended to amend or otherwise restrict/expand the duties required from each individual employee as set out in their respective employment contract and/or as otherwise agreed between an employee and their manager.