Manufacturing Software DeveloperThe role of a Manufacturing Software Developer involves working on device-side code to support functional testing of hardware in the devices at the factory where they are built, design verification of hardware via bench testing or reliability testing in lab environments, and software that interacts with hardware drivers to execute test commands and send responses to a PC station. Additional requirements for bench and reliability testing extend what is supplied to the factory. We need a meticulous developer to find and fix software bugs across multiple platforms. Excellent communication and attention to detail are crucial. You'll collaborate with hardware and software teams, working on software that interacts with diverse hardware (GPIOs, audio, accelerometers, etc.) and using C++, C, Python, C#, and TestStand.Responsibilities:Reproduce and analyze software bugs by investigating reported issues, reproducing them in various environments, gathering data and logs, and identifying the root cause.Prioritize and categorize bugs by severity, collaborating with developers to address the most critical issues first.Develop and execute test cases to verify bug fixes and ensure that resolved issues do not introduce new problems. This may involve writing automated tests or performing manual testing.Collaborate with developers to understand the codebase, identify potential areas of improvement, and provide clear and concise bug reports. This requires effective communication and a willingness to learn new technologies.Improve the software development process by proactively identifying areas for improvement in debugging and triaging and suggesting better tools or workflows.Required Skills:Excellent analytical and problem-solving skillsStrong written and verbal communication skillsAbility to work independently and as part of a teamPassion for software quality and a desire to deliver exceptional user experiencesDemonstrated ability to thrive in a fast-paced environment with time-critical projectsMotivated to work in a quality-oriented innovative environmentClear understanding of writing time-critical softwarePreferred Skills:Experience driving troubleshooting across multiple teams and vendorsUnderstanding of SHE (Secure Hardware Extension) specificationExperience Required:Experience in multi-threaded programmingProficiency in at least one programming language (e.g., Python, C++)Experience in software debugging and triagingProven embedded software development skills with LinuxExperience Preferred:Ability to read and interpret hardware schematicsPrior experience with hardware debuggingPrior experience developing software in support of hardware testingAutomotive software development experience with CAN bus communications, AutoSAR/MCALDebugging on multi-processor hardware architectureWireless technologies (GSM, LTE, GPS, NFC, Bluetooth, and WiFi)Experience developing software in support of hardware testing using measurement equipment such as power supplies, DAQs, DMMs8+ years of experience in the design and development of BSP (Linux/QNX) and bootloadersDetailed knowledge of ARM processors (A series, M series)Education Required:Bachelor's degree in Computer Science or a related field
Job Title
Senior Embedded Software Engineer