Course code: 3SI-001
  • Years with company: 12
  • Years programming: 40
  • Primary programming language: C
  • Other programming languages: Assembler
  • Unit test harnesses: Ceedling
  • Something else: Most of my background is with "bare metal" programming. When I started programming in the mid 80's, MCU's were small and development tools were sparse. I coded only in assembler, and still find it hard to not worry about wasting bytes when I code.
  • Test practice now: Always test behavior in system after code is written. Varies depending on function, but may include using printf statements or debugger breakpoints.
  • Target system: Asset tracking device using ARM Cortex MCU
  • Dev tools: GNU C Compiler, GDB debugger
  • Build time: 1-5 minutes
  • Coding standard: We develop an agreed-upon coding standard before starting a project, but it is not enforced
  • Function too long: Probably when it contains elements that can be easily broken down into other smaller functions
  • Code reviews: We use a web-based code reviewer to perform peer reviews before every commit to our trunk.
  • Code time: 60
  • Test time: 25
  • Debug time: 15
  • Favorite thing about dev: Finding creative ways to solve problems
  • Least favorite thing about dev: Unrealistic deadlines, unstable requirements, and having too many constraints on how I code
  • Tdd knowledge: All I know about TDD is that tests are written before writing any code
  • Why are you attending: My boss signed me up