Course code: BARR-13
  • Years with company: 1
  • Years programming: 14
  • Primary programming language: C
  • Other programming languages: Python C++ bash
  • Unit test harnesses: Google Mock
  • Something else: I study foreign languages in my free time.
  • Test practice now: We are trying to add unit tests to our codebase using Google Mock. Also, we are using python to integration test our code built for a VM. Finally, we cross-compile that code and are starting to system test on the target hardware.
  • Target system: It is an imx6ull SOM which will be in a mobile device that allows for wireless communication between units (over bluetooth, LTE, etc).
  • Dev tools: Cmake Visual Code IDE git cppcheck Sonarqube
  • Build time: 1-5 minutes
  • Coding standard: Sonarqube is used as our linter to hold us to various standards. I think MISRA is one of the bigger ones.
  • Function too long: Our linter gives us a warning, but before that happens, it's generally when I feel things are tabbed too deep (overly complex) or when too many top level blocks go serially (too long with clear places where independent sub-functions can be used)
  • Code reviews: We do code reviews before each commit to our trunk. Sometimes it is independent where reviewers look at it without context. Other times it is in a conference room as a team where the author goes through and explains the changes.
  • Code time: 20
  • Test time: 40
  • Debug time: 40
  • Favorite thing about dev: Seeing the results. Pleasing customers. Understanding what's been written and the paradigm it's been written in, so making changes makes sense. By the same token, knowing the code is robust, so we can make changes fast when deadlines get tight.
  • Least favorite thing about dev: Debugging tests, getting to the point where we can trust the tests are truly finding customer-facing software issues. Sight-reading late-project code: having to find the needle in the haystack with no intuition about how the code is intended to work
  • Tdd knowledge: All I know is that it is about writing the tests before any customer-facing code is written.
  • Why are you attending: My boss suggested it and it feels like a gap in my skillset. I've had to maintain test infrastructure in a past life, but I've never built tests from the ground up or used tests as an aid in design. I've only used tests to help debug.