Skip to main content
Tallo logoTallo logo

Find Jobs

Find Jobs Near You – Available Work in Your Location

Technology
Software Developer / Engineer
Lake Forest, CA

Find & Apply For Software Developer / Engineer Jobs in Lake Forest, California

Browse jobs from a variety of sources below, sorted with the most recently published, nearest to the top. Click the title to view more information and apply online.

Skip to job details
Now viewing: Embedded Software Engineer
Apply for this opportunity

To apply for this job, you'll continue to an external website or email application.

Pi-Square Technologies

Embedded Software Engineer

Review key factors to help you decide if the role fits your goals.
Pay Growth
?
out of 5
Not enough data
Not enough info to score pay or growth
Job Security
?
out of 5
Not enough data
Calculating job security score...
Total Score
85
out of 100
Average of individual scores

Were these scores useful?

Job Description

Embedded Software Engineer 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. Preferred Qualifications Experience with FreeRTOS, Zephyr, QNX, VxWorks, Thread
X, PREEMPT
_RT, ARM-based controllers, device drivers, BSPs, Yocto/Buildroot, industrial communication protocols, and JTAG/GDB/oscilloscope/logic-analyzer debugging. Experience with BESS/HESS, BMS, PCS, power electronics, industrial controls, automotive, robotics, or other real-time control systems is a plus.
UL 60730
experience is a plus