Embedded Linux Developer

3C Telemetry, LLC

Embedded Linux Developer

Centennial, CO
Full Time
Paid
  • Responsibilities

    Contract Software Engineer (3-Month Term) - Raspberry Pi & Linux Development

    We are seeking a highly skilled contract software engineer for a 3-month engagement, with a possible extension, to work on embedded systems development for a Raspberry Pi platform running Linux. This position will involve writing and optimizing code for both hardware and software interactions, ensuring efficient performance in a constrained environment.

    Key Responsibilities:

    • Develop, test, and maintain software applications for Linux-based systems running on Raspberry Pi.
    • Interface with hardware components and sensors, ensuring compatibility with the Raspberry Pi platform.
    • Interface with cellular modem radio, WiFi, Bluetooth, and other radio modules compatible with the Raspberry Pi platform.
    • Interface with (PoE) IP cameras to record and manage incoming video streams as well as external storage.
    • Troubleshoot and optimize code for performance, memory usage, and responsiveness.
    • Collaborate with hardware engineers to integrate software with embedded systems.
    • Write clear and well-documented code, including unit tests and debugging.
    • Ensure software is stable, secure, and adheres to best development practices.
    • Develop a plan for implementing Over-The-Air updates of the application and OS (when necessary)

    Required Skills and Experience:

    • Strong experience in C/C++ and Python programming on Linux.
    • Proficiency with Raspberry Pi hardware (PI5 and CM4), including GPIO and other I/O interfaces.
    • Proficiency with headless interfacing to Linux systems.
    • Familiarity with embedded Linux operating systems.
    • Experience with embedded systems, particularly in a resource-constrained environment.
    • Familiarity with LAMP stack.
    • Strong problem-solving skills and ability to debug complex issues.
    • Ability to work independently or with a small team and deliver results on time.
    • Close familiarity with software engineering tools, software development methodology and release processes

    Preferred Qualifications:

    • Experience with real-time operating systems (RTOS) or multi-threaded programming.
    • Knowledge of common embedded system protocols (I2C, SPI, UART, etc.).
    • Familiarity with version control systems (SVN, Git).

    Duration: 3 months
    Location: Remote or on-site (based on preference and location after gaining project familiarity)
    Start Date: ASAP

    This is an exciting opportunity for a contract engineer to contribute to an innovative project. If you have a passion for embedded systems and Linux development, we'd love to hear from you!