Job Title- Embedded Software Systems Engineer
Location- Grand Rapids, MI
Duration- Long term contract
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.
Skillsets and Experience
Buyer requires resources with the following experience / background:
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
Resource Qualifications
- Bachelor's degree in Software Engineering or related STEM field
- U.S. Citizen
- Possesses an active US security clearance