Course code: BARR-13
  • Years with company: 1
  • Years programming: 18
  • Primary programming language: C
  • Other programming languages: C++, Python, Bash haha, and trying to find time to learn Rust
  • Unit test harnesses: googletest, cppunit
  • Something else: Plays with Linux and electronics design
  • Test practice now: Functional testing, although I have written and run unit tests for past work projects
  • Target system: STM32 ARM, application written in C, sometimes FreeRTOS and sometimes bare metal, multi-microcontroller setup
  • Dev tools: IAR, CMake, J-Link or ST-LINK, sometimes Windows and sometimes Linux host system
  • Build time: 11-30 seconds
  • Coding standard: lower_snake_case() function names, units in names, g_ prefix in globals, avoid dynamic memory allocation when possible, Doxygen commands
  • Function too long: When I can't see both the top and bottom of it in my IDE. Actually it's when it does too many things. I tend to start with the smallest functionality in one function, reuse that in a more complex function, and so on. Easier for testing :)
  • Code reviews: Automatically created before pulling changes, diff views available, need 3 approvals from pool of peer reviewers (everybody)
  • Code time: 10%
  • Test time: 30%
  • Debug time: 60%
  • Favorite thing about dev: I like writing software because I like to be in the programming zone. I like embedded software because I like to make things blink and move in the real world.
  • Least favorite thing about dev: Bad, clunky, black-box tools
  • Tdd knowledge: I think it works well for my brain. But dedicating the time to it when the whole team isn't already using it is hard.
  • Why are you attending: Selected as one of three individuals to represent our three offices, share what I learned with coworkers