Harvey Nash USA

Embedded Software Engineer - Harvey Nash USA - Mossville, IL

United States

$54–$60/hour
about 2 years ago
Save Job

Summary

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-7 years experience required. Position’s Contributions to Work Group: Research, design, develop, 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, boot, etc., which interfaces with Client’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. Typical task breakdown: Work can primarily be done off-site, but hardware engagement onsite is mandatory as part of workload. Will need to be able to be onsite part of the time from day one. 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 - MUST BE AVAILABLE TO BE ONSITE FROM DAY ONE. Minimum 50% onsite, more as business requires. Education & Experience Required: -Minimum BS in Computer Engineering / Electrical Engineering / similar required & 5-7 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. -Proficiency in Git version mgmt required. -Secondarily, experience with RTOS, control software design patterns and anti-patterns, ANSI C, and other programming languages -Experience with software development processes such as Agile. -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. 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. Job Type: Contract Pay: $54.00 - $60.00 per hour Benefits: 401(k) Dental insurance Health insurance Paid time off Vision insurance Schedule: 8 hour shift Monday to Friday Ability to commute/relocate: Mossville, IL 61552: Reliably commute or planning to relocate before starting work (Required) Experience: Embedded software: 5 years (Required) Embedded Device Driver: 5 years (Required) Agile: 3 years (Required) SPI/I2C: 4 years (Required) Work Location: In person

How strong is your resume?

Upload your resume and get feedback from our expert to help land this job