Course code: CSR-1
  • Years with company: 9 months
  • Years programming: 17
  • Primary programming language: C
  • Other programming languages: None at the moment, all sorts in the past Java, C++, Haskell, Occam, Python..
  • Unit test harnesses: Unity
  • Something else: Not a fan of tea or hot drinks in general, which may be considered strange for an Englishman!
  • Test practice now: Unit testing for the areas where unit tests currently exist. Nightly smoke tests for daily builds, full system testing for release candidates.
  • Target system: Typically an eval board, containing one of our bluetooth chips with a whole bunch of peripherals around it to exercise all the functionality designed into our code base - buttons, I2S amplifiers, microphone inputs etc
  • Dev tools: In -house IDE and tools
  • Build time: 1-5 minutes
  • Coding standard: I try to folllow everything learned from Clean Code by Bob Martin, unfortunately our existing code base doesn't in a lot of places
  • Function too long: When it looks too long usually! If it does more than one thing or is more than about 20 lines of code then I'd consider it too long.
  • Code reviews: Changes are made to the code through changelists, and every changelist must be reviewed by someone qualified to review the specific area, before submitting.
  • Code time: 15
  • Test time: 60
  • Debug time: 25
  • Favorite thing about dev: Challenge of coming up with elegant solutions to problems.
  • Least favorite thing about dev: Random results when testing on real hardware, working on hard to follow or rotten code.
  • Tdd knowledge: Basic idea & the benefits - identify new functionality, write failing test to exercise it, add minimum code required to pass test, refactor, re-test, repeat - leaving a suite of tests to be used to give confidence when modifying code in the future.
  • Why are you attending: To further my knowledge and use it to improve our code base! I completely buy in to the methodology and the benefits it brings, but having never used it before it can sometimes be hard to see how to apply it in the best way to what we do.