Course code: WEB-33
  • Years with company: 25
  • Years programming: 40
  • Primary programming language: C#
  • Other programming languages: C/C++, Matlab, Labview
  • Unit test harnesses: There is some unit test framework for C# and the .NET Micro Framework that we use but I can't remember the name.
  • Something else: I'm a mechanical engineer who develops systems for oceanographic research. I've done a lot of electrical engineering e.g., instrumentation, signal processing systems, autonomous platforms. I was dragged into the embedded software development world kicking and screaming about 10 or so years ago. I started off trying to figure out what the "best practices" were and was appalled at the range of so-called best practices. I've been trying to develop a disciplined approach to SW development ever since and am really hoping this class will help.
  • Test practice now: Unit tests, higher level functional tests, benchtop simulators that mimic the ocean in some small way, systems tests in our test tank, test at sea.
  • Target system: Various ARM processors, currently developing a STM32H7A3 based system. Not a lot of heavy duty computing but we do need to run control loops at a deterministic rate (usually less than 100 Hz). And we have to interface to a lot of instruments.
  • Dev tools: Visual Studio
  • Build time: 11-30 seconds
  • Coding standard: Wish I had some?
  • Function too long: Anything I wrote when I first started writing serious embedded code 10 years ago is too long. Now my functions are generally less than a 100 lines or so.
  • Code reviews: I grew up as an engineer at a defense contractor where design reviews of all kinds were a critical part of my job. I've been at MBARI, an academic oceanographic research institute, for 25 years and formal design reviews are not so effective.
  • Code time: 20
  • Test time: 50
  • Debug time: 30
  • Favorite thing about dev: I think of my self as a systems engineer and need to have some knowledge about and experience with every part of the systems I develop. Well designed and implemented control loops are particularly satisfying.
  • Least favorite thing about dev: Not having a disciplined approach to software development and not having enough experience at it.
  • Tdd knowledge: I've skimmed your book and watched one of your conference presentation videos and understand the principles.
  • Why are you attending: I have a fairly disciplined approach to mechanical electrical and systems engineering. Developing a similar approach to software development has been painful. I'm hoping this class will get me much further up the leaning curve.