Course code: WEB-24
  • Years with company: 2
  • Years programming: 10
  • Primary programming language: C++
  • Other programming languages: C, python
  • Unit test harnesses: CppUTest, Visual Studio unit test, VectorCast, Parasoft, Quantum leaps QUTest
  • Something else: I have mostly worked in safety-critical medical device embedded software. My current project is mostly C++. Before this I was at Illumina, using C. I have an MS in CS from UCSD. My undergrad degree is in Bio-engineering however my first job inspired me to transition to SW development.
  • Test practice now: Quantum leaps QUTest, custom framework for automating on target tests, VectorCast and remaining adhoc/manual tests on legacy code
  • Target system: My team develops FW for medical feeding pumps - the project I work on has 2 embedded Stm32L4 MCUs
  • Dev tools: IAR, Visual Studio, Surround SCM/Helix for version control and requirement management, Jira/Confluence for planning/tracking, Quantum Leaps QM for state-machine modeling
  • Build time: 1-5 minutes
  • Coding standard: The coding standard was created before I joined: C++. No go-tos/exceptions. Some specifics on naming - Nouns/objects Verbs/functions. We do not use Hungarian notation. Specifics on braces/spacing.
  • Function too long: If it is trying to do more than 1 thing.
  • Code reviews: Required. We do them every "story" - present company has a longer turn around than I am used to.
  • Code time: 80
  • Test time: 10
  • Debug time: 10
  • Favorite thing about dev: I like how collaborative it is. I like the quick turn-around time from creation to test compared to other engineering disciplines.
  • Least favorite thing about dev: Working with remote teams can make communication challenging. Maintaining legacy code can be challenging when there are no automated tests set up.
  • Tdd knowledge: I have read and use your "TDD for embedded systems" book as a reference. However in practice, only one of my projects followed TDD and that was because it was primarily algorithm implementation (pre-determined golden references for all inputs).
  • Why are you attending: My team is not happy with the unit testing approach on other projects. We are trying something new on this one. I want to make sure we are on the right track and get ideas for improvement.