San Jose, CA
The Software Engineer - Imaging will be responsible for software engineering activities for the Imaging Software subsystem of the company ultrasound system. In this role, this person will perform requirement analysis, design and implementation of the imaging software. The person will also be responsible for design documentation, unit testing and debugging of the Imaging software in accordance to design control processes.
- Perform imaging software requirements analysis and development of associated software requirements specifications
- Update design documentation and hold associated software design reviews
- Develop object-oriented software for imaging acquisition, signal processing algorithms and pipeline control using C++ and software engineering best practices
- Unit test and debug software on both the system simulator and target ultrasound system hardware along with generating the associated documentation
- Knowledge/Educational Requirements
- BSCS, BSCE, BSEE, or equivalent required (MS in a related field is highly desired)
- 5 years industry experience
- Programming expertise in C++ and C
- Knowledge of Digital Signal Processing/Image Processing/Video Processing especially related to medical image processing, computational geometry and display pipeline is highly desired
- Working experience with embedded DSP software including Texas Instrument’s DSP and ARM processors
- Multi-core System Software development experience
- Demonstrated skill in object-oriented software development
- Experience with embedded software design, software-hardware interaction with real-time operating systems, multi-threading, and event-driven architectures
- Familiarity with designing system software emphasizing data transfer, memory management, and algorithm optimization techniques for high performance applications
- Experience with GPU architecture and GPU programming (CUDA, OpenGL or OpenCL) is highly desired.
- Embedded Linux development experience
- Skills and Abilities
- Individual must be motivated to work independently as well as with teams.
- Must have team and goal-oriented mindset
- He or she must be able to manage multiple tasks and prioritize appropriately.
- Must be detail oriented with excellent written, verbal and organizational skills.
- PC skills including use of Windows and Linux Operating systems and MS office applications are required.
- Physical Demands/Work Environment
- Work is generally sedentary in nature, but may require standing and walking for up to 10% of the time.
- There are no hazardous or unpleasant conditions caused by noise, dust, etc.
- Work is generally performed within an office environment, with standard office equipment available.
- Only occasional travel required.