Course code:
WEB-5
Years with company:
2
Years programming:
45
Primary programming language:
C (this year)
Other programming languages:
C++, Python
Unit test harnesses:
TestRunner and a plethora of "home-brew" tools
Something else:
I'm 2 weeks older than Bill Gates. Counting dialects, I've used more than 30 programming languages, some of which I'm sure you've never heard. I've written assembly code for at least 4 different CPUs. I've professionally programmed for more than 40 years, 36 of that full-time. I've been on design teams for 7 custom CMOS ICs and was sole developer on 1 analog/digital custom IC. Given all that, I'm relatively new to embedded code (about 7 years or so).
Test practice now:
It is a mix of:
- hand-walking through new code with a simulator/emulator
- hand-generated dedicated unit-tests
- creation of special top-level regression tests
- pass through the suite of regression tests
Target system:
Embedded multi-core ARM SSD drive
Dev tools:
SlickEdit, gcc, ddd, ARM compiler, pylint, TestRunner (this year)
Build time:
1-5 minutes
Coding standard:
Covers naming conventions, coding style,
Function too long:
When it's longer than 3-4 pages long. Common practice here is much longer than that.
Code reviews:
Run in Code Collaborator
Code time:
35% (includes design)
Test time:
40%
Debug time:
25%
Favorite thing about dev:
The act of encoding ideas into logic.
Least favorite thing about dev:
Project politics, redirection from above, poorly stated and/or shifting objectives.
Tdd knowledge:
Colleague did review of your class after taking it.
Why are you attending:
Two reasons:
1) Boss said I had to, but also
2) I *love* code. Anything that helps me do a better job is worth learning.