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