Embedded software engineer(Hybrid) Location :Mossville ,IL
Job DescriptionJob Description
Embedded software engineer(Hybrid)
Location:Mossville ,IL
Interview:Phone+Skype
We are looking for device driver level development. As well as RTOS. This is at the firmware level (driver). (real time operating system, rtos, freertos are good keywords)
Job Description
The main function of an embedded software engineer is to apply the principles of computer science and mathematical analysis to the design, development, testing, and evaluation of the embedded software and systems that make computers work. A typical embedded software engineer researches, designs, develops and tests operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific and general computing applications.
Job Responsibilities:
Design and implement software of embedded devices and systems from requirements to production and commercial deployment for product lines.
Write and code logical and physical database descriptions and specify identifiers of database to management system or direct others in coding descriptions.
Analyze and enhance efficiency, stability and scalability of system resources
Review project requests describing database user needs to estimate time and cost required to accomplish project.
Skills:
Verbal and written communication skills, problem solving skills, customer service and interpersonal skills.
Knowledge of reading schematics and data sheets for components
Basic knowledge of the full software development lifecycle: from business/systems analysis, through requirements gathering and functional specification authoring, to development, testing and delivery.
Basic ability to troubleshoot issues and make system changes as needed to resolve issue.
Basic knowledge of computer hardware and software. Solid programming experience in C or C++
Knowledge of computer development software as it relates to embedded systems, such as SQL, VisualBasic, etc.
Education/Experience:
Bachelor's degree in computer science, software engineering or relevant field required.
5-8 years experience required.
Story Behind the Need Business Group & Key Projects
Position's Contributions to Work Group
Team culture
Surrounding team & key projects
Purpose of this team
Reason for the request Position's Contributions to Work Group:
Research, design, develop, build, and test the low-layer software, such as OS integration, I/O drivers, boot, etc., which interfaces with Caterpillar'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 Caterpillar's wide variety of electronic controls hardware (i.e. ECU/ECMs).
Job 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.
Reason/motivation for request:
Backfill
Typical Day in the Role
Typical task breakdown and rhythm
Interaction level with team
Work environment description Typical task breakdown:
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.
Work Environment
Position is Hybrid and will require minimum three days' week onsite.
Candidate Requirements
Years of experience required
Degrees or certifications required
Disqualifiers
Performance indicators 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 toward minimum.
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
- 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.
Disqualifiers/Red Flags:
- Test engineering, controls engineering are not primary focuses. Can be part of work experience but should not be sole experience. Core skills above should be reflected in bulk of work experience.
Himanshu Goswami
IT Technical Recruiter
Stellent IT Phone:
Email:
Gtalk: Himanshu.goswami
Apply tot his job
Apply To this Job