Course code:
BARR-5
Years with company:
4.5 years
Years programming:
20+ years
Primary programming language:
C (microcontrollers) and Python (host code)
Other programming languages:
C++, have used many more in the past, starting to learn Elixir
Unit test harnesses:
cpputest, cmockery, unity, Google Test, Boost Test, unittest (Python)
Something else:
I am currently working my own toy programming language and writing a compiler from scratch as a learning exercise. I started with ply and lex/yacc, but neither really supports my chosen language syntax (white-space significant).
Test practice now:
Unit tests using TDD where practical and system-level feature/regression tests. For full system development, I often perform system-level fuzzing tests.
Target system:
Varies by customer, but often Cortex-M class microcontrollers
Dev tools:
C: gcc + openocd + eclipse, Python: PyCharm, cmake. Visual Studio on Windows.
Build time:
Under 10 seconds
Coding standard:
Varies by customer
Function too long:
When you cannot explain its purpose on one line or when it needs comments in the body to explain how it works.
Code reviews:
Infrequent by others as my consulting is often sole-developer for a product or specific features. Lint and -Wall -Wextra -pedantic are my friends.
Code time:
35
Test time:
35
Debug time:
30 (including system testing)
Favorite thing about dev:
The challenge and continuous learning. Working with people to create great solutions.
Least favorite thing about dev:
Fighting with tools and poorly written code. Bureaucracy. Solving the same problem over and over.
Tdd knowledge:
I use it frequently.
Why are you attending:
Possibly teaching it in the future!