Course code: WEB-33
Years with company:
Primary programming language:
Other programming languages:
C, C#, PowerShell, Python
Unit test harnesses:
Unity (ThrowTheSwitch), MSTest/VSTest
MSc in Computer Science. Originally more of a C# developer (still actively developing with for non-embedded), dived into embedded software engineer for space systems 14 years ago for a CubeSat project.
Test practice now:
Unit Testing, low-level functionalities on embedded hardware (manual runs) and high-level functionalities on x86 HAL (partial emulation) in CI
Integration testing with test procedures remotely commanding embedded software and verifying result of execution.
Partial integration testing with software running on x86 emulation.
Spacecraft subsystems, either FRAM-based MSP430 (12Mhz, ~40KB firmware size, ~12KB data memory), or Cortex-M3 (100Mhz, ~64KB firmware size, 64KB RAM).
Visual Studio with VisualGDB extension
GCC toolchains (x86, MSP430, ARM) and VC++ (x86)
C++17 with strict subset (no dynamic allocation / no heap)
cppcheck static code analysis
Short and clear code, "every line must be there for a good reason".
Function too long:
Contains code that can be shared with others or duplicates existing.
Contains more than one "functionality".
Lost track of what it is exactly doing before reaching end.
Through pull requests for major features, not always for smaller.
Lot of room for improvements.
Favorite thing about dev:
Creating something, innovating. Finding clever solution to challenges.
Least favorite thing about dev:
Uncertainty of what is needed, changing requirements.
Dependency on other parts not always in your control (libraries, hardware, etc.)
Principles and theory from studies, lack practice.
Why are you attending:
Practical TDD deep dive, how to improve our standards and test skills.
Both as a developer point of view (what should I do correctly) but team lead too (how should I coach others, what should I require from team).