Course code: MICRON-8
Years with company:
Primary programming language:
Other programming languages:
Python, Java, C++
Unit test harnesses:
Python unittest, JUnit
I'm the firmware architect and lead for the 3rd-gen 'Hybrid Memory Cube' program.
Test practice now:
Tests are primarily Python-driven via a unittest-derived class library. These execute against the product firmware in various targets in emulation, simulation and actual silicon. We also have some standalone variant builds tested via Python, SystemVerilog and C.
Its a management ASIC for controlling stacked DRAM die.
GNU-derived C compilers, Visual C, make, Eclipse, Source Insight
Primarily a set of C naming and coding guidelines based on Barr Group embedded C standards (and others), checked via splint and astyle
Function too long:
We have to support patching at the function level so we are careful about function sizes. Typically >300 bytes (compiled) is too big.
Offline peer review, collaborative walkthrough, resolution action-list
Favorite thing about dev:
I like building things and figuring out why they don't work like they are supposed to.
The ability to learn, adapt and extend software on a faster timeline than logic hardware or physical stuff.
Mentoring and teaching others.
Least favorite thing about dev:
Branching and merging.
Requirements capture is painful, requirements sign-off is almost impossible.
Mentoring and teaching others...
Not a lot. I think our current approach is test-focused, but I may be way off.
Why are you attending:
To learn about TDD, and how it could help our planning/estimating/development/verification methodologies.