Course code: WEB-23
  • Years with company: 6
  • Years programming: 35
  • Primary programming language: Python
  • Other programming languages: C++, Java, C#. Very occasionally C.
  • Unit test harnesses: None in C. I've used Catch with C++.
  • Something else: I don't really consider myself a C programmer. My first curly-brace language was C++, which I programmed in for many years. I've never needed to build a system in C from scratch, and usually reach for C++ if that's an option.
  • Test practice now: Unit tests where possible, running off target. I've tried using drivers, and test doubles, but found it difficult in C.
  • Target system: I'm not normally doing embedded outside of hobby projects. Most of the embedded programming I've done is AVR ATMega based using the gcc-avr toolchain. I've tinkered a bit with STM32.
  • Dev tools: In this context, gcc CLion, CMake.
  • Build time: 31-60 seconds
  • Coding standard: n/a
  • Function too long: When it fulfils more than one purpose without delegating to other functions.
  • Code reviews: Ad hoc.
  • Code time: 50
  • Test time: 30
  • Debug time: 20
  • Favorite thing about dev: I enjoy solving difficult problems. Occasionally I'm good at it.
  • Least favorite thing about dev: Hard to reproduce bugs.
  • Tdd knowledge: Red, green, refactor! I practice TDD when I'm uncertain about the direction I want to take.
  • Why are you attending: To learn about how to deliver training over the Internet, with strong curiosity about how the pros do embedded programming.