TDD for Embedded C
2016-06-10 00:31:34 UTC
Most useful learnings:
Lots of little bits of C, including bitwise operations. I expected, given exercises preconfigured to run a premeditated sequence of design-driving microtests, to get to hang out in fast-feedback land and learn effectively. I got just what I expected.
I took the course as a TDD programmer wanting to learn C, fully aware that I'm not your primary target audience. I did what I needed to do to get the value I was after. For instance, during presentations, I often continued to work silently (sometimes accompanied by my pair), and when we hadn't completed the day's exercise, I worked the rest of the way through in the evening or the following morning.
Given my goal in taking this course and your goals in offering it, I'm not sure what value my feedback will have to you. Please season with however many grains of salt are required. :-)
Concepts v exercises:
Not enough exercises
Presentation v discussion:
Too much presentation
If most participants were more like me, I'd trade the presentations for more exercise time.
Since most participants are probably not like me, I'm not sure what I'd trade away to get more of something else. The topic is large and three 5-hour sessions is not a long time. The exercises felt realistic enough. I very much appreciated how easy it was to get a first red test, and to have a well-designed test list to spare me from having to juggle thinking about the domain and the language. Thinking about the language was plenty!
As I mentioned in discussion, I was surprised when there was global context. Coming from TDD-land, I expected (and kinda wanted) to need to do more explicit setup, and in so doing to discover the dependencies between components. It slowed me down a bit until I understood more about what was happening. It would have slowed me down considerably less had I been paying more attention to that presentation. ;-)
I was particularly impressed with the timeliness and precision of help you offered during the exercises.
Not yet -- haven't yet gotten CppUTest to do its thing on my dev machine. Working on it.
Challenges to applying:
Getting assigned to a project where we're doing embedded C development. They're not as common for us.
I was already familiar with Cyber-Dojo, and (especially with the instructor dashboard) it was a very natural fit for what we were doing. At times I missed being able to do $EDITOR things, but that was minor.
The main technical annoyance, since my pair and I were also remote from each other, was that during exercises, whenever you addressed someone, we each needed to mute ourselves in Screenhero to avoid lots of echo from the WebEx conversation. We got somewhat good at it by the end.
Legacy code workshop:
Recommend to others: