> Markdown version of [/jobs/ext/3546530-embedded-software-engineer](https://www.wearedevelopers.com/jobs/ext/3546530-embedded-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Embedded Software Engineer - **Company:** Opulent Global Technologies Inc - **Location:** Lake Forest, CA, United States - **Experience:** Expert - **Contract:** Permanent contract - **Skills:** Adobe Flash, Automation of Tests, C++ (Programming Language), Code Review, Communications Protocols, Computer Engineering, Datasheets, Software Debugging, Linux, Device Drivers, Dynamic Random-Access Memory, Memory Management, Ethernet, Protocol Buffers, Hardware Interface Design, Python (Programming Language), Message Queuing Telemetry Transport (MQTT), Real-Time Operating Systems, System Testing, TCP/IP, Universal Asynchronous Receiver/Transmitter, Multithreading, Real Time Systems, State Machines, Hardware Testing, Information Technology, Low Latency, Heap (Data Structure) - **Published:** September 30, 2026 - **Apply:** https://www.dice.com/job-detail/b44a38cc-049e-41a6-b66d-cf43fe170068 ## About the Role · 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. ## Description · 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. ## Related Videos - [Docker network without Docker](https://www.wearedevelopers.com/videos/1418-docker-network-without-docker) - [An Applied Introduction to eBPF with Go](https://www.wearedevelopers.com/videos/1075-an-applied-introduction-to-ebpf-with-go) - [More efficient software for more efficient microchips](https://www.wearedevelopers.com/videos/1164-more-efficient-software-for-more-efficient-microchips) - [The Gashlycrumb Tinies of AI Networking You Must Know (or Languish!)](https://www.wearedevelopers.com/videos/2067-the-gashlycrumb-tinies-of-ai-networking-you-must-know-or-languish) - [Building a hypercar from scratch](https://www.wearedevelopers.com/videos/607-building-a-hypercar-from-scratch) - [Turning Container security up to 11 with Capabilities](https://www.wearedevelopers.com/videos/718-turning-container-security-up-to-11-with-capabilities) ## Related Articles - [What is Software Engineering?](https://www.wearedevelopers.com/magazine/289-what-is-software-engineering) - [Is Software Engineering Over-Saturated?](https://www.wearedevelopers.com/magazine/418-is-software-engineering-over-saturated) - [7 Important Tips That Every Software Developer Should Know](https://www.wearedevelopers.com/magazine/101-7-important-tips-that-every-software-developer-should-know) - [How software is steering vehicle technology](https://www.wearedevelopers.com/magazine/515-how-software-is-steering-vehicle-technology) - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [Résumé-Driven Development: How IT trends affect the job market for software developers](https://www.wearedevelopers.com/magazine/59-resume-driven-development-how-it-trends-affect-the-job-market-for-software-developers)