Course code:
WEB-12
Years with company:
3
Years programming:
3 years of embedded C (aggregate over several years)
Primary programming language:
C
Other programming languages:
Python, VHDL, Verilog, Matlab
Unit test harnesses:
None
Something else:
BSEE and MSEE. Long time (24 years) RF hardware engineer. During that time have intermittently wrote embedded C. Did a 7 year stint implementing DSP algorithms in FPGAs (Matlab and VHDL) for military RF modems. Writing embedded C about 60 % of my time now (RF hardware the other 40%). I love programming and want to become an expert in that area. Old dogs can learn new tricks and have fun doing it.
Test practice now:
Manually
Target system:
ARM Cortex M4. GPS, Bluetooth, UHF RF transciever
Dev tools:
gcc compiler, VisualGDB and Visual Studio, Segger J-Link debugger
Build time:
11-30 seconds
Coding standard:
Nothing formal. Small company
Function too long:
More than 1.5 screens long and difficult to explain to another engineer
Code reviews:
None (I know this needs to change)
Code time:
30
Test time:
30
Debug time:
40
Favorite thing about dev:
I love the creative process of making a new product work. For many years I always designed the hardware and someone else did the code. Now I am doing both and it feels empowering to understand both disciplines. It is fun.
Least favorite thing about dev:
I hate it when our customers have bad experiences with our products because products were deployed with bugs.
Tdd knowledge:
Have read about 50% of your book. Plan to finish it this weekend before course starts. Have listened to Embedded.fm episode 109. Have watched Bob Martins 3 laws of TDD a couple of times recently.
Why are you attending:
We are hiring more engineers soon and I want to have the entire team doing TDD. I want to become an expert embedded firmware engineer also. I believe TDD will be a critical part of this. I want our company to succeed.