Company Overview
TISA Software LLC is a dynamic software engineering company building innovative applications and products for customers in the United States and abroad. We prioritize agility and pragmatic, cutting-edge technology to meet evolving business needs.
Role Summary
We’re seeking a Senior C++ Developer with recent, hands-on Embedded/IoT experience to design, build, and ship production-grade firmware and device software. You’ll work across the stack—from drivers and RTOS/Linux user space to device networking and cloud integration—enabling secure OTA updates, remote debugging, and near real-time data flows.
What You’ll Do
- Develop, implement, and maintain C++ firmware for embedded Linux devices.
- Build secure OTA update pipelines (bootloaders, A/B or rollback strategies, signed artifacts).
- Enable remote debugging and observability (logging, crash dumps, GDB, JTAG/SWD, on-device diagnostics).
- Design and optimize near real-time data transmission (low-latency I/O, buffering, QoS/retry, back-pressure).
- Implement device networking (TCP/UDP, MQTT/HTTP(S), BLE/Wi-Fi, cellular); integrate with cloud IoT services.
- Develop hardware abstraction layers, drivers, and BSPs; support board bring-up with EE partners.
- Apply performance, memory, and power optimizations; ensure reliability in constrained environments.
- Write tests (unit/integration/HIL), automate builds (CMake/Ninja), and contribute to CI/CD for firmware.
- Participate in code reviews, threat modeling, and security hardening (secure boot, key management).
- Collaborate in Agile teams with product and back-end engineers to deliver end-to-end device features.
Must-Have Qualifications
- 5+ years professional experience in C++ (modern C++17/20 preferred) building production software.
- 3+ years recent experience in Embedded and/or IoT development.
- Proven, hands-on experience with OTA updates, remote debugging, firmware development, and near real-time data transmission.
- Solid understanding of RTOS (e.g., FreeRTOS, Zephyr) or embedded Linux (user space, services, device tree basics).
- Strong grasp of concurrency, interrupts, DMA, timers, and hardware interfaces (SPI/I²C/UART/CAN).
- Build/test tooling: CMake, static analysis, unit testing (e.g., GoogleTest/Catch2), and Git.
- Experience integrating devices with REST/MQTT/GraphQL back ends or IoT hubs (e.g., AWS IoT, Azure IoT).
- Excellent debugging skills with oscilloscopes/logic analyzers and protocol analyzers where needed.
Nice to Have
- Experience with Yocto/Buildroot, bootloaders (U-Boot/MCU boot), secure boot, and PKI/signing.
- State management and messaging patterns on constrained devices (protobuf/CBOR/FlatBuffers).
- Chip/board families (e.g., STM32, ESP32, NXP i.MX); low-power/battery optimization.
- Python for tooling/test harnesses; Rust exposure a plus.
- Field telemetry/observability pipelines and over-the-air configuration management.
Job Types: Full-time, Permanent
Pay: $45.00 - $70.00 per hour
Benefits:
Education:
Experience:
- Embedded Devices or IOT: 3 years (Preferred)
- C++: 5 years (Preferred)
Language:
Location:
- Houston, TX 77094 (Preferred)
Ability to Commute:
- Houston, TX 77094 (Preferred)
Work Location: In person