Haystack
← Back to Jobs
Technology
OG

Embedded Engineer

Opulent Global Technologies Inc.Lake Forest, CA🇺🇸United StatesPosted Sep 30, 2026

Quick Overview

Seniority
Mid Senior
Work mode
On Site
Location
Lake Forest, CA, United States
Posted
1 week ago
TCP/IPC++PythonRESTgRPC

Job Description

Role :- Embedded Software Engineer

Location: Lake Forest, CA — On-site

Contract – 12+ months

 

 

Job Description :

Responsibilities

·       Design, develop, and maintain C/C++ software for RTOS, Real-Time Linux, and Linux-based embedded controllers for real-time sensing, communication, monitoring, and device control.

·       Develop multi-threaded and real-time applications, including task scheduling, interrupts, synchronization, IPC, timers, state machines, watchdogs, and fault handling.

·       Develop and integrate low-level hardware interfaces and communication protocols including GPIO, UART, SPI, I²C, CAN/CAN-FD, Ethernet, TCP/IP, and UDP.

·       Develop and debug device drivers, BSP/HAL components, and hardware/software interfaces.

·       Perform system-level debugging and performance analysis, including latency, jitter, CPU/memory utilization, and communication performance.

·       Support networking and application interfaces including REST, MQTT, gRPC/Protobuf, and related technologies.

·       Develop Python tools for test automation, diagnostics, data collection, and hardware validation.

·       Participate in architecture/design reviews, code reviews, testing, integration, and system validation.

Required Qualifications

·       BS/MS in Computer Engineering, Electrical Engineering, Computer Science, or related field, with 5+ years of embedded/real-time software development experience.

·       Strong proficiency in C/C++ and working proficiency in Python.

·       Strong foundation in computer organization and architecture, including Von Neumann/Harvard architectures, CPU operation, registers, instruction execution, buses, and memory-mapped I/O.

·       Strong understanding of memory architecture, including cache, SRAM/DRAM/Flash, stack/heap, virtual/physical memory, DMA, and memory management.

·       Strong knowledge of Real-Time Operating Systems, including tasks/threads, scheduling, priorities, context switching, mutexes/semaphores, queues, synchronization, priority inversion, latency, jitter, and deterministic execution.

·       Strong understanding of hardware/software interrupts, ISRs, interrupt priorities, exceptions, interrupt latency, and interrupt-to-task interaction.

·       Hands-on experience with embedded controllers/microprocessors/SoCs and hardware interfaces such as GPIO, UART, SPI, I²C, CAN/CAN-FD, ADC/DAC, and Ethernet.

·       Experience with Embedded/Real-Time Linux, multithreading, IPC, sockets, device interfaces, and user-space/kernel-space concepts.

·       Ability to read schematics, datasheets, register maps, memory maps, and timing diagrams and debug hardware/software interactions.

Similar jobs