Embedded Software Engineer
Job Opportunity at Analog Solutions

Posted on Jul 27

http://www.analogsolutions.com    +1 (865) 458-4421

Location: San Jose, CA
Job Type: Full Time
Job ID: W4138836

Job Description:
You will be a key member of the companies Software team responsible for embedded CPU code development to configure and manage our products.  You will interface with Hardware, ASIC, Optical, and DSP teams in the engineering organization to architect the system software, develop algorithms, contribute to code development, develop intra-processor APIs, and participate in system bring up and debug.

Essential Responsibilities:
  • Define, document, and implement the Application Programming Interface (API) used for communications, control, and status in between microprocessors
  • Design, implement, and test a grounds up real-time microprocessor ecosystem including boot loader, operating system startup, watchdog, control and data planes
  • Porting of control and algorithms from Python to C/C++ - taking care that execution times meet system requirements
  • Design, implement and unit test robust control loop algorithms in multi-processor/multithreaded architecture
  • Contribute and collaborate with Optics/DSP/HW engineering teams to develop efficient compact algorithms for embedded CPUs
  • Support system bring up and debug in the lab
  • Interface with product engineering and other cross-functional teams as required
  • Strong oral and written communication skills
  • May require travel to remote site as necessary during bring up and debug
Minimum Qualifications, Experience, Skills, Education and Certifications:
  • BS or MS (preferred) in Electrical or Computer Engineering with 7+ years of experience
  • Proficiency in C/C++
  • Proficiency in Python
  • Demonstrated experience in defining Software APIs
  • Significant experience in complex embedded firmware development.
  • Proficiency with RTOS and embedded CPUs and microcontrollers (ARM® preferred)
  • Proficient in writing compact highly efficient code to control HW components
  • Demonstrated working knowledge of HW components
  • Experience with fixed-point math
  • Hands-on laboratory experience is critical and required for this position
  • Excellent verbal and written communication skills
Highly Desired Skills:
  • Experience with developing/debugging software state machines
  • Experience with setup, calibration, and control algorithms of digital and analog hardware
  • Experience working within a team environment developing complex control plane code in a multi-processor/multithreaded environment
  • Experience defining system level API in the communication industry is highly desirable
  • Comfortable with UNIX-style command-line development (make, shell programming)
  • Experience with a revision control system (CVS and Perforce™)
  • Experience with collaborative code review tools (such as Jira Crucible®)
  • Well rounded developer who is a jack of all trades – comfortable working from high level system design to low level driver development – is a big plus
Facebook Twitter
ElectronicsEngineer.com is owned, operated, and copyrighted by Career Marketplace (© 2002-2018, All Rights Reserved)