CDI Corporation is a multinational company providing engineering, information technology and staffing services to clients in a range of industries including energy, chemical, aerospace, defense, transportation and financial services.
Job Description
Job Responsibilities:
- Develop best in class embedded software using C/C++, Java and QNX/Linux
- Deploy and maintain the software for future enhancements
- Work with GM business leads and engineering specialists to identify, capture and refine system requirements.
- Provide robust and elegant software solutions
- Facilitate internal developers or third party companies to develop, integrate, and test software deliveries using embedded diagnostic and development tools.
- Coordinate and participate in architecture, requirements, code, and test case reviews.
- Work closely with other team leads to support triage and resolution of difficult system problems in a timely manner
- Interact with internal customers, vendors and external organizations to refine understanding of requirements and identify opportunities for innovation
- Work with program management and Product Owners to define sprints and releases.
Qualifications
- Experience doing development in embedded development, i.e. in constrained environment
- Good knowledge of QNX operating system
- Good understanding of interprocess communication in QNX
- Solid understanding of Linux operating system
- C, C++
- Linux Command Library
- Good understanding of the HTTP & FTP protocols
- Knowledge of Transport Layer Security (TLS)
- Knowledge of Singleton in C, C++
- Knowledge of STL containers for C++
- OMA-DM, FUMO, preferred, not a requirement
- Unit testing
- Knowledge of C Unit and CPP Unit for unit testing
- Experience with State machines implementation
- Experience using Certicom libraries for implementing TLS
- GOF Design patterns
- Good understanding of data structures
- Eclipse IDE
- Preferable to have knowledge of CAN vehicle networking, not required though
- Experience working with VM's