About the Role
Develop embedded C software on S32k3X4 family of arm processors, including
improvements to existing software, development of new features.
Participate in all stages of software development, including requirements analysis,
design, implementation, test, and maintenance.
Address software issues and work with software and system engineers to identify the root
cause
Help investigate and collect information to resolve process or design issues found on a
current design.
Identify software performance improvements through test driven development,
automated unit testing, and comprehensive integration testing.
Requirements
Skill Sets Required:
8-14 years validated experience (dependent on level) passionate about embedded software coupled with a Bachelor of technology in Electronics (EC, EE preferred)
Experience with developing high performing, fault tolerant, highly available C application software on multi-core processor.
Good knowledge of mutual exclusion, synchronization, interrupt handling, inter-process communication, memory management, multi-threading, Free RTOS, SAFE RTOS utilities and system calls.
Strong fundamental embedded operating system concepts.
Experience with BMS (Battery Management system) is a must.
Experience with I2C, SPI, UART, CAN, LIN, Ethernet drivers
Comfortable debugging complex system/platform issues such as crashes and traps, memory leaks, issues with inter-process communications, CPU hogs etc.
Independent self-starter and committed to delivering on daring deadlines.
Comfortable in a team environment with ability to work with little supervision.
Must be fast learner with excellent embedded software debugging skills.
Experience with code repository and versioning tools such as Bitbucket.
Experience working with EB tresos, IAR arm compilers.
Effective written and verbal communications skills.