Careers – BMS Inc.

Senior Embedded Software Engineer

Job Title
Senior Embedded Software Engineer
Job ID
Work Hybrid
Poway,  CA 92064
Other Location
Position Summary:    
With limited supervision, design and develop embedded software and user interfaces for next generation wireless products.

Essential Functions/Major Responsibilities:
  1. Participate in all phases of the complete software development life-cycle; from concept through product definition, product development, production, and product sustainment.
  2. Develop graphical user interfaces (GUI) on embedded touchscreens and network accessible interfaces.
  3. Identify new technologies to enhance department productivity, streamline development process, and improve future product capabilities.
  4. Evaluate system requirements and recommend tools, hardware, and coding methods to optimize end product performance and maintainability.
  5. Interface with RF, Digital, and hardware groups, as well as customers, to ensure overall project success.
  6. Estimate resource requirements and completion dates.
  7. Assist in other job duties and interface with other departments as required.
Supervisory Responsibility:  
May provide mentoring, work leadership, and training to lower-level software engineers.

  • Education/Training:  Minimum of BSCS, BSCE, or BSEE or equivalent education and experience required.  
  • Experience:  Minimum of seven (7) years of relevant experience with embedded software development including significant work with digital video codecs; significant experience with GTK or similar toolkits to create graphical user interfaces (GUIs) on embedded touchscreen and network accessible displays; significant knowledge and experience with MPEG transport streams; significant experience with embedded Linux development: at least 5 years of experience working with embedded Linux products or very recent in-depth work on a large-scale embedded Linux project.  Experience writing Windows-based GUIs a plus. Candidate should be comfortable creating tools to remotely control various products via Ethernet, RS-232, etc. 
Skills/Technical Requirements: 
  • Expert C/C++ coding skills and understanding of Operating System internals (especially Linux); knowledgeable of one or more assembly languages and processor architectures.  C# and .NET experience a plus.
  • Experienced in GUI design using GTK, Qt, or similar toolkits
  • Experienced building a complete and bootable Linux environment using Buildroot, Yocto, etc.
  • Capable of developing microcontroller firmware for mixed signals applications
  • Strong ability to rapidly understand and effectively use code written by others; excellent design skills with ability to be innovative when required
  • Strong verbal, written, collaboration, and teamwork communication skills
  • Experienced in full-stack development (node.js, HTML, javascript, etc.) a plus
  • Experience with TCP/IP, UDP/IP, and RTP/RTSP a plus 
Job Location:  
Flexible/hybrid role offering combination of remote and on-site office work at Poway, CA headquarters.  Role requires interaction with shared physical hardware, fully remote work not available for this position.

Job Conditions/Physical Demands:  
Office environment with prolonged periods of sitting at the computer terminal; works in Manufacturing/Lab environment with constant or intermittent noise. Walking, sitting, standing, and bending.  

Protective Devices Required
In required areas.

Option 1: Create a New Profile