Course code: TOP-1
  • Years with company: 4 months
  • Years programming: 25
  • Primary programming language: C++
  • Other programming languages: C, C#, Java
  • Unit test harnesses: Google Test, Boost Test, Catch, NUnit, JUnit
  • Something else: My background isn't in embedded software.
  • Test practice now: TDD for new code, manual spot testing for everything else.
  • Target system: Various - bare metal embedded (C/C++), RTOS embedded (C), future development on embedded Linux (C++).
  • Dev tools: CLion, CMake, Vim
  • Build time: Under 10 seconds
  • Coding standard: Varies by project. Greenfields project enforced with clang-format, others are less defined.
  • Function too long: If it does more than one thing or in general if it is more than 5-10 lines long.
  • Code reviews: None for most legacy projects. Process using Bitbucket tools is evolving based on work in greenfields project.
  • Code time: 70
  • Test time: 20
  • Debug time: 10
  • Favorite thing about dev: Solving problems.
  • Least favorite thing about dev: Chasing bugs that can't be reproduced. Fixing a bug only to discover that I've broken something else that seemed entirely unrelated.
  • Tdd knowledge: It may seem slower at first but it makes me faster in the long run. Sometimes it is really hard to stick to it in the when the time pressure is mounting, but every time I've strayed from it I've regretted it later.
  • Why are you attending: I think TDD is vital to developing quality software and while I've been practicing it for many years, I've never taken any formal training on it so it made sense for me to go through it with my team.