Course code: 8TH-1
  • Years with company: 2
  • Years programming: 3
  • Primary programming language: Ruby
  • Other programming languages: Javascript, Java, C++
  • Unit test harnesses: Rspec, Jasmine, JUnit, Catch
  • Something else: I am using C++ on my own time for Arduino toy projects. I have practiced TDD with C++ (Catch framework) outside Arduino projects but never when writing code for micro controllers.
  • Test practice now: On client projects I practice TDD to write any production code. On Arduino projects I just write some code, deploy it to the micro controller and check if it worked.
  • Target system: Micro Controllers
  • Dev tools: Currently just the Arduino IDE.
  • Build time: Under 10 seconds
  • Coding standard: I usually aim towards well abstracted, clean and dry code.
  • Function too long: I usually judge a function by how many things it does and not necessarily how many lines of code it has.
  • Code reviews: Currently I am the only one exposed to this code. (No code reviews)
  • Code time: 30
  • Test time: 20
  • Debug time: 50
  • Favorite thing about dev: I like writing clear instructions for a machine to execute. The part that I like about micro controllers is that I could see my code affect the physical world around me.
  • Least favorite thing about dev: I am yet to find that part...
  • Tdd knowledge: TDD is a tool for guiding good software design. Code that is hard to test, is also hard to understand and change. TDD is also a way of documenting what your code does. As a side effect you get automated tests that check the integrity of your system.
  • Why are you attending: I am really interested in learning about embedded systems. While it's very rewarding being in this journey on my own, I think I could advance quicker working with some of my coworkers under the guidance of an experienced person.