Senior Embedded Software Engineer
Role details
Job location
Tech stack
Job description
The Senior Embedded Software Engineer is responsible for creating and developing innovative product designs, ensuring that they meet both functional and aesthetic requirements while adhering to safety, quality, and performance standards. This role involves collaborating with cross-functional teams, conducting design analysis, and producing technical drawings and specifications for applicable workcenters., Designing and Developing Software: This includes creating maintaining Linux drivers for peripherals on custom hardware. Modifying Linux bootloaders and kernel device-trees for specific hardware configurations. Integrating changes into Yocto layers across multiple builds and products. Selecting appropriate methods to share or isolate code. Support auxiliary real-time cores both internal and external to the main Linux processor.
Coding and Testing: Writing and debugging code, creating test cases, and ensuring the software functions correctly. Support board bring up and hardware validation up through and including the Linux console. Assist in debugging and root causing failures discovered through the QA process.
Maintaining and Improving Software: Addressing issues, making updates, and optimizing software performance. Build and maintain software developer workflows.
Collaboration and Communication: Working with other engineers, designers, and stakeholders to define requirements, plan projects, and ensure successful software delivery.
Following the Software Development Life Cycle (SDLC): This involves planning, designing, building, testing, deploying, and maintaining software systems.
Requirements
Do you have experience in OS Kernels?, Do you have a Master's degree?, Bachelor's degree or Master's degree in Electrical Engineering, Computer Engineering, Computer Science or related field 5+ years experience or equivalent combination of education and experience Proficient in C/C++ for microcontroller,bootloader, kernel and driver development Familiarity and comfort with Linux, operating in a terminal, boot flow and device-trees Ability to communicate effectively with team members and leadership staff Well-developed problem analysis and problem solving techniques Preferred Qualifications Knowledge of the Yocto build system and managing layers and recipes Basic Networking Experience such as IP addresses, subnet masks, DHCP and troubleshooting connectivity issues Experience with scripting languages (Python, Bash) for tool and test automation Capable of reading hardware schematics and performing basic hardware troubleshooting Pay Transparency
Benefits & conditions
3.63.6 out of 5 stars Sioux Falls, SD Hybrid work $106,725 - $163,645 a year - Full-time, Pulled from the full job description
- Tuition reimbursement
- Parental leave
- Retirement plan
- Adoption assistance
- Employee assistance program
- Volunteer time off, The annual salary for this role is $106,725 - $163,645 plus any applicable bonus (Actual salaries will vary and will be based on various factors, such as skill, experience and qualification for the role.)
What We Offer
We offer dynamic career opportunities across an international landscape. As an equal opportunity employer, we are committed to delivering value for all our employees and fostering a culture of respect.
At CNH, we understand that the best solutions come from the diverse experiences and skills of our people. Here, you will be empowered to grow your career, to follow your passion, and help build a better future. To support our employees, we offer regional comprehensive benefits, including:
Flexible work arrangements Savings & Retirement benefits Tuition reimbursement Parental leave Adoption assistance Fertility & Family building support Employee Assistance Programs Charitable contribution matching and Volunteer Time Off
#LI-Hybrid