Avatar for Daten Technology Solutions
Data-first tech solutions for Fortune 1000 companies

Embedded Engineer

Posted: 3 days ago
Job Location
Remote Work Policy

In office

Visa Sponsorship

Not Available

RelocationAllowed
Skills
C++
C
Linux
DNS
RTOS
Wireshark
ipv6
DHCP
NAT
TCPDump
Udp
TCP
IPv4
VPNs

About the job

Responsibilities

  • Design, develop, integrate, and support production-quality embedded and network software for commercial and government communication systems, applications, and products.
  • Own significant software components from architecture and design through implementation, integration, test, deployment, and sustaining engineering.
  • Develop high-performance software and services in C/C++, with additional development in languages such as Python as appropriate.
  • Design and implement software for Linux-based embedded and RTOS platforms, including multithreaded and event-driven applications, system services, device interfaces, and network applications.
  • Develop and troubleshoot networking functionality involving IPv4/IPv6, TCP, UDP, routing, DNS, DHCP, NAT, VPNs, and other IP networking technologies.
  • Analyze packet flows and diagnose complex system and network issues using tools such as Wireshark, tcpdump, and Linux networking utilities.
  • Optimize applications, protocols, and algorithms for operation across wireless, cellular, satellite, and other variable or constrained network environments.
  • Collaborate with systems, hardware, firmware, test, and network engineers to define interfaces, architectures, and end-to-end solutions.
  • Investigate difficult field and system-level problems, identify root causes, and drive solutions through production deployment.
  • Participate in architecture and design reviews and contribute to software engineering best practices, including code reviews, automated testing, CI/CD, and configuration management.
  • Provide technical guidance and mentorship to less-experienced engineers while contributing directly to software development.
  • Communicate technical trade-offs, status, risks, and recommendations clearly to engineering teams and stakeholders.

Basic Requirements

  • Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical discipline.
  • 5+ years of professional software development experience, with approximately 5 years of experience preferred for this role.
  • Strong software development experience in C and/or C++.
  • Professional experience developing software for embedded Linux or RTOS environments.
  • Solid understanding of computer networking, including IP, TCP, UDP, sockets, and common networking protocols.
  • Experience designing, debugging, and maintaining multithreaded, concurrent, or real-time software systems.
  • Strong understanding of software engineering fundamentals, including data structures, algorithms, object-oriented design, operating systems, and software architecture.
  • Experience debugging complex software and system-level issues using source-level debuggers, logs, packet captures, and other diagnostic tools.

Preferred Qualifications

  • Experience developing software for routers, gateways, modems, wireless devices, telecommunications equipment, or other networked embedded platforms.
  • Strong understanding of Linux networking, including routing, interfaces, VLANs, bridging, firewalling, and network configuration.
  • Experience with wireless communications technologies such as cellular, Wi-Fi, satellite, or other RF/networking systems.
  • Experience with embedded Linux build environments, development toolchains, cross-compilation, and hardware/software integration.
  • Familiarity with Yocto, Buildroot, OpenWrt, or similar embedded Linux environments.
  • Experience with networking software and technologies such as VPNs, tunneling, QoS, and advanced routing libraries.
  • Experience developing interfaces to hardware and peripherals using technologies such as UART, SPI, I²C, USB, Ethernet, or PCIe.
  • Familiarity with modern development practices and tools including Git, CI/CD, automated testing, static analysis, and issue tracking.
  • Experience developing software for systems requiring high availability, reliability, security, or operation in constrained network environments.
  • Exposure to containerized applications, cloud-connected edge systems, telemetry, or device-management platforms.
  • Experience working with communications systems for commercial, government, aerospace, or defense applications.
  • Strong written and verbal communication skills with the ability to explain complex technical concepts clearly.
  • Self-directed, collaborative engineer who can take ownership of challenging technical problems and drive them to resolution.

About the company

Daten Technology Solutions company logo
Data-first tech solutions for Fortune 1000 companies51-200 Employees
Learn more about Daten Technology Solutions image

Similar Jobs

CodePraxis company logo
CodePraxis
A platform for engineering interviews that are not coding tests