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.