Job Description
Job Title: Embedded Software Engineer
Job Description
The Embedded Software Engineer will collaborate closely with cross-functional New Product Development teams to design, develop, and implement embedded software solutions for industrial radio products, with a specific focus on drive systems. This role combines hands‑on embedded development with architectural design, technical leadership, and collaboration across engineering disciplines to deliver robust, safety‑critical solutions.
Responsibilities
- Analyze, design, and implement embedded software solutions that meet defined product and design requirements for industrial radio and drive‑related applications.
- Develop embedded software architectures that align with product specifications, system constraints, and performance goals.
- Advise development engineering teams on best practices for embedded software design, testing, integration, and maintenance.
- Design and develop embedded software using C, C++, and Assembly languages for microprocessor‑based systems.
- Work with low‑level communication protocols, such as USB, RS232, SPI, I2C, and CAN, to ensure reliable data exchange within embedded systems.
- Coordinate unit testing, integration testing, and system testing activities with project teams to verify functionality, performance, and reliability.
- Design, implement, and maintain code within a controlled workflow using tools such as JIRA, version control systems, and structured code review processes.
- Collaborate with hardware engineers by interpreting and using electronic schematics to support software‑hardware integration and troubleshooting.
- Utilize test and debug tools, including multimeters, oscilloscopes, and logic analyzers, to diagnose and resolve software and system‑level issues.
- Apply test‑driven development practices to ensure safety‑critical and high‑reliability software meets quality and safety requirements.
- Provide technical input and support for RF communications solutions, including technologies such as BLE or Wi‑Fi, as they relate to embedded systems in drive applications.
- Contribute to the development and support of drive systems, VFDs, and related embedded control solutions within the drives team.
- Independently identify, analyze, and resolve complex technical problems, escalating and collaborating as needed to achieve project goals.
- Work effectively within a team environment, fostering cooperation and collaboration to achieve positive outcomes and successful product launches.
- Manage workload and priorities to meet critical project deadlines, demonstrating strong time‑management and organizational skills.
- Travel up to 20% of the time to other company locations and customer sites to support development, testing, integration, and field‑related activities.
Essential Skills
- Demonstrated ability to design, implement, and test embedded software solutions for industrial or similar applications.
- Strong proficiency in embedded C, C++, and Assembly development for microprocessor‑based systems.
- Experience with low‑level communication protocols such as USB, RS232, SPI, I2C, and CAN.
- Experience designing and implementing safety‑critical system code.
- Experience applying test‑driven development methodologies in embedded environments.
- Experience with RF communications hardware and software, for example BLE or Wi‑Fi.
- Working knowledge of electronic circuits and the ability to read and interpret schematic diagrams.
- Proficiency with test and debug tools, including multimeters, oscilloscopes, and logic analyzers.
- Independent problem‑solving and analytical skills, with the ability to troubleshoot complex embedded systems.
- Proven ability to work collaboratively within cross‑functional teams and maintain effective working relationships.
- Ability to meet critical deadlines through solid time‑management and organizational skills.
- B.S. degree in Software Engineering, Electrical Engineering, or Computer Engineering.
- At least 6 years of professional experience in embedded software development, including work with embedded C, C++, Assembly, low‑level communication protocols, safety‑critical design, and test‑driven development.
Additional Skills & Qualifications
- M.S. degree in Software Engineering, Electrical Engineering, Computer Engineering, or a related field is preferred.
- Experience with ARM processors and RTOS environments is preferred.
- Experience working with RTOS‑based embedded systems, including task scheduling and resource management.
- Experience with industrial wired networks is a plus.
- Experience with
Senior Embedded Software Engineer in wi at Unknown Company
This position is listed as full time and onsite.