Course code: EM-1
  • Years with company: 5
  • Years programming: 2012
  • Primary programming language: c++
  • Other programming languages: C,JS,QT/QML
  • Unit test harnesses: None
  • Something else: I really enjoy mountain biking.
  • Test practice now: Most of my project history is embedded oem projects where I am the hardware and firmware engineer. The firmware tests are functional when bringing up a board. When writing the application firmware the testing is done with some rough data simulations and then validated on the machine itself in our lab. As features are added the firmware is sent to customers so they can begin using their equipment and provide feedback.
  • Target system: Typically embedded boards with 32bit microcontrollers. I also work quite a bit on embedded ARM Linux platforms.
  • Dev tools: Visual Studio MPLAB Atmel Studio QT Creator
  • Build time: 11-30 seconds
  • Coding standard: I try to keep the functionality modular to aid in complexity. I like keeping the main loop very clean with other functionality occurring in related threads or interrupts.
  • Function too long: When you find yourself getting lost in for and while loops and various case statements.
  • Code reviews: Before a project starts or a new complicated phase I will have architecture reviews with another engineer to get second opinions on my intended approach. On collaborative project reviews would happen before a release.
  • Code time: 50
  • Test time: 25
  • Debug time: 25
  • Favorite thing about dev: It is fun making things work.
  • Least favorite thing about dev: When the project requirements change over time and don't match the original functionality the code was written for. The design is no longer the most efficient or elegant way of solving the problem but you don't have time to start the project over.
  • Tdd knowledge: Very little other than what the concept implies.
  • Why are you attending: My boss is using it as part of an effort to incorporate agile development into the engineering process.