Course code: CIR-1
  • Years with company: 1
  • Years programming: 5
  • Primary programming language: C
  • Other programming languages: C++, Python, Java
  • Unit test harnesses: Just the ones within Cirrus Logic
  • Something else: Started my career in a start up building bluetooth smart mouth guards. Train for American Ninja warrior in my free time.
  • Test practice now: Using Logic Analyzers to monitor proper execution, Unit tests to look at modular code, ...
  • Target system: I work on ARM M0+ and Arm M4 (+ possible bluetooth SOC) devices. Some of my projects also involve system tests involving a host pc or smart phone app.
  • Dev tools: Keil, Jlink, Salea Logic analyser, WireShark, MCUXpresso
  • Build time: 11-30 seconds
  • Coding standard: Cirrus has a coding standard that I follow: Ending names with _g if they are global, no trailing white spaces,...
  • Function too long: 100 lines is a general rule I follow. If I'm making a state machine where each state might consist of several lines, I'll usually break that up into each own function.
  • Code reviews: Most of my reviews are on small features or patches. I tend to focus on readability and correct logic. There's much to the part that I'm still understanding so, this is what I focus on.
  • Code time: 50
  • Test time: 20
  • Debug time: 30
  • Favorite thing about dev: I like bringing things together that make an impact in the real world. Writing firmware gives me this joy.
  • Least favorite thing about dev: Sometimes it may be difficult to get information on parts of code outside of your project. (Blockers rather), In addition, sometimes the build system generates erroneous warnings/errors.
  • Tdd knowledge: I've read and skimmed different sections of the book. Not mastery in any sense of the word.
  • Why are you attending: I do a lot of development outside work that integrates embedded systems with different systems. I'm still hacking things together. This could serve as a good basis to improve my development processes.