Course code: BARR-10
Years with company:
Primary programming language:
Other programming languages:
Java, C#, shell
Unit test harnesses:
junit. https://github.com/keithn/seatest modified to run on-unit for our firmware. I created a number of pseudo unit-tests with it, but the team didn't adopt it. In addition, we ran out of room on our processors to keep the tests around.
I have a 6 year-old daughter, so spend most of my time outside of work with her. My wife runs a photography business, so I get to be involved in her creative process and running of her business.
Test practice now:
Hand testing, a custom in-unit test framework is sometimes utilized. CLI environment and debugger often used to introduce conditions. Custom code to change paths.
Microprocessors, typically ARM based running FreeRTOS, but a decent number of Microchip PICs. Some Embedded Linux is appearing. Some java for non-embedded.
IAR, Jenkins for Continuous build. Segger J-Flash. Tracealyzer
It is not formalized. However we do have pretty consistent coding standards. We notice coding standard issues in code reviews (although this is not the focus of the reviews).
Function too long:
We don't. I'm personally evolving to write shorter functions, however my entire team is not on the same path. Architecture is helping with this a bit as our architecture is well defined.
We try to review everything.Reviews are deskchecks for small changes, meetings w/ 2-4 people for bigger changes. Focus on fitting in the code architecture + error paths. Led by the developer.
Favorite thing about dev:
Taking on a new challenge and meeting it. Learning new things. Delivering successful product.
Enabling others to be more successful via training or tools.
Collaborating with others. Solving difficult architecture problems in clean ways.
Least favorite thing about dev:
Schedules that don't allow for things to be done right! Politics.
Create test. Run test. It will fail. Write code. Run test. It should pass.
Why are you attending:
I have wanted to introduce unit and automated tests for our firmware projects for years. My organization is getting behind the need for unit level tests to supplement the system level testing we already do.