Job Description:
We are seeking an experienced Embedded Software Engineer with a strong background in embedded systems design, hardware interface development, and software lifecycle management. The ideal candidate will be highly proficient in C/C++ and familiar with a variety of SDLC models and real-time embedded environments.
Responsibilities:
Perform requirement analysis, allocation, derivation, and traceability
Conduct trade studies and risk analysis
Design software architecture and modules for embedded systems
Implement and verify software modules in C/C++
Develop and simulate algorithms using MATLAB
Support board bring-up, OS bring-up, and device driver development
Integrate and test software in lab and field environments
Ensure compliance with safety and security standards
Prepare technical documentation and presentations
Required Skills and Experience:
Bachelor's degree in Electrical Engineering, Computer Science, or related field (Master's preferred)
5 7 years of hands-on experience in embedded software development using C/C++
Deep understanding of SDLC models (Waterfall, V, Agile, etc.) and Application Lifecycle Management tools
Experience with hardware interfaces: UART, USB, Ethernet, I2C, SPI, RS232, RS422, etc.
Knowledge of communication protocols: CAN, TCP/IP, UDP, etc.
Proficient in using test and measurement equipment (oscilloscope, logic analyzer, DMM, etc.)
Experience with MOSA principles, FACE Technical Standards, RTOS, and DO-178 compliant software design
Preferred Qualifications:
Strong analytical and problem-solving skills
Excellent communication and documentation abilities
Experience in safety-critical or aerospace/defense software development