Course code: ZOO-1
  • Years with company: 2
  • Years programming: 12
  • Primary programming language: C++
  • Other programming languages: C, Python, Bash, various others to a lesser extent
  • Unit test harnesses: gtest, robotframework, selenium
  • Something else: I make the best bagels this side of the Mississippi
  • Test practice now: gtest / CI -> bench test -> on-dyno test -> dynamic vehicle test
  • Target system: Embedded board, runs QNX on a microprocessor and an RTOS on a separate microcontroller.
  • Dev tools: Sublime 3, Bazel, clang-format, easy-clang-complete, socketcan, CANalyzer, TextPastry
  • Build time: 1-5 minutes
  • Coding standard: There's a whole style guide devoted to it. More than I can say in 250char.
  • Function too long: Must be able to hold all the function's logic in your head at the same time. Must be scoped to a specific task.
  • Code reviews: Process-oriented and protected against human mistakes by CI and other pre-merge checks. 1 reviewer minimum, 2 preferred for non-trivial changes. Larger changes should be split up and merged into a feature branch instead.
  • Code time: 50%
  • Test time: 10%
  • Debug time: 40%
  • Favorite thing about dev: Getting it to run on hardware and working with robots
  • Least favorite thing about dev: Dealing with tooling issues or other problems not directly related to the development process
  • Tdd knowledge: Write tests first, according to predefined requirements. Then, write implementation. Only merge/commit when all the new tests pass. Typically hard to do for embedded systems without a robust HAL/OSAL and for new systems without a defined interface.
  • Why are you attending: 1. To expose myself to other points of view on testing. 2. To improve future projects at my company. 3. As a form of professional development. 4. To constantly be learning. 5. Because my manager said so. (But mostly the first 4!)
  • Back