Course code: CIR-1
  • Years with company: 5
  • Years programming: 7
  • Primary programming language: C
  • Other programming languages: python, C++, C#, assembly
  • Unit test harnesses: Embunit
  • Something else: I am a ARM SoC firmware engineer, focused primarily on USB-centered product. I also spent about 7 years living in China.
  • Test practice now: 1 - unit tests of modules using embunit; 2 - system integration tests with real-world stimuli; 3 - compliance tests
  • Target system: ARM Cortex M0+ -based SoC
  • Dev tools: Keil armcc for target and unit test builds gcc for unit test builds eclipse for IDE bullseye for coverage python for misc tools
  • Build time: Under 10 seconds
  • Coding standard: We have it published internally; basics like C-standard version, symbol naming, commenting are covered.
  • Function too long: > 100 lines
  • Code reviews: our *intention* is a codecollaborator review for every SVN commit; but it tends to be at most a review for every feature developed/bug fixed
  • Code time: 25
  • Test time: 50
  • Debug time: 25
  • Favorite thing about dev: It's fun make something work that did not before, like building something 'ex nihilo' with Lego when I was a kid. Not only is there the challenge to be creative, but also to be efficient. And with embedded work, you work with something physical.
  • Least favorite thing about dev: Not enough time - no time to experiment, innovate. Not enough inclusion in the path forward.
  • Tdd knowledge: I read your book a few years ago and applied a rudimentary TDD w/ embunit on the last library I have developed over the past year.
  • Why are you attending: To ask you some follow-up questions on TDD w/ the perspective of having used it on production code for 1 year.