Course code: WEB-24
  • Years with company: 1
  • Years programming: 5
  • Primary programming language: C++
  • Other programming languages: C, python
  • Unit test harnesses: embUnit, robot framework for black box testing. (a little bit of Catch2)
  • Something else: I worked 4 years on the embedded software for a stm32f4. Right now I am working for 6 months on a nrf52 based sensor platform. I have a degree in micro electronics engineering.
  • Test practice now: We manual test the code with gdb and evaluate the quality of the data. For logic we use small catch2 based tests that only run on development laptops so not on the target. A build pipeline checks if the code compiles
  • Target system: It's a nrf52 with no uart
  • Dev tools: clang-format, gcc, sonarcloud (for static code analysis), vim, jlink, gdb, cppcheck
  • Build time: 31-60 seconds
  • Coding standard: It depends on the person who reviews/writes the code. clang format needs to be executed. Before pushing you should do a small 1 min recording with a new configuration to check if the chain works.
  • Function too long: In theory sonarcloud tells us that but for now it's disabled because there are too many errors/warnings
  • Code reviews: At least one person should have a look at the code and mark it as ready for merge in github.
  • Code time: 2
  • Test time: 3
  • Debug time: 5
  • Favorite thing about dev: the challenge to create/adopt abstraction that can be used in a clean way in the rest of the code.
  • Least favorite thing about dev: GDB debugging (in c it was fine but in c++ it's tedious)
  • Tdd knowledge: I saw most of Robert C. Martin clean code videos and read Test-Driven Development with Python and read the first chapters of TDD for embedded C
  • Why are you attending: - To better understand what are 'good concepts'/'way of working' to create testable/tested embedded code. - What environment is needed for good (unit)tests (Do they need to run on target? With(out) the RTOS?