# 10: Hands Off, Baby

- Show: [Embedded.fm](https://hardwarepodcasts.com/podcast/embedded-fm)
- Published: 2013-07-17
- Length: 58m
- Page: https://hardwarepodcasts.com/podcast/embedded-fm/2013-07-17-10-hands-off-baby
- Listen: https://makingembeddedsystems.libsyn.com/mes-ep10-mp3-1

## Summary

Jen Costillo, an embedded software engineer transitioning to startups, joins host Elecia White to discuss obscure C and C++ keywords like volatile, static, and const that serve as effective interview questions for identifying experienced firmware developers. They detail how volatile prevents compiler optimization of hardware registers and shared variables, while static provides encapsulation and persistent state, arguing these concepts reveal a candidate's depth of understanding. The conversation also covers the trade-offs of using macros versus inline functions, pragma directives for memory layout, and the importance of reading compiler documentation to leverage these features safely.

## Chapters

- [0:06](https://hardwarepodcasts.com/podcast/embedded-fm/2013-07-17-10-hands-off-baby#t=6) Introduction: Jen Costillo and the volatile keyword
- [2:00](https://hardwarepodcasts.com/podcast/embedded-fm/2013-07-17-10-hands-off-baby#t=120) Volatile usage in hardware registers and ISRs
- [7:41](https://hardwarepodcasts.com/podcast/embedded-fm/2013-07-17-10-hands-off-baby#t=461) Volatile in shared variables and lightweight RTOS
- [12:13](https://hardwarepodcasts.com/podcast/embedded-fm/2013-07-17-10-hands-off-baby#t=733) The register keyword and compiler optimization
- [14:53](https://hardwarepodcasts.com/podcast/embedded-fm/2013-07-17-10-hands-off-baby#t=893) Const, const pointers, and memory allocation
- [17:57](https://hardwarepodcasts.com/podcast/embedded-fm/2013-07-17-10-hands-off-baby#t=1077) Pragma pack for structure alignment and memory efficiency
- [26:07](https://hardwarepodcasts.com/podcast/embedded-fm/2013-07-17-10-hands-off-baby#t=1567) Inline assembly, intrinsics, and software breakpoints
- [30:24](https://hardwarepodcasts.com/podcast/embedded-fm/2013-07-17-10-hands-off-baby#t=1824) Static keyword: encapsulation and persistent state
- [42:01](https://hardwarepodcasts.com/podcast/embedded-fm/2013-07-17-10-hands-off-baby#t=2521) Macros, type definitions, and debugging challenges
- [50:33](https://hardwarepodcasts.com/podcast/embedded-fm/2013-07-17-10-hands-off-baby#t=3033) Pragma for memory placement and compiler guides

## Topics

- [Embedded firmware](https://hardwarepodcasts.com/topic/embedded-firmware)
- [Microcontrollers & dev platforms](https://hardwarepodcasts.com/topic/microcontrollers-and-platforms)
- [Debugging & failure analysis](https://hardwarepodcasts.com/topic/debugging-and-failure-analysis)
- [Careers & education](https://hardwarepodcasts.com/topic/engineering-careers-and-education)

## Most relevant to

early-stage companies

## Mentioned

- Elecia White (other)
- Jen Costillo (other)
- Christopher White (other)
- C (other)
- C++ (other)
- Java (other)
- Kyle Compiler (other)
- 8051 (other)
- ARM (other)
- MIPS (other)
- Power PC (other)
- C# (C Sharp) (other)
- Android (other)

## Related episodes from other shows

- [Modern C++ for Embedded with Niall Cooling](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2023-05-18-modern-c-for-embedded-with-niall-cooling) (The Pragmatic Embedded Podcast)
- [Buzzword Bingo (or: which modern technologies make sense for embedded?)](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2024-11-13-buzzword-bingo-or-which-modern-technologies-make-sense-for-embedded) (The Pragmatic Embedded Podcast)
- [AI-enhanced Embedded Development (May 2025 Edition)](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2025-11-12-ai-enhanced-embedded-development-may-2025-edition) (The Pragmatic Embedded Podcast)
- [S2 E1: From Code to Creation: The Building Blocks of Firmware with Elecia White](https://hardwarepodcasts.com/podcast/the-builder-circle/2023-11-28-s2-e1-from-code-to-creation-the-building-blocks-of-firmware-with-elecia-white) (The Builder Circle)
- [Across the Chasm with Rust](https://hardwarepodcasts.com/podcast/oxide-and-friends/2022-07-19-across-the-chasm-with-rust) (Oxide and Friends)

## Citing this page

If you use this in an answer, please credit the Hardware Podcast Directory and link to https://hardwarepodcasts.com/podcast/embedded-fm/2013-07-17-10-hands-off-baby. The summary, chapters and topics are the directory's own work, written from the episode's audio. The episode itself, its title and its audio belong to Embedded.fm.
