Embedded Engineer

Sky Systems.Ai, LLC
San Diego, CA, United States
3 days ago
Apply on www.dice.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
5 years minimum
Working hours
Regular working hours
Job source

Tech stack

Automation of Tests UClibc (C Standard Library) C++ (Programming Language) Configuration Management Static Program Analysis Code Review Computer Networks Computer Engineering Modems Continuous Integration Data Structures Dynamic Host Configuration Protocol
+47 more
Software Debugging Linux Network Address Translation Domain Name System (DNS) Linux on Embedded Systems Ethernet Firmware Issue Tracking Systems Internet Protocol IPv4 IPv6 Virtual Private Networks (VPN) Python (Programming Language) Network Troubleshooting Network Configuration and Change Management Routing Packet Analyzer Network Protocols Object-Oriented Software Development PCI Express Software Architecture Real-Time Operating Systems Software Construction Software Deployment Software Engineering Systems Integration Transmission Control Protocol (TCP) Tcpdump Toolchain Wireshark Universal Asynchronous Receiver/Transmitter Virtual Local Area Networks Web Applications Wi-Fi Technology Network Routers Diagnostic Tools Multithreading Computer Networking Systems System Availability Peripherals Wireless Devices Git Openwrt Build Management Containerization Yocto Information Technology

Job description

  • 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.

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., * 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.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.dice.com
Prepare application

Good distractions

Loading talks and stories from around this role…