Course code: ZEBRA-3
  • Years with company: 9
  • Years programming: 12
  • Primary programming language: C
  • Other programming languages: C++
  • Unit test harnesses: Have used boundary checks, memory checks, assert statements associated with the failures
  • Something else: I am a firmware engineer currently working on scanners and scan engines. I work on low level software and RTOS based embedded software development.
  • Test practice now: I test the code on the hardware development board and units, using JTAG interface. For unit testing, I perform boundary and memory checks, use 'assert' statements whereever appropriate for a graceful reset of the system.
  • Target system: ARM based scanner development system
  • Dev tools: Greenhills debugger
  • Build time: 1-5 minutes
  • Coding standard: We use ANSI C, use the coding guidelines about appropriate use of variables, functions, use of global variables, and use proper commenting with function/file headers
  • Function too long: If there are nested control structures within, if the function doesn't fit the height of the display, if there are more logical functionality within a function, if a function cannot be tested using a simple unit test
  • Code reviews: Use code collaborator for peer code reviews
  • Code time: 40
  • Test time: 30
  • Debug time: 30
  • Favorite thing about dev: It is interesting and challenging. I get to keep learning new developments/technologies
  • Least favorite thing about dev: With developing software, we are required to deal with new last minute requirements and come up with workarounds. This leads to last minute bugs and some timing issues, which require the system to be completely retested, even for minor updates
  • Tdd knowledge: In TDD, requirements are turned into very specific test cases, then the code is developed to pass the new test cases only. This process relies on very short development cycle.
  • Why are you attending: I would like to understand TDD and agile methodologies in depth, which would help us to evaluate and use these methodologies for future work/projects