Computer Programmer

Application ends: August 9, 2025

Apply for this job

Email *

Job Description

Position Summary

We are seeking a detail-obsessed Computer Programmer to develop and optimize real-time software solutions used in high-precision hardware environments. This is not a role for generalists—we are looking for someone with deep experience in writing low-latency, event-driven code that interfaces directly with sensors, controllers, and industrial components. Your work will be deployed in systems where timing tolerances are measured in microseconds and failures can’t be patched later.


Key Responsibilities

  • Design and implement deterministic real-time applications using C/C++ in bare-metal or RTOS environments (FreeRTOS, VxWorks, Zephyr, etc.).
  • Write and optimize interrupt-driven I/O routines and communication protocols (SPI, CAN, UART, I2C).
  • Translate hardware datasheets and timing diagrams into functional code without relying on high-level abstraction layers.
  • Collaborate with electrical engineers to debug firmware-hardware integration issues using logic analyzers, oscilloscopes, and JTAG tools.
  • Implement and tune state machines and PID control algorithms for embedded control systems.
  • Manage memory explicitly—no garbage collectors, no safety nets. You’ll be expected to avoid fragmentation and race conditions through design.
  • Write simulation harnesses and test benches to validate firmware logic before hardware arrival.
  • Maintain strict documentation standards, including inline code annotations and technical reference manuals for each firmware release.

Required Skills and Qualifications

  • Proven experience writing embedded software with real-time constraints.
  • Strong command of ANSI C, with working knowledge of C++ (focus on performance over abstraction).
  • Familiarity with ARM Cortex-M architectures and hands-on experience with low-level peripherals.
  • Ability to write and debug assembly when needed (ARM or x86 preferred).
  • Experience building for cross-compilation toolchains and managing makefiles or CMake builds.
  • Deep understanding of debouncing, timing jitter, deadlocks, and concurrency pitfalls in bare-metal systems.
  • Proficiency in version control with Git (rebase, bisect, blame workflows).
  • BS in Computer Engineering, Electrical Engineering, or equivalent industry experience.

Preferred Qualifications

  • Experience integrating with FPGAs (e.g., working over AXI or custom parallel buses).
  • Familiarity with power management in low-energy systems (sleep modes, wake-up timers).
  • Contribution to open-source embedded projects (please link repositories).
  • Familiarity with IEC 61508 or ISO 26262 software safety standards.

Are you interested in this position?

Apply by clicking on the “Apply Now” button below!

#GraphicDesignJobsOnline#WebDesignRemoteJobs #FreelanceGraphicDesigner #WorkFromHomeDesignJobs #OnlineWebDesignWork #RemoteDesignOpportunities #HireGraphicDesigners #DigitalDesignCareers#Dynamicbrandguru