Responsibilities:
Design, code and implement software for embedded devices and systems with operator-controlled Networked Power Systems (DDS).
Debug, troubleshoot, and isolate software issues.
Ability to read schematics and use standard debugging equipment: oscilloscope, logic analyzer, multimeter.
Participate in design and peer reviews for solutions.
Maintain high standards of software quality with the team by adhering to good practices and habits of configuration control.
Develop and perform tests and test procedures to verify embedded system functionality.
Required:
Proficiency in C/C++ with strong software development, optimization, user & kernel mode debugging skills.
Working knowledge of git version control system for code release and development.
OS fundamentals and system architecture understanding like low-level interfaces such as buses, controllers, interrupts etc.
Working experience on any one major Linux distro like Ubuntu, RedHat, SUSE, etc.
Working experience on any one major real-time controller development system/OS like Texas Instruments/Segger/FreeRTOS/VxWorks.
Strong interpersonal & communication skills working with cross-functional engineering teams (mechanical, electrical) to deliver high-quality systems.
Bachelor's degree in computer engineering, electrical engineering or related (or equivalent experience) with 2+ years of relevant experience.
Ways to Stand Out From the Crowd:
Practical knowledge of Python and CAN bus / J1939 & associated tools like CANalyzer or other CAN analysis and debugging tools.
Experience in HW & SW stack bring up of both custom and off-the-shelf controller designs.
Previous experience around hardware interfaces such as PCIe, SPI, I2C/I3C etc
Linux A/B download & secure boot solutions on x86 & ARM class platforms.
Embedded boot solutions on real-time TI controller class platforms
Experience in programmable logic solutions using VHDL or similar.
GLSV, Inc has an outstanding opportunity at its office located in Houghton, MI. GLSV, Inc is seeking a highly motivated and well-organized individual to work as a member of our team. The ideal candidate will have adequate technical skills (or the ability and motivation to learn) to understand and contribute to the team’s work. The individual should also be comfortable as a team member or working independently to meet the needs of the company. This is a unique opportunity to step into a position in a growing area of the company. Character, work ethic, and willingness to learn are equally important to technical skills for this position.