Linux System Software Engineer
Job Title: Linux System Software Engineer
Department: Software Engineering
FLSA Status: Exempt
Reports To: System Software Manager
The Linux System Software engineer will design, implement, and test embedded Linux software for the ultrasound system in accordance with established software development and design control processes.
Required Skills and Experience:
· BS/MS in EE or CS with 10+ years of experience.
· Knowledge of Linux system programming in C/C++, shell scripting
· Knowledge of Cross platform Linux development environment and tools setup
· Demonstrated technical skills in delivering kernel drivers, debugging Linux Kernel/BSP, system-level debugging and working with Linux bootloaders (U-Boot, Redboot etc.)
· Knowledge of Linux File Systems such as Ext3 for performance and data stability
· Knowledge of Encryption/security methods for securing embedded Linux systems including network security and secure install strategies.
· Familiarity with graphics accelerations (GPU, NEON, DMA etc) in Linux environments
· Understanding of multi-threaded, multi-processing and event driven systems
· Programming expertise in C++.
· Experience with software development in an FDA/design control regulated environment a plus
· Knowledge of embedded software design.
- Excellent verbal and written skills.
· Develop, maintain and enhance device drivers (e.g. USB printers, DVD/CD, USB)
· Integrate Linux services configuration such as networking (wired/wireless), printer setup, printing etc. in UI based user space applications
· Maintain and deliver services and ability for policy based field configuration (e.g. NTP, IPTables, Reverse SSH tunneling etc) while maintaining product security
· Deliver secure field upgrade/install strategy for embedded Linux product
· Deliver application/services framework that allows embedded Linux product to work seamlessly on IPv4 and IPv6 networks
· Work with hardware team to help isolate problems to hardware or software and be able to provide fixes in BSP
· Modify boot-loader for system specific requirements.
· Work with Imaging team for delivering Linux framework for accelerated graphics and advanced rendering/display requirements (e.g. GPU, V4L / Frame Buffer rendering)
· Contribute to development tools improvement
· Hands-on code contribution and delivery of collateral for software work products i.e. Software Design Document, Test Plans
· Provide schedule estimates and meet them
· Participate in design and code reviews
On-site in an office environment; using computer and phone.