Course code: DEV-1
  • Years with company: 10
  • Years programming: 10
  • Primary programming language: C/C++
  • Other programming languages: Python
  • Unit test harnesses: Boost test
  • Something else: I've been working on embedded SW projects (in the consumer electronics area) for the past 10 years. Started with pure C, these days it's both C and C++
  • Test practice now: Unit test for the C++ modules are run automatically on each build. For the C part it is still a manual process that has to be run on every change. In addition to that there's your everyday dev testing on the different embedded targets we deploy to
  • Target system: 3 different embedded platforms each running a different version of Linux (+1 PC Linux target)
  • Dev tools: QtCreator, proprietary build system (based on Scons)
  • Build time: 31-60 seconds
  • Coding standard: Internal standard (more like best practices)
  • Function too long: Ideally if you can't fit it on a screen, in real life if you can't recall which branch of the logic got you to the line you are reading now
  • Code reviews: Web-based reviews using Reviewboard, the reviews are posted to the whole competency team working on the component
  • Code time: 40
  • Test time: 20
  • Debug time: 40
  • Favorite thing about dev: Solving hard problems and making things work
  • Least favorite thing about dev: Undocumented APIs, excessive management overhead, pressuring schedules and last minute changes
  • Tdd knowledge: I know the general principle of writing a test first and then implementing only enough functionality to make the test pass. I'm also familiar with some research on quality vs the cost of TDD
  • Why are you attending: TDD for "web development" is all over the place and you can find all you want about it on the web, for embedded it's a lot harder to get information, this looks like a great chance to get some real solid knowledge of TDD