Course code: BARR-8
  • Years with company: 4
  • Years programming: 4
  • Primary programming language: C
  • Other programming languages: VB.Net, C++
  • Unit test harnesses: none
  • Something else: I have my degree in electrical engineering. Now I'm doing all programming. So there are some fundamental software development courses I never took.
  • Test practice now: Before learning about TDD, it was tested on the hardware, with my fingers crossed it will still work when out on the field. Now, I've started taking any new code I write, and testing it in a C++ environment on my PC (but not a unit test).
  • Target system: Microcontroller running inside of an AC/DC power supply.
  • Dev tools: MPLAB X on microchip. However, we are moving towards ARM (I'm unsure on what tools we will be using for that)
  • Build time: 31-60 seconds
  • Coding standard: MISRA-C, as well as an internal coding standard that is enforced by Coverity and Jenkins. (I just follow MISRA-C and I haven't been yelled at during code reviews)
  • Function too long: When it can't fit on my screen, or there are more than 2 nested 'if' or 'case' statements.
  • Code reviews: We will work on code individually, then the person will issue a Pull Request, and all team members will review each others changes. If every team member agrees the code is good, the PR is merged.
  • Code time: 10
  • Test time: 50
  • Debug time: 40
  • Favorite thing about dev: It keeps me busy, and I enjoy being able to write a piece of code, and test it immediately (no need to breadboard a circuit, or get a PCB fab'd).
  • Least favorite thing about dev: Bugs, and testing. In hardware, you can just change a capacitor to change that RC filter, without worrying about negative overflows and untested boundary conditions. In firmware...
  • Tdd knowledge: First, write the test, then write the code. Then test the code. There are other details (I have your TDD book). But, I don't fully understand the process of actually writing the unit tests, or how to best execute them.
  • Why are you attending: I need less bugs in my code. It's hurting our business and our customers.