Course code: BARR-9
  • Years with company: 1
  • Years programming: 15
  • Primary programming language: C
  • Other programming languages: C++, JavaScript, Python
  • Unit test harnesses: Catch, Jasmine
  • Something else: I taught myself to code when I was young in order to modify video games. I studied Electrical Engineering in college with very little software instruction, but my career has taken me in the direction of software leadership. I have continued to self-teach in an effort to learn and establish the best possible practices for my team.
  • Test practice now: I have recently started writing unit tests alongside new code. Previously, I would run code and observe its behavior.
  • Target system: Proprietary ARM-based hardware for use in aircraft.
  • Dev tools: Green Hills MULTI, Eclipse, Jira, Git
  • Build time: 11-30 seconds
  • Coding standard: Proprietary, derived from JSF++ and MISRA-C.
  • Function too long: When the expected output is unclear.
  • Code reviews: We use pull requests to check code against our standard and look for anything concerning. More relaxed when prototyping.
  • Code time: 55
  • Test time: 10
  • Debug time: 35
  • Favorite thing about dev: I like to create tangible, useful programs and systems that contribute to a larger product. Writing helpful software that I can be proud of is very fulfilling.
  • Least favorite thing about dev: Debugging and refactoring legacy code.
  • Tdd knowledge: It is a technique for writing testable code by writing tests first. Code that is testable is inherently high quality, but writing testable code is not always intuitive. TDD provides a way to achieve this quality with minimal effort.
  • Why are you attending: I would like my team to adopt TDD for our embedded software development. I proposed this training because I believe it will be an effective way to learn good habits and improve my understanding.