Embedded Systems Software Engineer

Randstad
Grand Rapids, United States of America
yesterday

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Grand Rapids, United States of America

Tech stack

Address Resolution Protocols
API
C++
Communications Protocols
Computer Networks
Dynamic Host Configuration Protocol
Software Debugging
Desktop Computing
Linux
Device Drivers
Distributed Computing Environment
Embedded Software
Ethernet
Firmware
FreeRTOS
Internet Control Message Protocol
Internet Group Management Protocols
Internet Protocol Security (IP SEC)
IPv4
IPv6
Python
Network Layer
Multiprocessing
Network Time Protocols
Network Protocols
QNX (Software)
Real-Time Operating Systems
Software Engineering
Systems Integration
Transmission Control Protocol (TCP)
User Datagram Protocols
Management of Software Versions
Virtual Local Area Networks
VxWorks
Multithreading
Scripting (Bash/Python/Go/Ruby)
Parallel Computation
GIT
Internet Key Exchange

Job description

Responsibilities include design and implementation of networking protocols including, but not limited to: Internet Protocol version 4 (IPv4) Internet Protocol version 6 (IPv6) Address Resolution Protocol (ARP) Internet Control Message Protocol (ICMP) Internet Group Management Protocol (IGMP) Dynamic Host Configuration Protocol (DHCP) Transmission Control Protocol (TCP), User Datagram Protocol (UDP) Network Time Protocol (NTP)

Additional responsibilities include but are not limited to: Create detailed design and technical documentation, optimize existing applications, and implement new features. Validate and verify software designs in a diversity of system integration environments - from local desktop computer simulations to fully representative tests. Implement protocols and algorithms for resource-constrained environments and collaborate with the hardware team to enable communication between modules and applications. Ensure software robustness, resilience, and fail-safe operation for critical devices, and mitigate potential safety and security vulnerabilities. Define and execute engineering test, validation, and verification activities. All work products shall be reviewed by the Buyer for technical completeness and accuracy.

Requirements

A minimum of 10 years of experience in networking protocol development, with experience in detailed design and/or implementing protocols in software/firmware. Strong understanding of Layer 2 and Layer 3 networking concepts, including Ethernet, Virtual Local Area Network (VLAN) tagging where applicable, Familiarity with Neighbor Discovery (ND) in IPv6 is highly desirable. A minimum of 5 years of experience implementing or integrating Internet Protocol Security (IPsec) and Internet Key Exchange (IKE) (version 1 and/or version 2).

Embedded networking software experience Proficiency in Ada, C, C++, or equivalent languages Additional desired experience / background: Experience working in mission-critical industries (aerospace, automotive, defense, first responder, medical devices, etc.) and turning CONOPS, Specifications or Requirements into software design, code, test plans and execution Python language experience or equivalent scripting languages Experience with RTOS (Linux, FreeRTOS, QNX, VxWorks, etc.) and device drivers for complex systems using parallel processing, multi-threading, distributed processing, multi-core, SoM, board support package (BSP), device driver development, and / or application program interface (API) design Experience with embedded software testing, debugging, and integration on hardware using debuggers (gdb, lldb, etc.), test equipment (scopes, analyzers, multi-meters, etc.), and UARTs, JTAGs and oscilloscopes Experience with Git or equivalent versioning software Experience with model-based engineering tools such as Cameo

3.2 Resource Qualifications Bachelor's degree in Software Engineering or related STEM field U.S. Citizen Possesses an active US security clearance

Apply for this position