Software Engineer III

CHATSWORTH PRODUCTS INC•Round Rock, TX
•Onsite

About The Position

Develops complex software and creates and executes designs for new functionality. The position contributes to the design, analysis, validation, and documentation of standard and custom software products. It develops software for embedded Linux operating systems and applications, translates product-level requirements into operating system configurations and software implementation requirements, and leads technical work on projects and products. The role also optimizes system architecture, builds and maintains embedded Linux environments and Makefile-based cross-compilation systems, and resolves issues across operating system, package, toolchain, build, and application layers. The engineer works within a team using Git-based version control and standard software development and QA practices. The role includes defining unit and integration test plans, participating in peer reviews and formal design reviews, mentoring junior engineers, documenting designs and integration procedures, and preparing information for manufacturing, field service, and technical publishing during releases. The position also provides ongoing technical support to internal teams and communicates and reports progress to the lead engineer, cross-functional teams, vendors, and the team lead or Core Team.

Requirements

  • Bachelor’s or master’s degree in Electrical Engineering, Computer Science, or equivalent.
  • Minimum of 10 years of experience.
  • Knowledge and experience with C/C++, LUA, SQL databases, and Python development.
  • Proficiency using AI-assisted software development tools to improve code development, debugging, refactoring, documentation, and software testing; examples include GitHub Copilot, Claude Code, or comparable tools.
  • Demonstrated experience with Buildroot or comparable embedded Linux build systems such as Yocto, including package configuration, dependency management, toolchain generation, and operating system image builds.
  • Strong proficiency developing and maintaining Makefile-based build systems using cross-compilation toolchains generated by Buildroot or comparable embedded Linux build systems.
  • Strong understanding of embedded Linux architecture, including system initialization, filesystem structure, process management, runtime services, daemons, and system configuration.
  • Experience identifying, evaluating, configuring, and integrating Linux packages, libraries, utilities, daemons, background processes, and services to meet product functionality requirements.
  • Proficiency designing, developing, and troubleshooting software systems and algorithms that run in an embedded Linux runtime environment.
  • Understanding of embedded system runtime constraints, including CPU, memory, storage, performance, and software security.
  • Experience using a Git-based version control system for coordinated team collaboration.
  • Demonstrates functional and technical skill, knowledge, and ability in the assigned area.
  • Demonstrates ethics, values, integrity, and trust in accordance with company core values.
  • Demonstrates customer focus, interpersonal and collaborative skills, initiative, adaptability, ownership, and accountability.
  • Uses resources effectively, sets priorities, plans and organizes work, and applies problem-solving and creativity.
  • Practices active listening, shares information, and communicates ideas and facts clearly in writing.
  • Works at a computer for the majority of the day.
  • Ability to lift up to 25 lbs. for tasks such as moving file boxes.
  • Some travel may be required by automobile and airplane.

Nice To Haves

  • Experience developing and integrating software for ARM-based embedded hardware platforms, such as Atmel Cortex M0+ microcontrollers or Atmel A5 and A7-based microprocessor units.
  • Experience with board support packages (BSPs), bootloaders such as U-Boot, Linux kernel configuration, and device tree configuration.
  • Experience with embedded hardware interfaces and protocols, including UART, SPI, I2C, GPIO, USB, CAN 2.0, and CAN-FD.
  • Experience with Ethernet technologies, including conventional 10/100/1000BASE-T and Single-Pair Ethernet (SPE) standards such as 10BASE-T1S and 10BASE-T1L.
  • Experience coding to meet cybersecurity regulatory requirements such as IEC 62443.
  • Knowledge of upcoming EU Cyber Resilience Act (CRA) cybersecurity regulatory requirements.
  • Experience with hardware/software integration, target hardware debugging, and troubleshooting using JTAG, SWD, or similar tools.
  • Experience with automated build systems, continuous integration, and embedded software release management using Jenkins or comparable platforms.

Responsibilities

  • Develop software in C, C++, or other selected languages for embedded Linux products and applications, following the software development methodology and release process.
  • Translate product-level functional requirements into operating system configurations, package selections, and application-layer software implementation requirements.
  • Lead project analysis, design, and development, and serve as the technical subject matter expert for software products under development.
  • Optimize software system architecture to balance resource utilization, run-time performance, and future maintainability.
  • Develop, configure, build, and maintain embedded Linux operating system environments using Buildroot, including package selection, dependency management, and integration of required libraries, utilities, runtime daemons, and services.
  • Develop, maintain, and enhance Makefile-based build systems using Buildroot-generated cross-compilation toolchains to build and integrate application-layer software.
  • Troubleshoot and resolve complex issues across operating systems, package management, toolchains, build infrastructure, and application layers.
  • Use standard team software development practices and a Git-based repository management system.
  • Establish and develop software QA test plans and procedures for unit-level code and integration with hardware and other subsystems.
  • Contribute to design and code peer reviews and help ensure best practices are followed.
  • Provide direction, mentorship, and support to junior software engineers.
  • Attend and contribute to formal design reviews.
  • Document architecture designs, operating system configurations, package selections, build dependencies, algorithms, data flows, and software integration procedures.
  • Prepare and transfer appropriate information to manufacturing, field service, and technical publishing during the release process.
  • Provide continued technical support to customer support, field service, manufacturing, sales, and marketing.
  • Communicate with the lead engineer, cross-functional teams, and vendors.
  • Track and report assigned task status and progress to the team lead and/or Core Team.
  • Meet multiple deadlines and objectives and set priorities with moderate coaching.
  • Perform other related duties as assigned by management.
  • Follow company safety rules and regulations and proactively identify and eliminate safety hazards.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service