TDD for Embedded C
2019-06-13 00:15:27 UTC
Most useful learnings:
The TDD for Embedded C training course provided a systematic approach in how to develop high-quality testable software systems. The course consolidated my existing TDD experience, and further ingrained the necessary good habits, practices, and software design ideas required to be confident in applying the TDD methodology in my own workflow.
The combination of lectures, labs, excellent discussions, and being able to listen to James's thought process, while working through common and uncommon TDD scenarios, showcased the necessary methodology to employ TDD successfully.
Concepts v exercises:
Not enough exercises
Presentation v discussion:
Too much presentation
Perhaps providing exercises for multiple skill levels, e.g., beginner, intermediate, advanced, and letting each student self-select into a category, will allow the teasing out of other problematic areas for students. The exercises could be left up for a few days after the course as well to allow students to continue to engage in the material.
James did a great job presenting the course material. He also adapted the course through student-inspired discussion related to real-world scenarios and enhanced by his vast experience in the subject to provide a meaningful experience to all attendees, regardless of level of expertise.
Bring it on!
Yes. I have been trying to use TDD exclusively in the past, albeit unsuccessfully. The course provided insightful ideas detailing how to reason about hard-to-test situations. I'm eager to revisit the situations that previously caused me problems.
Challenges to applying:
No challenges for me personally. I traditionally work on projects independently, and I am given the freedom to develop software using my own processes. Workflow is a fluid concept, and I am personally trying to reconcile how to fully incorporate TDD into all of my software development. Ultimately, I would like to try and persuade colleagues to adopt TDD because it would improve the quality of software overall, and reduce the amount of technical debt incurred overtime.
Legacy code workshop:
Recommend to others: