• Course: TDD for Embedded C
  • Date entered: 2019-06-13 00:15:27 UTC
  • Course rating: Excellent
  • 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
  • Course improvements:
  • Exercise rating: Very Good
  • Exercise improvements: 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.
  • Instructor comments: 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.
  • Better prepared: Bring it on!
  • Start tomorrow: 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.
  • Other comments:
  • Legacy code workshop: No
  • Recommend to others: Yes
  • Quote permission: No