Course code:
TAN-001
Years with company:
4
Years programming:
4
Primary programming language:
C
Other programming languages:
Python
Unit test harnesses:
Custom in-house harness for embedded C
Something else:
My background isn't computer science, I studied EE back in undergrad and worked in the industry for it. My current job is my first real exposure to software engineering.
Test practice now:
We unit test our embedded C code on the host using a custom harness with type-specific assertions. Tests run via CMake/CTest with gcov coverage tracking. CI runs everything automatically on every change.
Target system:
We have ARM and NRF processors.
Dev tools:
IAR Embedded Workbench, CMake, GCC, Git, Python scripts, gcov/lcov, Bamboo CI, JTAG debuggers.
Build time:
1-5 minutes
Coding standard:
Fixed types, null checks, short functions, no magic numbers, zero warnings, consistent formatting.
Function too long:
When it's hard to understand, has multiple responsibilities, or becomes difficult to test.
Code reviews:
If a code change is large, we have PR review to go over ti changes.
Code time:
10
Test time:
5
Debug time:
20
Favorite thing about dev:
Seeing code work properly on the hardware.
Least favorite thing about dev:
Maintaining legacy code without clear documentation.
Tdd knowledge:
I don't know much except it's a type of development where we write tests first.
Why are you attending:
I want to become a better software engineer.