Title: Embedded C/C++ Developer (Bash shell, ANSI C, Python)
Client: Caterpillar Inc
Visa: No H1b/CPT
Location: Mossville, IL (On-site) (Local Preferred and nearby)
Rate: $50/hr. C2C Max
Duration: 6+ months Contract
Job Description:
Research, design, develop, build, and test the low-layer software, such as OS integration, I/O drivers, boot, etc., which interfaces with Client’s wide variety of electronic controls hardware (i.e. ECU/ECMs). This assignment develops the low-layer software, such as I/O drivers, OS integration & configuration, boot, etc., which interfaces with Client’s wide variety of electronic controls hardware (i.e. ECU/ECMs).
Responsibilities:
Key areas of responsibility encountered in this role may include any or all of the following: concept, design, test, document, and promote new software features and processes; perform requirements analysis and decomposition; evaluate new languages, development tools, or processes; perform product maintenance; manage the software lifecycle through version control and configuration management; keep up to date on new technologies or develop new technologies; communicate technical information to customers, team members, suppliers and other units; and support and advise other engineers, managers, marketing personnel, customers and suppliers.
Work can primarily be done off-site, but hardware engagement on-site is mandatory as part of workload. Depending upon the phase of the assignment, typical day would range from reading the client requirements, researching applicable ECU hardware/interfacing requirements, designing solutions, working with peers & tech leads to finalize solutions, coding solution in C, manage versioning, unit testing, and/or regression testing.
Technical Skills Required:
- Real world real-time embedded device driver experience is key requirement.
- Experience designing embedded electronics controls, display, or telematics software, including development of device drivers, SPI/I2C peripheral interfacing, hardware diagnostics, operating system configurations, non-volatile memory interfacing, board initialization, and other chip-level interfacing.
- Top candidates will have depth in RTOS concepts and integration/configuration.
- Proficiency in Git version mgmt. required. (ClearCase experience preferred.)
- Experience troubleshooting/debugging using tools such as oscilloscopes
- Experience with control software design patterns and anti-patterns, Bash shell, ANSI C, Python, and other programming languages.
- Experience with software development processes such as Agile.
Soft Skills Required:
- Verbal and written communication skills
- Problem solving skills, customer service and interpersonal skills.
- Knowledge of reading schematics and data sheets for components.
- Ability to troubleshoot issues and make system changes as needed to resolve issue.
Education & Experience Required:
- Minimum BS in Computer Engineering / Electrical Engineering required. Comp Sci or comparable may be considered if experience is relevant.
- 5-8 yrs industry experience.
- Will accept Master's or higher relevant internship/project experience.