Job Summary: We are looking for an Embedded Software Developer to join our team, responsible for developing, configuring, and testing Onboard Core Information software. The ideal candidate will have a strong background in C++ and C programming, Linux development, and embedded software architecture. This role requires excellent troubleshooting skills and a collaborative mindset.
Key Responsibilities:
Software Development:
Develop, configure, and test Onboard Core Information software using C++ and/or C.
Troubleshooting:
Identify, troubleshoot, and resolve software issues to ensure optimal performance.
Collaboration:
Participate in daily mentorship sessions for the first six months, engage in weekly stand-up meetings, and contribute to bi-weekly task assignment meetings with the software development team.
Documentation:
Produce specifications, reports, and test plans using Microsoft Office.
Continuous Improvement:
Work collaboratively with team members to meet job objectives and deliverables, fostering a culture of innovation and efficiency.
Education and Experience:
Required:
Bachelor's degree in Electrical Engineering (BSEE), Computer Engineering (BSCE), or Computer Science (BSCS).
3 years of development experience with C++ and/or C programming languages.
3 years of experience with Linux kernel and Linux device drivers.
Prior experience in embedded software development, design, and architecture.
Desired:
Experience working in a fast-paced Agile team environment.
Familiarity with GIT configuration management tools.
Ability to read electrical schematics.
Experience with scripting in Python.
Knowledge of RTOS development (e.g., FreeRTOS).
Experience with Ethernet, TCP/IP, and WiFi protocols.
Familiarity with CAN, J1939, and other data link protocols.
Understanding of design patterns and object-oriented programming.
Experience with developing unit tests and test-driven development.
Proficiency with debugging tools for embedded systems (e.g., Lauterbach, GDB).
Soft Skills:
Strong team player with good verbal and written communication skills.
Ability to work effectively in a collaborative environment.