Embedded Software Engineer 3 (# 6663)
Position
Details:
Client: Well Known Largest Customer
Title: Embedded Software Engineer 3
Location: Mossville, IL 61552 (Hybrid)
Duration: 12 Months Contract (Possible
extension)
Job
Description:
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.
Details:
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 research, 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, Visual Basic, etc.
Education/Experience:
- Bachelor's
degree in computer science, software engineering or relevant field required.
- 5-8 years’
experience required.
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 Client's wide
variety of electronic controls hardware (i.e. ECU/ECMs). This assignment builds
and documents team software releases. This assignment also 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. 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.
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.
Req #
131852
Job Id
6663-1
Category
IT / Software Development
Job Type
Contract
Job Status
Full Time
Salary
55-58
Location
Peoria, IL
IL, Mossville 61552