Embedded engineer with 7 years of industry experience and a passion for developer tools. Worked at Pebble and Fitbit helping them ship and maintain millions of wearable devices running RTOS-level firmware. Now a co-founder at Memfault, which is building monitoring tools for the IoT space. You can find some of the articles I've written at: https://interrupt.memfault.com/blog/authors/tyler/.
The Best Defense is Offensive ProgrammingStatus: Available Now
Let's face it. The firmware we write has bugs, and we need to defend against and accept failures when our system experiences bugs. This is when we typically employ defensive programming practices, but if not used correctly, they may cause more problems than they solve.
There is an alternative and complimentary set of programming practices, often called "offensive programming", which takes defensive programming and flips it on its head. Instead of defending against errors in firmware, this technique will surface them immediately using liberal asserting and proper fault handling.
This talk will cover offensive programming techniques, prerequisites to implementing the suggestions in your firmware, and how you can use them to quickly and easily track down and root cause 1 in 1,000 hour bugs and keep your sanity at the same time.