Software Engineering Intern — Cisco
Summer internship on IoT device management at Cisco, focused on over-the-air (OTA) firmware delivery for large device fleets using LwM2M. The work sat at the intersection of embedded connectivity constraints and campaign-scale software scheduling.
Key Achievements
- Implemented an LwM2M-based OTA firmware scheduler for firmware and software-over-the-air updates across IoT device fleets.
- Designed update prioritization around device criticality, connectivity, sleep cycle, and device capability.
- Improved update-campaign efficiency for large-scale IoT rollouts by reducing redundant device-status requests during update campaigns.
Context
IoT fleets do not update like servers. Devices sleep, drop offline, and differ in capability. A naive “push to everyone” campaign wastes bandwidth and fails on constrained hardware. The internship goal was a smarter OTA scheduler that respected those constraints while still improving campaign efficiency.
What I Built
An LwM2M-based OTA firmware scheduler that prioritized devices by criticality, connectivity, sleep cycle, and capability. That reduced redundant device-status polling during campaigns and made large rollouts more predictable for operators running fleet-wide firmware updates.
Why It Mattered
Firmware campaigns on IoT fleets are operationally expensive when they thrash offline or low-capability devices. Prioritized scheduling is a practical systems problem—queues, telemetry, and policy—not just “call the update API.” That early exposure to constrained distributed systems still shows up in how I design agent runtimes and self-hosted inference queues today.